Data Science | Machinelearning [ru] – Telegram
Data Science | Machinelearning [ru]
20K subscribers
639 photos
40 videos
29 files
3.53K links
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.

По вопросам рекламы или разработки - @g_abashkin

РКН: https://vk.cc/cJPGXD
Download Telegram
🤔 Выбираем MLOps инструменты с учётом зрелости команды

В статье разбирают, как выбрать MLOps-инструменты под уровень зрелости команды: почему решений много, но не все подходят, и как не утонуть в многообразии вариантов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Чем отличается метод .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() удобно использовать для обработки данных с сохранением исходной структуры.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
51
⚙️ Когда обучение не идет. Loss is NaN. Причины и решения

В статье разберут, почему при обучении нейросети loss внезапно становится NaN и модель ломается. Расскажут, какие бывают причины этого трэша и как спасти обучение без лишней боли.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
21
👩‍💻 Напишите функцию для расчёта 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...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
⚙️ Организация ML-проекта с примерами

Организация - это важно. То же относится к ML-проектам. Из каких компонент он должен состоять? Как оформить проект, чтобы всего хватало и было удобно это масштабировать? Рассмотрим организацию по шаблону CookieCutter с примерами.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
41👍1
⚙️ Рекомендательная система для вашего каталога научных работ (и не только!)

Показано, как собрать рекомендательную систему на своём архиве документов, даже если там куча форматов. NLP + графы = машинный архивариус, который сам подсовывает нужные файлы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
51
⚙️ Анализ данных: от EDA до Tinder-битвы графиков

Расскажу, как мы в МТС учили студентов EDA не лекциями, а игрой по типу Tinder, только для графиков. Был фан, был хардкор и крутые визуализации.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
41
⚙️ Что такое StandardScaler из scikit-learn и зачем он нужен?

StandardScaler — это инструмент из библиотеки scikit-learn, который стандартизирует данные: приводит их к распределению со средним 0 и стандартным отклонением 1. Это важно перед обучением моделей, особенно для алгоритмов, чувствительных к масштабу (например, SVM, KNN, линейная регрессия).

➡️ Пример:

from sklearn.preprocessing import StandardScaler
import numpy as np

X = np.array([[10, 200], [15, 300], [14, 250]])

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

print(X_scaled)


➡️ После трансформации признаки будут нормализованы, что помогает улучшить сходимость и стабильность модели.

🗣️ StandardScaler — must-have шаг в пайплайне предварительной обработки данных для большинства классических ML-моделей


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
31
⚙️ Как я сделала свой первый AI-продукт с ChatGPT и капелькой любви

В этой статье я расскажу о моем опыте самостоятельного изучения основ Python и Machine Learning и создании первого проекта OneLove на базе собственной модели искусственного интеллекта (ИИ).

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
5
⚙️ Архитектура проекта автоматического обучения ML-моделей

В статье ребята из Ингосстраха делятся, как автоматизировали запуск и внедрение моделей, чтобы быстрее закрывать запросы бизнеса, не утонув в бэклоге.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
51
🌌 Делай мини-проекты из собственных болей

Бесит, что каждый день ищешь одну и ту же команду в истории? Или вручную обрезаешь скриншоты? Это подсказки.

👉 Совет: собирай такие мелкие «боли» и превращай их в свои pet-проекты или утилиты. Это не только помогает себе, но и тренирует навык быстрого решения задач и проектирования под реальную жизнь.
Please open Telegram to view this post
VIEW IN TELEGRAM
8
⚙️ Как обучить русскоязычную модель рассуждений — LRM?

В статье разбор мультиязычных моделей рассуждений от Lightblue: как они научили DeepSeek "думать" на русском, откуда взяли датасет и зачем запускали LLM как фильтр рассудительности.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
41
👩‍💻 Под капотом asyncio: принципы работы и ключевые концепции

Библиотека asyncio предоставляет полный набор инструментов для организации параллельного выполнения кода в Python с использованием концепции асинхронности. Но как на самом деле работает asyncio? Давайте разберемся в ключевых принципах и понятиях.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
👩‍💻 Задачка по Python

