Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence) Англоязычный канал по DS и Machinelearning -https://t.me/ds_international По сотрудничеству - @g_abashkin
🔥 Самые интересные статьи за последние дни:
• Всё, что вы хотели знать о Django Channels
• Сборка Python проекта с uv и Docker
• DE-1. DIY ассистент на LLM
• Ваши генераторные выражения сломаны: чиним и разбираемся
• Всё, что вы хотели знать о Django Channels
👩💻 Пишем свой PyTorch на NumPy. Часть 1
PyTorch — это мощный и гибкий фреймворк для машинного обучения, широко используемый для создания нейронных сетей. Он особенно популярен благодаря простоте использования, динамическим вычислительным графам и богатой экосистеме инструментов для обучения моделей.
В этой статье мы реализуем собственную библиотеку машинного обучения на NumPy!
Читать...
Алоха, товарищи! Недавно в Сингапуре завершилась одна из главных конференций в мире ML — ICLR 2025, и Яндекс приглашает обсудить самые интересные доклады.
Где и когда проходит:
20 мая в офисе на Льва Толстого, 16 (или онлайн) пройдёт Yandex ICLR Recap — вечер инсайтов, мнений и прогнозов от сильных спикеров Яндекса.
Кто выступает:
👉 Артём Бабенко, руководитель отдела Research — расскажет, что нового в мире tabular DL и как меняются подходы к работе с табличными данными.
👉 Андрей Бут, лидер команды YandexGPT Alignment — даст срез по NLP: какие задачи сейчас на пике, что получилось, а что нет.
👉 Роман Исаченко, руководитель направления CV — покажет, как развивается компьютерное зрение и в какую сторону движется сообщество.
👉 Алексей Степанов, CTO международного поиска — поделится тем, как современные идеи ICLR применимы к ML-инженерии и поиску.
Будем обсуждать и делиться мнениями. Можно немного по холиварить. Это отличный шанс свериться с глобальной повесткой.
Регистрация уже открыта. До встречи на рекапе
⚙️ Есть ли у AMD перспективы в AI/ML/DL. Часть 1
В статье старший MLOps-инженер из Selectel рассказывает о сравнении документации AMD и NVIDIA в области AI/DL/ML: ожидания, реальность и погружение в хаос терминов
Читать...
🔎 Подборка вакансий для сеньоров
Senior Big Data Engineer (Data Management Platform) - Lamoda Tech
🟢Hadoop (YARN, HDFS, HBase, Hive), Spark, Airflow, Python, Scala, Java, SQL
🟢Доход не указан | 3–6 лет | Удалёнка/Гибрид
Data Engineer Senior - LIAN
🟢SQL, Hadoop (HDFS, YARN, HIVE), Apache Spark, Airflow, Kafka, Python, Java, Scala
🟢270 000 - 350 000 ₽ | Более 6 лет | Удалёнка
Senior Data Engineer - Sigma Sweden Software AB
🟢Spark (Scala), SQL, AWS (DynamoDB, Kinesis), Docker, Python/Ruby, Data Lake
🟢Доход не указан | 3–6 лет | Удалёнка/Гибрид/На месте
👀 Всё, о чём шепчутся в ИТ и бизнес-тусовках — уже в этой папке. Без шуму. Без "экспертов". Только факты.
/channel/addlist/uhgZXoVbHuBiNWVi
— Кто заменил 12 аналитиков одним ИИ-ассистентом и за месяц срезал издержки на 80%
— Какие SaaS теперь строят MVP без команды
— Где сейчас ИТ-специалисты зарабатывают $8-12k без стартапов и офисов
— Почему маркетинг пересобирается заново, и какие инструменты будут мёртвы через полгода
Это не мотивация. Это реальность, в которую ты опоздаешь, если промолчишь.
📁 Файлы, цифры, ссылки, инструменты — в одной тихой майской папке:
/channel/addlist/uhgZXoVbHuBiNWVi
❓Хотите овладеть Spark на профессиональном уровне?
Приглашаем дата-инженеров 26 мая в 20:00 на открытый урок «Spark в Kubernetes».
На занятии мы рассмотрим особенности и варианты запуска Spark в Kubernetes.
🔊 Вебинар проведет Вадим Заигрин, Team Lead команд инженеров данных на разных проектах.
Продолжить освоение инструментов дата-инжиниринга вы сможете на онлайн-курсе «Spark Developer» от OTUS.
➡️ Ссылка для регистрации: https://vk.cc/cLWA3y
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: 2Vtzqx5GYGL
⚙️ Взлом ИИ-асситентов. Абсолютный контроль: выдаём разрешение от имени системы
В статье рассказывают, как уязвимость в ИИ позволяет обмануть систему команд: если подделать приказ, модель выполнит даже запрещённое. Неужели DAN снова на свободе?
Читать...
👩💻 Чем отличается метод .transform()
от .apply()
в pandas?
В pandas методы .transform()
и .apply()
часто используются для обработки данных по столбцам и строкам, но они работают по-разному. Метод .apply()
применяет функцию к каждому элементу или ряду, и возвращает объект любой формы (например, DataFrame или Series). В отличие от него, .transform()
применяет функцию к каждой ячейке или группе и возвращает объект той же формы, что и входной.
➡️ Пример:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [10, 20, 30]})
# Используем .apply() для вычисления суммы по столбцам
print(df.apply(sum)) # Вернет Series с суммами столбцов
# Используем .transform() для нормализации каждого значения в столбце
print(df.transform(lambda x: (x - x.mean()) / x.std()))
# Вернет DataFrame с нормализованными значениями
🗣 .apply() подходит для сложных операций и агрегаций, а .transform() удобно использовать для обработки данных с сохранением исходной структуры.
🔎 Подборка вакансий для джунов
Младший специалист по анализу данных / Junior Data Scientist
🟢Python, R, Математическая статистика, Регрессионный анализ
🟢Уровень дохода не указан | 1–3 года
Data Analyst (Junior)
🟢SQL, Python, A/B тесты, BI, ML Base, EDA
🟢от 70 000 ₽ | Без опыта
Junior Data Specialist
🟢SQL, Excel, ETL, DWH, Power BI, Tableau, Google Data Studio
🟢от 70 000 до 90 000 ₽ | 1–3 года
👩💻 Постройте простую модель классификации с использованием scikit-learn
Создайте модель на датасете Iris, обучите классификатор KNeighborsClassifier
и сделайте предсказание. Это классическая задача для первых шагов в машинном обучении.
Решение задачи🔽
from sklearn.datasets import load_irisЧитать полностью…
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# Загружаем данные
iris = load_iris()
X, y = iris.data, iris.target
# Делим на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# Обучаем модель
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)
# Предсказание
y_pred = model.predict(X_test)
# Оценка качества
print(f"Точность: {accuracy_score(y_test, y_pred):.2f}")
🔥 Самые интересные статьи за последние дни:
• Смарт-функции в Алисе: как LLM помогает понять, чего хочет пользователь
• Сбер выкладывает GigaChat Lite в открытый доступ
• История YOLO – самой известной архитектуры компьютерного зрения
• Магия простоты: как мы улучшили отображение общественного транспорта на карте
• Обучение и fine-tuning моделей простым языком: зачем, как, где
🤔 Выбираем MLOps инструменты с учётом зрелости команды
В статье разбирают, как выбрать MLOps-инструменты под уровень зрелости команды: почему решений много, но не все подходят, и как не утонуть в многообразии вариантов.
Читать...
🌱 Не бойся признавать, что чего-то не знаешь
Легко притворяться экспертом и искать решение вслепую, но это затягивает процесс и создаёт ложное впечатление о твоих знаниях.
👉 Совет: если не знаешь ответа — так и скажи. Вопросы — не признак слабости, а стремления разобраться. Более того, честность повышает доверие в команде. Никто не знает всего — даже опытные разработчики иногда гуглят основы.
➡️ Как Duolingo юзает машинное обучение для прокачки английского: кратко и по делу
В статье рассказывают, как ИИ сделал Duolingo фабрикой языковых курсов: генерация контента, проверка ответов, адаптация заданий — всё на автомате. Учить стало быстрее.
Читать...
🎯 Разделяй свои задачи на «узкие» и «широкие»
Иногда ты работаешь над узкой проблемой (например, багом в функции), а иногда — над широкой (архитектурное решение). Легко запутаться, если смешивать такие задачи.
👉 Совет: планируй работу так, чтобы «узкие» задачи чередовались с «широкими». Так мозг не перегружается и сохраняется баланс между точечной работой и глобальным видением проекта.
🤔 ИИ с человеческим лицом: какие ошибки повторяют модели и что с этим делать
В статье рассказывают, почему ИИ, как и люди, подвержен когнитивным искажениям: самоуверенность, предвзятость и шаблонное мышление — как это влияет на бизнес и технологии
Читать...
👩💻 Как работает модуль os
в Python для работы с файловой системой?
Модуль os
в Python предоставляет инструменты для взаимодействия с операционной системой. С его помощью можно управлять файлами и директориями, получать информацию о системе и переменных окружения, а также выполнять системные команды. Этот модуль особенно полезен для кроссплатформенных сценариев.
➡️ Пример:
import os
# Получение текущей директории
current_dir = os.getcwd()
print('Текущая директория:', current_dir)
# Создание новой директории
os.mkdir('new_folder')
print('Создана директория new_folder')
🗣 os позволяет удобно и кроссплатформенно работать с файловой системой, выполнять команды и настраивать окружение.Читать полностью…
📈 Подборка статей для вашей карьеры
• Пришёл на вакансию дизайнера, а стал питонистом: как IT-специалисты нашли свою первую работу
• На сколько денег может рассчитывать ИТ-предприниматель в разных ветках развития
• Анализ задачи с собеседования в Google: конь и телефонные кнопки
• Быстрый старт в QA Fullstack: чем вооружиться будущему стажеру в Альфа-Банке
• Как убить самоорганизацию в команде: вредные советы для лидера
⚙️ INTELLECT-2: Первая большая (32B) параметрическая модель с распределенным обучением
В статье рассказывают о прорывной модели INTELLECT-2: обучение на рое вычислительных узлов вместо датацентров, асинхронное RL и инфраструктура, которую строили с нуля
Читать...
⚙️ Переходим от legacy к построению Feature Store
В статье рассказывают, как в Домклик внедрили Feature Store в проект с огромным legacy: неожиданные трудности, полезные инсайты и реальный профит от новой архитектуры
Читать...
👩💻 Построй визуализацию распределения признаков с автоматической категоризацией
Создайте функцию plot_distributions
, которая принимает DataFrame
и автоматически определяет числовые и категориальные признаки. Затем строит гистограммы или bar-графики в зависимости от типа данных. Это удобно для EDA (исследовательского анализа данных).
Решение задачи🔽
import pandas as pdЧитать полностью…
import matplotlib.pyplot as plt
import seaborn as sns
def plot_distributions(df, max_categories=10):
for column in df.columns:
plt.figure(figsize=(6, 4))
if pd.api.types.is_numeric_dtype(df[column]):
sns.histplot(df[column].dropna(), kde=True)
plt.title(f'Гистограмма: {column}')
elif df[column].nunique() <= max_categories:
df[column].value_counts().plot(kind='bar')
plt.title(f'Категории: {column}')
else:
print(f'Пропущен {column}: слишком много уникальных категорий')
continue
plt.tight_layout()
plt.show()
# Пример использования
df = pd.DataFrame({
'age': [23, 45, 31, 35, 62, 44, 23],
'gender': ['male', 'female', 'female', 'male', 'male', 'female', 'female'],
'income': [40000, 50000, 45000, 52000, 61000, 48000, 46000]
})
plot_distributions(df)
🔎 Подборка вакансий для мидлов
Middle/Senior Data Scientist в команду ETA/RTA
🟢Python, SQL, Pandas, Scikit-learn, XGBoost, LightGBM, CI/CD, Docker
🟢Уровень дохода не указан | 3–6 лет
Middle ML Engineer
🟢Python, Go, SQL, PyTorch, TensorFlow, Airflow, Triton Inference Server, Docker, Kubernetes
🟢Уровень дохода не указан | 1–3 года
Data Scientist/Разработчик машинного обучения (ML, NLP, LLM) Middle
🟢Python, numpy, pandas, sklearn, PyTorch, transformers, NLP, LLM
🟢Уровень дохода не указан | 1–3 года
⚙️ Model Context Protocol (MCP): как подружить нейросети со всеми API за пару кликов
В статье рассказывают, как новый протокол MCP от Anthropic стандартизирует взаимодействие LLM-агентов с сервисами и друг с другом. Грядёт эпоха упорядоченного ИИ-хаоса.
Читать...
⚡️Создаём свою нейросеть в PyTorch
Хотите быстро разобраться в PyTorch и написать свою нейросеть? Мы подготовили для вас вебинар, где на практике разберём все этапы создания ML-модели.
Вебинар проведет Владислав Агафонов — ML-инженер, ранее работал в Yandex и Huawei.
Что будет на вебинаре?
🟠Установим PyTorch в Google Colab и настроим работу на бесплатном GPU;
🟠Поймём, что такое тензоры и почему они — фундамент всех нейросетей;
🟠Скачаем готовый датасет, разберём его структуру и подготовим для обучения;
🟠Научимся использовать DataLoader для эффективной загрузки данных;
🟠Пошагово соберём облегчённую версию классической свёрточной нейронной сети (CNN);
🟠Обучим и протестируем модель.
🕗 Встречаемся 14 мая в 18:30 по МСК, будет много практики, ответы на вопросы и полезные инсайты от эксперта.
😶Зарегистрироваться на бесплатный вебинар
🧠 Языковые модели против мошенников: как LLM помогают бороться с отмыванием денег и финансовым мошенничеством
В статье разбирают, как LLM помогает банкам бороться с мошенничеством: от отслеживания подозрительных транзакций до анализа фишинговых схем — умная защита в действии.
Читать...
👩💻 Напишите функцию для расчёта Accuracy вручную
В машинном обучении Accuracy — это метрика качества классификации. Показывает, сколько предсказаний модель сделала правильно.
Решение задачи🔽
def accuracy_score(y_true, y_pred):Читать полностью…
correct = 0
for true, pred in zip(y_true, y_pred):
if true == pred:
correct += 1
return correct / len(y_true)
# Пример использования:
y_true = [1, 0, 1, 1, 0, 1]
y_pred = [1, 0, 0, 1, 0, 1]
print(accuracy_score(y_true, y_pred)) # 0.833...
👩💻 Предсказание цены дома по площади
Построить сверточную нейронную сеть (CNN) для классификации изображений из набора данных CIFAR-10.
Модель должна предсказывать класс объекта на изображении. Датасет CIFAR-10 содержит 60,000 изображений размером 32x32 пикселя, разделенных на 10 классов:
— Самолет, Автомобиль, Птица, Кот, Олень, Собака, Лягушка, Лошадь, Корабль, Грузовик.
Требования к модели:
• Использовать сверточные слои для выделения признаков.
• Применить слои подвыборки (пулинг) для уменьшения размеров карты признаков.
• Добавить полносвязные слои для классификации на основе выделенных признаков.
• Использовать функцию активации ReLU для скрытых слоев и softmax для выходного слоя.
• Оценить точность модели на тестовых данных.
Входные данные: изображения размера 32x32 с тремя каналами (RGB).
Решение задачи🔽
import tensorflow as tfЧитать полностью…
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# Загрузка данных
(X_train, y_train), (X_test, y_test) = cifar10.load_data()
# Нормализация данных
X_train, X_test = X_train / 255.0, X_test / 255.0
# Создание модели CNN
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])
# Компиляция модели
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# Обучение модели
model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))
# Оценка модели
loss, accuracy = model.evaluate(X_test, y_test)
print(f"Точность модели: {accuracy:.2f}")
🧠 Создаем свой RAG: введение в LangGraph
В статье объясняют, что такое RAG и как использовать LangGraph для генерации с дополненной выборкой: основы, примеры и подготовка к созданию собственных RAG-систем.
Читать...
❓ Как работает метод feature_importances_ в Python и зачем он нужен в Machine Learning?
Метод feature_importances_
— это атрибут некоторых моделей машинного обучения в библиотеке scikit-learn, который позволяет определить, какие признаки (фичи) наиболее влияют на предсказания модели.
Этот метод возвращает значение важности для каждого признака, показывая, как сильно он влияет на конечный результат. Его использование особенно полезно для деревьев решений и ансамблевых моделей, таких как RandomForest
и GradientBoosting
.
➡️ В примере ниже мы используем RandomForest
для анализа важности признаков и визуализации результатов.
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
import pandas as pd
# Загрузка данных
data = load_iris()
X, y = data.data, data.target
# Создание и обучение модели
model = RandomForestClassifier()
model.fit(X, y)
# Получение и визуализация важности признаков
feature_importances = pd.Series(model.feature_importances_, index=data.feature_names)
feature_importances.sort_values(ascending=False).plot(kind='bar')
🗣 Использование feature_importances_ помогает определить, какие признаки стоит использовать, исключить малозначимые фичи и сделать модель более интерпретируемой.