Автор: Илья Воронцов
Аналитик данных и ML-специалист. Разбираю, как применять модели на практике, без лишней теории. Если вы новичок в Data Science или ML, этот словарь поможет разобраться в базовых понятиях и сразу понять, где их использовать.
Когда я только начинал, количество новых слов пугало. Но быстро понял: за каждым термином стоит конкретная задача, и если разобраться, как они работают в реальном проекте, всё встаёт на свои места. Я собрал 50+ ключевых понятий, с которыми сталкивается каждый начинающий аналитик или ML-инженер. Сгруппировал по темам, добавил примеры из практики и небольшие комментарии о том, на что обратить внимание в бою. Это не просто глоссарий, а шпаргалка, которая поможет читать статьи, понимать код и уверенно отвечать на собеседованиях.
Читайте по частям, проверяйте на своих данных (например, в Jupyter Notebook или Google Colab). Дальше — только практика.
Основы Data Science: с чего начинается анализ данных
Data Science — это не только ML, а весь цикл работы с данными: от сбора до решений бизнеса. Понимание полного цикла спасает от типичной ошибки новичков — сразу бросаться к моделям, минуя анализ данных. Вот базовые термины, с которых всё начинается.
Данные и их типы
- Данные (Data): Любая информация в цифровом виде — числа, текст, изображения. Зачем? Без них нет анализа. Применение: Загружайте CSV из Kaggle, проверяйте
df.head()в Pandas. На практике данные почти всегда грязные: дубликаты, пропуски, неверные форматы. Поэтому первый шаг — не анализ, а аудит. - Структурированные данные: Таблицы с рядами и столбцами (как Excel). Пример: Таблица продаж с колонками «дата», «товар», «сумма». С ними работают SQL и Pandas, и это 90% задач бизнес-аналитики.
- Неструктурированные данные: Текст, видео, фото. Применение: Анализ отзывов в NLP. Обработка требует больше ресурсов и специфичных методов, но именно там часто скрыты инсайты (отзывы, логи).
- Big Data: Огромные объемы данных, которые не влезают в память одного ПК. Инструменты: Hadoop, Spark. Новичку не стоит сразу лезть в Spark — начните с обработки данных, которые помещаются в память, и поймите принципы распределённых вычислений хотя бы на уровне map-reduce.
Этапы Data Science
- CRISP-DM: Модель процесса (Business Understanding → Data Understanding → Preparation → Modeling → Evaluation → Deployment). Почему важно? Помогает не тонуть в хаосе проекта. В реальных проектах часто команды пропускают Business Understanding, а потом модель решает не ту задачу. Всегда начинайте с вопроса: какую бизнес-метрику мы улучшаем?
- ETL (Extract, Transform, Load): Извлечение, очистка и загрузка данных в хранилище. Пример: Airflow для автоматизации. ETL — это хребет любого data-проекта. Если данные некачественные или загружаются с задержкой, даже идеальная модель бесполезна. Автоматизация через Airflow или Prefect экономит часы ручного труда.
| Этап | Что делать | Инструмент |
|---|---|---|
| Extract | Собирать данные из API/БД | Pandas, SQL |
| Transform | Очищать, преобразовывать (пропуски, кодирование, масштабирование) | Pandas, NumPy |
| Load | Загружать в warehouse | PostgreSQL, BigQuery |
Ключевые понятия в машинном обучении (ML)
ML — подмножество Data Science, где алгоритмы учатся на данных предсказывать или классифицировать. Магия заканчивается, когда понимаешь, что модель лишь аппроксимирует функцию по данным. Важно выбрать правильный тип обучения.
Типы обучения
- Обучение с учителем (Supervised Learning): Есть метки (правильные ответы). Пример: Предсказание цен домов по признакам. Самый распространённый тип в бизнесе: прогноз оттока, оценка риска, рекомендации. Главное — качественная разметка, иначе garbage in — garbage out.
- Обучение без учителя (Unsupervised Learning): Нет меток, ищем паттерны. Пример: Кластеризация клиентов. Используется для разведочного анализа, сегментации, поиска аномалий. Сложность в том, что нет объективной метрики качества — результат оценивают экспертно.
- Обучение с подкреплением (Reinforcement Learning): Агент учится через награды/штрафы. Применение: Игры (AlphaGo) или оптимизация маршрутов. Пока редко встречается за пределами игр и робототехники, но в оптимизации цепочек поставок и динамическом ценообразовании набирает обороты.
Модели и алгоритмы
- Линейная регрессия (Linear Regression): Предсказывает число по прямой линии. Формула: y = ax + b. Когда использовать: Прогноз продаж. Несмотря на простоту, часто недооценена. Если связь линейная, она даёт стабильный и интерпретируемый результат. Но проверяйте мультиколлинеарность — иначе коэффициенты будут нестабильны.
- Логистическая регрессия (Logistic Regression): Для классификации (да/нет). Пример: Спам-фильтр. Базовый классификатор, который до сих пор используется в банках для скоринга из-за прозрачности. Хорошо калибрует вероятности.
- Дерево решений (Decision Tree): Дерево «если-то». Плюс: Легко интерпретировать. Но склонно к переобучению. Всегда подрезайте (pruning) или используйте ансамбли.
- Случайный лес (Random Forest): Много деревьев для стабильности. Применение: Классификация изображений. Устойчив к выбросам и пропускам, хорошо работает «из коробки». Но на очень больших данных может быть медленным.
- Градиентный бустинг (Gradient Boosting): Последовательное улучшение слабых моделей (XGBoost, LightGBM). Почему топ? Высокая точность на табличных данных. XGBoost, LightGBM, CatBoost — короли табличных данных. Но требуют тщательного подбора гиперпараметров и чувствительны к шуму.
- Нейронная сеть (Neural Network): Слои нейронов, имитирующие мозг. Пример: Распознавание лиц. Для табличных данных часто избыточны, но незаменимы для изображений, текста, звука. Требуют много данных и вычислительных ресурсов.
- Глубокое обучение (Deep Learning): Нейросети с многими слоями. Инструменты: TensorFlow, PyTorch. Начинайте с готовых архитектур (Transfer Learning), если данных мало. И не забывайте про GPU.
| Алгоритм | Тип | Пример задачи |
|---|---|---|
| Линейная регрессия | С учителем | Прогноз зарплаты |
| K-Means | Без учителя | Сегментация рынка |
| XGBoost | С учителем | Победы на Kaggle |
Подготовка данных: 80% работы Data Scientist
Это не преувеличение. Модель может быть сколь угодно сложной, но если данные не подготовлены, результат будет посредственным. Я трачу до 70% времени именно на очистку и инжиниринг признаков.
Очистка и обработка
- Отсутствующие значения (Missing Values): NaN или пустые ячейки. Как фиксить: Заполнить средним (
df.fillna(df.mean())), удалить или предсказать. Среднее — не всегда лучший вариант. Если пропуски не случайны, лучше создать бинарный признак «был ли пропуск» и заполнить медианой или модой. В некоторых случаях можно использовать модели для импутации (KNNImputer). - Аномалии (Outliers): Редкие выбросы. Проверка: Boxplot в Seaborn. Не спешите удалять выбросы — возможно, это важные редкие события (например, мошенничество). Сначала поймите природу.
- Нормализация (Normalization): Приведение признаков к 0-1. Зачем? Для градиентного спуска. Для алгоритмов, основанных на расстоянии (kNN, SVM, нейросети), масштабирование обязательно. Для деревьев и бустинга — не нужно, но иногда улучшает сходимость.
- Стандартизация (Standardization): Среднее=0, std=1. Метод:
StandardScalerиз sklearn. Аналогично нормализации, важна для моделей, чувствительных к масштабу признаков. - One-Hot Encoding: Преобразование категорий в 0/1. Пример: «Красный/Синий» → [1,0] / [0,1]. Осторожно с признаками высокой кардинальности (много уникальных категорий) — можно получить огромное количество фиктивных переменных. Используйте Target Encoding или Embeddings.
Признаки
- Признак (Feature): Входная переменная (возраст, доход).
- Целевая переменная (Target): Что предсказываем (купит/не купит).
- Feature Engineering: Создание новых признаков. Пример: Из даты — день недели. Это искусство. Например, из временной метки можно извлечь час, день недели, праздничный флаг. Однажды я добавил признак «количество дней с последней покупки» — и точность модели прогноза оттока выросла на 8%. Не пренебрегайте.
Оценка моделей: как понять, что работает
Метрики — это компас. Без них вы не поймёте, улучшается модель или нет. Но выбор метрики зависит от бизнес-задачи. Не верьте точности на глаз — измеряйте.
- Точность (Accuracy): Доля правильных предсказаний. Минус: Плохо для несбалансированных данных. В задаче с дисбалансом 99:1 accuracy 99% может дать константная модель, предсказывающая большинство. Всегда смотрите на матрицу ошибок.
- Precision и Recall: Precision — из предсказанных «да» сколько реально «да». Recall — из реальных «да» сколько нашли. Если вы предсказываете уход клиентов, вам важен recall — не пропустить уходящих. Если блокируете мошеннические транзакции, важнее precision, чтобы не заблокировать честных.
- F1-Score: Гармония Precision и Recall. Хорош, когда нужно сбалансировать, но не заменяет анализ бизнес-требований.
- ROC-AUC: Площадь под кривой (идеал=1). Для бинарной классификации. Популярная метрика, но на несбалансированных данных может давать оптимистичную картину. Лучше дополнить PR-AUC.
- Переобучение (Overfitting): Модель идеальна на train, плохо на test. Фикс: Dropout, кросс-валидация. Классический признак — большой разрыв между train и test. Регуляризация, dropout, early stopping — стандартные приёмы. Но также помогает увеличение данных (аугментация) и упрощение модели.
- Недообучение (Underfitting): Модель слаба везде. Решение: Больше данных или сложная модель. Если и train, и test плохие — возможно, модель слишком простая или данных недостаточно. Попробуйте добавить полиномиальные признаки или более сложный алгоритм.
Быстрый чек-лист оценки:
- Разделите данные: 80% train, 20% test (
train_test_split). Для временных рядов используйте TimeSeriesSplit, чтобы не заглядывать в будущее. - Cross-Validation: 5-fold для стабильности. Стандартный KFold перемешивает данные, что недопустимо для временных рядов — там только TimeSeriesSplit.
- Метрики: Accuracy + F1 + ROC-AUC. Всегда дополняйте матрицей ошибок и анализом бизнес-порогов.
Продвинутые термины: от NLP до компьютерного зрения
Когда освоите базу, переходите сюда. Но не пытайтесь объять всё сразу — выберите одну область.
NLP (Обработка естественного языка)
- Токенизация: Разбиение текста на слова.
- Word2Vec / BERT: Векторы слов с смыслом. Пример: Рекомендации фильмов по отзывам. BERT и другие трансформеры произвели революцию, но для начала попробуйте TF-IDF + логистическую регрессию — получите сильный baseline и поймёте, стоит ли усложнять.
- TF-IDF: Вес слов в документе. Хорошо работает для поиска ключевых слов и быстрой классификации текстов.
Компьютерное зрение (CV)
- CNN (Convolutional Neural Network): Для изображений.
- Transfer Learning: Берем готовую модель (ResNet) и дообучаем. Если у вас мало изображений, Transfer Learning практически обязателен. ResNet, предобученный на ImageNet, даёт отличные признаки.
Другое
- Гиперпараметры (Hyperparameters): То, что настраиваем вручную (learning rate). Подбор вручную — прошлый век. Используйте GridSearchCV или Optuna. Но помните: оптимальные параметры на кросс-валидации могут не дать лучшего результата на отложенной выборке, если вы перебрали слишком много комбинаций (утечка через подбор).
- Кросс-валидация (Cross-Validation): Тестирование на частях данных. Обязательный этап для оценки стабильности модели.
- Pipeline: Цепочка шагов (от очистки до предсказания) в sklearn. Объединяет все шаги и защищает от утечки данных при масштабировании. Всегда используйте Pipeline в sklearn.
Инструменты Data Science и ML: что изучить первым
Не распыляйтесь. Начните с Python, Pandas, SQL и Scikit-learn. Этого хватит для первых проектов. Глубокое обучение подключайте, когда поймёте, что классические методы не справляются.
| Инструмент | Для чего | Как начать |
|---|---|---|
| Python | Язык №1 | Anaconda + Jupyter |
| Pandas | Манипуляция и анализ табличных данных | import pandas as pd |
| NumPy | Работа с многомерными массивами, линейная алгебра | np.array() |
| Scikit-learn | ML-модели | from sklearn.linear_model import LinearRegression |
| Matplotlib/Seaborn | Визуализация | plt.plot() |
| TensorFlow/PyTorch | Deep Learning | Google Colab |
| SQL | Запросы к БД | SELECT * FROM table |
Совет: Начните с Kaggle Datasets — там данные + ноутбуки. Это отличный полигон для отработки навыков.
Практические советы: как применять словарь на работе
- На проекте: Перед моделью всегда проверяйте данные (
describe(),info()). Начинайте с визуализации распределений и матрицы корреляций — это помогает выявить аномалии и связи. - Собеседование: Объясните overfitting на примере: «Модель запомнила train, но не обобщает». Если спросят про overfitting, приведите пример из своего опыта: как вы боролись с ним в реальной задаче.
- Самообучение: Возьмите датасет Titanic, постройте pipeline с XGBoost. Но лучше взять датасет из своей предметной области, чтобы было интереснее.
- Ошибки новичков: Не игнорируйте feature engineering — оно даёт +20% точности. Не делайте выводов по одной метрике; всегда проверяйте модель на стабильность с помощью кросс-валидации; не забывайте про baseline (например, среднее значение для регрессии).
Общий объем словаря — база для 90% задач. Расширяйте по мере проектов.
FAQ: частые вопросы начинающих по терминам Data Science и ML
Что изучить первым: Pandas или ML-модели?
Однозначно Pandas. Без умения загрузить, очистить и преобразовать данные вы не сможете применить ни одну модель. Я рекомендую неделю посвятить Pandas и базовому SQL, затем переходить к простым моделям.
Разница между Accuracy и F1-Score?
Accuracy — общая доля верных ответов. Но если у вас 95% объектов класса А и 5% класса Б, модель, всегда предсказывающая А, будет иметь accuracy 0.95, но не найдёт ни одного Б. F1 учитывает и precision, и recall, поэтому лучше подходит для несбалансированных задач.
Зачем LSI-слова в ML? Подождите, это про SEO? Нет, в ML — Latent Semantic Indexing, но для новичков хватит TF-IDF.
LSI (Latent Semantic Indexing) — это метод снижения размерности для текстов, основанный на сингулярном разложении. Он помогает улавливать скрытые связи между словами. Однако сегодня он используется редко, уступив место тематическим моделям (LDA) и плотным векторным представлениям вроде Word2Vec. Для старта действительно достаточно TF-IDF — он прост и эффективен.
Как бороться с overfitting?
- Больше данных (в т.ч. аугментация).
- Регуляризация (L1/L2).
- Early stopping в нейросетях.
- Уменьшение количества признаков (feature selection).
- Использование ансамблей.
В нейросетях хорошо работает dropout и batch normalization. Главное — следить за разрывом между train и validation.
Лучший алгоритм для старта?
Линейная регрессия для непрерывных предсказаний и логистическая для бинарной классификации. Они просты, интерпретируемы и дают понимание базовых концепций: функция потерь, градиентный спуск, регуляризация. С них начинается путь в ML.
Этот словарь покрывает 90% терминов, с которыми вы столкнётесь в начале пути. Дальше — практика. Берите реальные данные, пробуйте, ошибайтесь и снова пробуйте. Если появятся вопросы, задавайте в комментариях — я стараюсь отвечать. Также выкладываю полезные ноутбуки и сниппеты на GitHub. Удачи в Data Science!