Создайте Python-скрипт для обработки данных. Задача состоит в том, чтобы построить ETL-процесс, который очищает и агрегирует данные из CSV-файлов о продажах, а затем сохраняет агрегированные данные в новом файле.

Очистка данных: удаление записей с пустыми значениями в столбцах price или quantity.

Агрегация: подсчет общего количества проданных товаров и общей суммы по каждому продукту.

➡️ Пример:

python app.py sales_data.csv — создает новый файл aggregated_data.csv с общей суммой и количеством проданных товаров по каждому продукту.

Решение задачи ⬇️

import pandas as pd
import sys

def clean_and_aggregate(file_path):
# Загружаем данные
data = pd.read_csv(file_path)

# Удаляем строки с пустыми значениями в колонках 'price' и 'quantity'
data.dropna(subset=['price', 'quantity'], inplace=True)

# Преобразуем колонки в числовой формат, ошибки игнорируем
data['price'] = pd.to_numeric(data['price'], errors='coerce')
data['quantity'] = pd.to_numeric(data['quantity'], errors='coerce')

# Удаляем строки с некорректными значениями
data.dropna(subset=['price', 'quantity'], inplace=True)

# Агрегируем данные
aggregated_data = data.groupby('product_id').agg(
total_quantity=('quantity', 'sum'),
total_sales=('price', 'sum')
).reset_index()

# Сохраняем в новый CSV
aggregated_data.to_csv('aggregated_data.csv', index=False)
print("Агрегация завершена. Данные сохранены в 'aggregated_data.csv'.")

