Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence) Англоязычный канал по DS и Machinelearning -https://t.me/ds_international По сотрудничеству - @g_abashkin
📈 Подборка статей для вашей карьеры
• Больше чем книга
• Как поставить цель на обучение, чтобы дойти до конца
• Движение вверх: как стать CTO — на примере пяти историй ИТ-директоров
• Найм дизайнеров глазами лида
• Software Architect vs Solution Architect
🚀 Качайте английский за счёт компании для работы в IT!
🌍 Хотите выйти на международный уровень в сфере разработки, аналитики, проектного управления или дата-сайенса?
Яндекс Практикум предлагает курсы, которые помогут уверенно общаться на английском языке в профессиональной среде:
✅ Вместо зубрёжки — симуляции интервью, рабочих созвонов и даже смолтока возле кулера
✅ Вас ждут встречи с иностранными IT‑специалистами и много разговорной практики
✅ Мы взяли за основу опыт работы Яндекса с международными партнёрами, чтобы вы освоили навыки, которые ценят зарубежные работодатели
✅ Поможем эффективно совмещать учёбу с работой
✅ Выдадим сертификат об окончании курса
👉 Курс может оплатить ваш работодатель, заполните форму, расскажем, как это устроено.
Реклама, АНО ДПО “Образовательные технологии Яндекса”, ИНН 7704282033, erid: 2Vtzqwp8UPz
👩💻 Задачка по Python
Напишите функцию, которая принимает строку и возвращает новую строку, из которой удалены все гласные буквы (a
, e
, i
, o
, u
в любом регистре).
➡️ Пример:
print(remove_vowels("Hello World")) # Ожидаемый результат: "Hll Wrld"
print(remove_vowels("Python is great")) # Ожидаемый результат: "Pythn s grt"
def remove_vowels(s):Читать полностью…
vowels = "aeiouAEIOU"
return ''.join(char for char in s if char not in vowels)
# Пример использования:
print(remove_vowels("Hello World")) # Ожидаемый результат: "Hll Wrld"
print(remove_vowels("Python is great")) # Ожидаемый результат: "Pythn s grt"
🚀 Самая мощная база экспертов в ИИ, бизнесе и IT — доступна уже сейчас!
Знаешь, что ИИ уже генерирует миллиарды долларов в бизнесе, но не каждый эксперт умеет его внедрять так, чтобы это реально работало?
Мы собрали тех, кто умеет:
🤖 ИИ-специалистов, которые делают решения, а не шум
📈 IT-разработчиков, которые не исчезают перед дедлайном
💡 Бизнес-экспертов, которые знают, как масштабироваться
⚡ Забирай доступ: 👉 /channel/addlist/dIy7Hza_1jgzYjFi
💼 Хочешь попасть в этот список? Оставь заявку здесь 👉 @RyabovaM
/channel/addlist/dIy7Hza_1jgzYjFi
👁Настройка dev-окружения для команды компьютерного зрения.
Что будет на вебинаре?
- Аренда и базовая настройка сервера для работы команды.
- Установка и настройка инструментов для ML-экспериментов
- Развертывание сервиса для разметки изображений CVAT.
Узнаете, как арендовать и настроить сервер для командной работы, что позволит им быстро развертывать инфраструктуру для новых проектов.
Научитесь настраивать MLFlow для отслеживания экспериментов, JupiterLab для удобной разработки и MinIO для создания общего файлового хранилища, что упростит совместную работу с датасетами и другими файлами.
Сможете развернуть CVAT для разметки изображений, что пригодится в проектах, связанных с обработкой и анализом изображений, таких как распознавание объектов, сегментация и т.д.
👉 Регистрация и подробности вебинара
https://vk.cc/cJPHvo
Вебинар проходит в рамках подписки OTUS, благодаря которой можно приобрести 3 курса по цене одного!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
🔎 Подборка вакансий для джунов
Junior Data Analyst
🟢SQL, Python, опыт в медицине
🟢от 1 500 до 2 000 $ | 1–3 года
Data Scientist
🟢GA4, Shopify, ClickFunnels, Klaviyo, Kajabi
🟢от 1 000 до 1 350 $ | 1–3 года
Junior Data Scientist
🟢Python (pandas, numpy, scikit-learn), статистика, комбинаторика
🟢от 70 000 до 100 000 ₽ | 1–3 года
🤖 Как развернуть LLM с помощью vLLM и TorchServe
Хочешь запустить большую языковую модель в продакшене, но не знаешь, как совместить простоту развертывания с промышленной надежностью? Комбинация vLLM и TorchServe решает эту задачу. Она обеспечивает как простой запуск, так и продвинутые возможности для масштабирования.
Читать...
Команда из финтех-компании Точка разобрала тему позиционного кодирования, чтобы понять, зачем оно нужно и как помогает увеличивать длину контекста в моделях обработки языков. Вопросы о позиционном кодировании часто возникают на собеседованиях по глубокому обучению, поэтому эта информация будет полезна, даже если вы не планируете реализовывать RoPE самостоятельно.
В серии из трёх статей рассматриваются все важные аспекты развития позиционного кодирования, включая RoPE, а также упоминаются такие модели, как BERT и LLM, даже Reddit. Если вас не устраивает текущая длина контекста в языковых моделях или энкодерах, рекомендуем почитать и попробовать внедрить предложенные решения.
Если вам интересны анализ инструментов, обзоры фреймворков и краткие изложения статей, подписывайтесь на канал Точки .ml!
👩💻 Задачка по Python
Напишите функцию, которая принимает DataFrame и заменяет отсутствующие значения (NaN) в каждом числовом столбце на среднее значение этого столбца. Если столбец содержит только NaN, оставьте его без изменений.
➡️ Пример:
feature1 feature2 feature3
0 1.0 10.0 NaN
1 2.0 NaN NaN
2 NaN 30.0 NaN
3 4.0 40.0 NaN
feature1 feature2 feature3
0 1.00 10.0 NaN
1 2.00 26.7 NaN
2 2.33 30.0 NaN
3 4.00 40.0 NaN
import pandas as pdЧитать полностью…
def fill_missing_with_mean(df):
numeric_columns = df.select_dtypes(include=['float', 'int'])
for column in numeric_columns:
if df[column].notna().any(): # Проверяем, есть ли значения не NaN
df[column] = df[column].fillna(df[column].mean())
return df
# Пример использования:
data = pd.DataFrame({
'feature1': [1.0, 2.0, None, 4.0],
'feature2': [10.0, None, 30.0, 40.0],
'feature3': [None, None, None, None]
})
result = fill_missing_with_mean(data)
print(result)
🔎 Подборка зарубежных вакансий
ML Engineer / AI Data Scientist (AI Intent Marketing)
🟢Python, Trino/Spark
🟢от 3 000 до 7 000 $ | более 6 лет
Game Data Analyst
🟢SQL, Python, R
🟢Уровень дохода не указан | 1–3 года
Data Engineer
🟢AirFlow, Python, Linux
🟢Уровень дохода не указан | 3–6 лет
🖥 Руководство по созданию приложения для поиска данных на основе агента GraphRAG
Статья описывает приложение, объединяющее GraphRAG и AutoGen-агентов с локальными LLM от Ollama для автономного встраивания и вывода. Рассмотрены ключевые аспекты: интеграция знаний, настройка LLM, вызов функций и интерактивный интерфейс.
Читать...
❓ Что такое Overfitting и как его избежать в моделях машинного обучения?
Overfitting (переобучение) возникает, когда модель слишком хорошо запоминает обучающие данные, включая шум, и теряет способность обобщать информацию на новых данных. Это приводит к высокому качеству на обучающем наборе, но плохим результатам на тестовых данных.
➡️ Основные способы предотвращения Overfitting:
1. Регуляризация:
• L1 и L2-регуляризация добавляют штраф к сложным моделям.
• Уменьшают коэффициенты модели, предотвращая избыточное подстраивание.
2. Dropout (для нейронных сетей):
• Исключение случайных нейронов на этапе обучения.
3. Снижение сложности модели:
• Использование меньшего числа признаков или более простых алгоритмов.
4. Увеличение данных:
• Генерация новых данных или увеличение объёма обучающей выборки.
from sklearn.linear_model import Ridge
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_diabetes
# Загружаем данные
data = load_diabetes()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)
# Создаём модель с регуляризацией (Ridge)
ridge = Ridge(alpha=1.0)
ridge.fit(X_train, y_train)
# Оцениваем качество
train_score = ridge.score(X_train, y_train)
test_score = ridge.score(X_test, y_test)
print(f"Train Score: {train_score}, Test Score: {test_score}")
📈 Подборка статей для вашей карьеры
• Пришёл на вакансию дизайнера, а стал питонистом: как IT-специалисты нашли свою первую работу
• На сколько денег может рассчитывать ИТ-предприниматель в разных ветках развития
• Анализ задачи с собеседования в Google: конь и телефонные кнопки
• Быстрый старт в QA Fullstack: чем вооружиться будущему стажеру в Альфа-Банке
• Как убить самоорганизацию в команде: вредные советы для лидера
🔥 Самые интересные статьи за последние дни:
• Смарт-функции в Алисе: как LLM помогает понять, чего хочет пользователь
• Сбер выкладывает GigaChat Lite в открытый доступ
• История YOLO – самой известной архитектуры компьютерного зрения
• Магия простоты: как мы улучшили отображение общественного транспорта на карте
• Обучение и fine-tuning моделей простым языком: зачем, как, где
🧠 Промпты для ChatGPT, которые могут повысить качество ответов ChatGPT
Это коллекция из 7 моих любимых промптов для ChatGPT (и моих самых используемых промптов), которые вы можете добавить в любой промпт и мгновенно сделать его в 10 раз лучше.
Читать...
📝 Подборка вакансий для сеньоров
Product Analyst•
SQL, Amplitude, Анализ данных, Веб-аналитика•
от 2 000 $ | более 3 лет
Дата инженер•
Python, Apache Hadoop, Apache Spark, Apache Airflow, Apache Kafka•
Уровень дохода не указан | от 2–3 лет
Senior Data Scientist в команду ценообразования•
Python, SQL•
Уровень дохода не указан | от 3 лет
🤔 Прогнозирование продаж с использованием библиотеки Prophet
Статья посвящена прогнозированию продаж FTTB-FMC для ежедневной отчетности. Рассматриваются подходы к анализу данных, ключевые KPI и методы, используемые для прогнозирования продаж в сегменте ШПД и конвергентных продуктов.
Читать...
✔️ 30k аудиозаписей: наводим порядок
Статья рассказывает, как организовать и обработать огромный архив аудиозаписей дневников, созданных задолго до эпохи современных speech-to-text технологий. Рассматриваются инструменты и подходы для упорядочивания данных.
Читать...
📝 Подборка вакансий для мидлов
Скоринг Middle Data Scientist•
Git, Python, базы данных•
Уровень дохода не указан | от 1 года
Data Scientist в команду RecSys (middle)•
Машинное обучение, SQL, Python, PostgreSQL, Git, TensorFlow, ClickHouse, Apache Airflow, Pandas•
Уровень дохода не указан | от 2 лет
Аналитик данных в сфере HR, middle•
SQL, Power BI, анализ данных, математическая статистика•
Уровень дохода не указан | от 2 лет
✔️ Как нейросети меняют работу дизайнеров
Статья раскрывает, как дизайнеры студии используют ИИ для усиления креативности в проектах. Обсуждаются инструменты и подходы, которые помогают сохранить индивидуальность и создать продуманный дизайн с помощью нейросетей.
Читать...
👩💻 Задачка по Python
Напишите скрипт, который удаляет дублирующиеся строки из CSV-файла на основе указанного столбца и сохраняет результат в новый файл.
➡️ Пример:
python remove_duplicates.py input.csv output.csv column_name
id,name,age
1,John,30
2,Jane,25
4,Bob,35
import pandas as pdЧитать полностью…
import sys
if len(sys.argv) < 4:
print("Использование: python remove_duplicates.py <input_file> <output_file> <column_name>")
sys.exit(1)
input_file = sys.argv[1]
output_file = sys.argv[2]
column_name = sys.argv[3]
try:
df = pd.read_csv(input_file)
df = df.drop_duplicates(subset=[column_name])
df.to_csv(output_file, index=False)
print(f"Дубликаты удалены. Результат сохранён в {output_file}")
except Exception as e:
print(f"Ошибка: {e}")
Ранее мы обсуждали с вами RoPE, а теперь поговорим о его модификациях. Собрали много интересного, поэтому будет целых три поста по этой теме. Enjoy!
Для начала напомним, что Positional Encoding (кодирование позиций слов/токенов) нужен, чтобы передать модели или трансформеру информацию о позициях слов — относительную или же абсолютную.
🔥 Самые интересные статьи за последние дни:
• Не бойтесь потоков в Python, они не кусаются
• Рубрика: VPS на пределе возможностей. LLM на CPU с 12Gb RAM
• Предвзятость русскоязычных LLM: кого машина считает «обычным человеком»?
• Семантический веб: краткий обзор технологий и инструментов
• Инструмент обеспечения качества данных: от теории к практике
⚙️ Умножение троичных матриц для нейросетей
Статья исследует использование троичных значений (-1, 0, 1) в нейросетевых матрицах. Рассматриваются методы хранения тритов с использованием 32-битной арифметики и подходы к их быстрому умножению через оптимизацию памяти.
Читать...
🧩 Работай с кодом, как с историей
Читаешь старый код и не понимаешь, как он дошёл до жизни такой?
👉 Совет: анализируй коммиты, историю изменений и комментарии к задачам. Это поможет понять, почему код стал таким, а не просто принять его как данность. Иногда не код плохой — просто контекст утерян.
➡️ Путь разметки данных для NER: от Open Source до Prodigy
Статья посвящена созданию обучающей выборки для NER. Описан опыт разметки данных с использованием Open Source инструментов и Prodigy, профессионального решения для ускорения процесса создания наборов данных.
Читать...
🤔 Практика: мой опыт интеграции более 50 нейронных сетей в один проект
Статья основана на полутора годах работы по внедрению нейронных сетей в веб-приложение с открытым исходным кодом. В ней собраны практические лайфхаки для решения реальных задач и преодоления сложностей, с которыми сталкиваются разработчики.
Читать...
📝 Подборка вакансий для сеньоров
Senior Data Scientist (LLM)•
Python, NLP, PyTorch•
Уровень дохода не указан | Старший (Senior)
Senior Data Scientist•
Python, NLP, PyTorch, Linux, Pandas•
Уровень дохода не указан | Старший (Senior)
Data-инженер DWH в Маркет•
Python, SQL•
Уровень дохода не указан | Старший (Senior)
👩💻 Классификация данных с использованием k-Nearest Neighbors (kNN)
Напишите функцию на Python, которая принимает обучающий набор данных, тестовый набор данных и значение 𝑘, а затем использует алгоритм k-ближайших соседей (kNN) для классификации тестовых данных. Функция должна возвращать предсказанные метки для тестового набора данных.
Пример:
import numpy as np
X_train = np.array([[1, 2], [2, 3], [3, 4], [5, 5]])
y_train = np.array([0, 0, 1, 1])
X_test = np.array([[2, 2], [4, 4]])
predictions = knn_classification(X_train, y_train, X_test, k=3)
print(predictions) # Ожидаемый результат: [0, 1]
from sklearn.neighbors import KNeighborsClassifierЧитать полностью…
def knn_classification(X_train, y_train, X_test, k=3):
model = KNeighborsClassifier(n_neighbors=k)
model.fit(X_train, y_train)
return model.predict(X_test)
# Пример использования:
import numpy as np
X_train = np.array([[1, 2], [2, 3], [3, 4], [5, 5]])
y_train = np.array([0, 0, 1, 1])
X_test = np.array([[2, 2], [4, 4]])
predictions = knn_classification(X_train, y_train, X_test, k=3)
print(predictions) # Ожидаемый результат: [0, 1]
🔎 Подборка зарубежных вакансий
Data Engineer
🟢SQL, Python, Apache Airflow, Tableau, ClickHouse
🟢Уровень дохода не указан | 3–6 лет
Marketing analyst
🟢SQL, Power BI, Marketing Analysis, Google Analytics, API, Business English
🟢от 2 500 до 4 000 $ | 1–3 года
Data Engineer
🟢DBT, Amazon Redshift, Fivetrain, Python, ETL, AWS, SQL
🟢Уровень дохода не указан | 5+ лет