if __name__ == "__main__":
if len(sys.argv) != 2:
print("Использование: python
app.py <путь к файлу CSV>")
sys.exit(1)

file_path = sys.argv[1]
clean_and_aggregate(file_path)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Алиса спорит с майором, нейросети стучат и «нано-бананы» летят. Кратко опишем новости недели.

Технологии снова удивляют: Яндекс оштрафовали за круглосуточный доступ ФСБ к «Алисе», а OpenAI напомнили, что чатбот может сообщить властям о подозрительных действиях пользователей. Между тем, нейросеть Сбера GigaChat успела проявить неожиданные либеральные наклонности, предлагая «неправильные» источники новостей, но после вмешательства снова перешла на официальный курс.

В мире финансов и технологий тоже кипит жизнь: Google выпустил забавную модель «nano-banana» для редактирования фото, Rutube проводит массовые сокращения айтишников, а Илон Маск строит конкурента Microsoft — Macrohard. В США Трамп вновь оспаривает пошлины и пытается уволить членов ФРС, а вирус PromptLock впервые применил ИИ для генерации вредоносного кода прямо на компьютере жертвы.

Что из этого удивило больше всего? Пишите в комментариях! 😮

Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
2
GPT-5 совершила большой скачок, но заметили его немногие

Хотя GPT-5 значительно опережает GPT-4 на новых тестах — приросты доходят до 80 процентных пунктов на самых сложных задачах — релиз восприняли скорее как эволюционное обновление, а не прорыв. В Epoch AI называют две причины такой реакции.

— Первая: модели теперь выходят очень часто. Между GPT-3 и GPT-4 был всего один крупный апдейт — GPT-3.5, а после GPT-4 появлялись Turbo-версии, мини- и high-варианты, o1, o3 и, наконец, GPT-5. При таком темпе, когда новые версии выходят едва ли не каждый месяц, эффект рывка заметить сложно.

— Вторая: насыщение старых бенчмарков. Например, MMLU с почти 16 000 вопросов был пройден GPT-4 почти на 86%, а последующие версии показали лишь небольшое улучшение.

GPT-5 тестировали уже на усложненной версии MMLU-Pro, где результат составил 86%, но при переходе на новые задачи прогресс впечатляет: GPQA Diamond +54 п.п., MATH Level 5 +75 п.п., Mock AIME +80 п.п. METR Time Horizons, где оценивают сложность задач по времени решения человеком, также показал огромный скачок: GPT-3 справлялась с задачами, требующими около 9 секунд, GPT-4 — с задачами до 5,36 минут, а GPT-5 — до 137 минут. То есть прорыв GPT-5 к GPT-4 укладывается в долгосрочную экспоненту, просто он заметен не всем 😂

Как вы воспринимаете новые релизы GPT?

👍 — Эволюция, ничего сверхъестественного
🤔 — Сложно заметить разницу


Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🐳75😁4👎1🔥1
«У нас большие планы на будущее»: Microsoft представила свои первые собственные модели ИИ

Microsoft AI сделала крупный шаг к независимому развитию искусственного интеллекта, анонсировав сразу две новые модели: MAI-Voice-1 и MAI-1-preview.

Первая умеет превращать текст в аудиозапись длиной в минуту за меньше чем секунду на одном GPU — то есть говорить быстрее, чем успеваешь моргнуть.
Вторая — MAI-1-preview — даёт представление о будущих возможностях Copilot и способна давать полезные ответы на повседневные вопросы, обучаясь на огромном массиве данных.


MAI-Voice-1 уже применяется внутри Microsoft: она ведёт рубрику Copilot Daily, зачитывая главные новости дня, а также помогает создавать обсуждения в формате подкастов. Любители тестировать новинки могут попробовать модель в Copilot Labs, где ИИ произнесёт любой введённый вами текст. MAI-1-preview, в свою очередь, обучалась на 15 000 графических процессоров Nvidia H100 и сейчас проходит публичное тестирование на платформе LMArena, где её можно сравнить с другими ИИ.

Глава Microsoft AI Мустафа Сулейман подчёркивает: внутренние модели компании не ориентированы только на корпоративные задачи. «Мы создаём ИИ для потребителя, чтобы он реально был полезен в повседневной жизни», — говорит Сулейман. Компания планирует внедрять MAI-1-preview в Copilot, расширяя возможности помощника, который до сих пор опирался на модели OpenAI.

Microsoft AI явно нацелена на будущее: они видят потенциал в создании специализированных моделей под разные задачи и сценарии, а не одной универсальной системы. Мустафа Сулейман при этом напоминает о рисках «кажущегося сознательного ИИ» (Seemingly Conscious AI), когда люди начинают воспринимать нейросети как живых существ. По его словам, подобные иллюзии могут отвлекать от реальных проблем и создавать лишние споры о правах и гражданстве ИИ 😁

Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Обзор UDTF в PySpark: зачем нужны табличные функции

PySpark 3.5 привнёс интересную новинку — UDTF (User-Defined Table Function). Если UDF возвращает одно значение, а UDAF агрегирует сразу несколько строк, то UDTF работает прямо в секции FROM и может вернуть целую таблицу строк для одного входного значения. Это открывает сценарии, которые раньше приходилось изобретать через обходные пути.

Что умеет UDTF? У вас есть текстовое поле, и вы хотите превратить каждое слово в отдельную строку. С UDF так не получится, он вернёт только одно значение. А UDTF легко «разворачивает» данные: одна входная строка превращается в десятки выходных. Таким образом можно:

• Разбивать текст на слова, списки на элементы
• Рраспаковывать коллекции или делать cartesian-развёртки
• Получать более гибкие трансформации без громоздкого кода

Как это выглядит? UDTF оформляется как Python-класс с методом eval, где можно yield-ить столько строк, сколько нужно. Например, разбиение строки на слова превращается в лаконичный цикл for word in text.split(): yield (word,). Результат в Spark будет выглядеть как таблица, где каждое слово — отдельная строка.

Другой пример — генерация чисел и их квадратов. Обычный цикл for num in range(start, end): yield (num, num*num) вернёт сразу множество строк. Всё прозрачно: одна запись на входе — много записей на выходе.

Зачем это в продакшене? Главное преимущество UDTF — гибкость. В задачах анализа данных часто нужно «развернуть» структуру: например, массив тегов превратить в таблицу или подсчитать все комбинации значений. Раньше такие приёмы были неудобными, теперь они встроены в PySpark.


UDTF — это 20% кода и 80% удобства. Теперь можно писать генераторы как в Python и получать готовые таблицы в Spark 💳

Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
51