Введение в Machine Learning для аналитика
Зачем аналитику ML
ML — инструмент для предсказаний и автоматизации. Для аналитика полезен:
- Churn prediction — какие пользователи уйдут.
- Lead scoring — какие лиды конвертируются.
- Recommendations — что порекомендовать.
- Anomaly detection — выбросы / фрод.
- Forecasting — прогнозы выручки / DAU.
Не нужно быть Data Scientist — достаточно понимать концепции и базовые модели.
Два типа обучения
Supervised (с учителем)
У вас есть target (правильный ответ). Модель учится предсказывать.
- Classification — категориальный target (churn / not churn).
- Regression — непрерывный (LTV, revenue).
Unsupervised (без учителя)
Target нет. Модель ищет структуру в данных.
- Clustering — группы пользователей.
- Dimensionality reduction — сжатие данных (PCA).
- Anomaly detection — выбросы.
Классические алгоритмы
Классификация
- Logistic Regression — простая, интерпретируема.
- Decision Tree — понятно, но склонна к переобучению.
- Random Forest — ансамбль деревьев, сильна из коробки.
- Gradient Boosting (XGBoost, LightGBM, CatBoost) — state-of-art.
- Neural Networks — для сложных сигналов.
Регрессия
- Linear Regression — базовая.
- Ridge / Lasso — с регуляризацией.
- Random Forest Regressor — ансамбль.
- XGBoost Regressor — современный стандарт.
Clustering
- K-Means.
- DBSCAN.
- Hierarchical.
Pipeline ML-проекта
1. Understanding
- Какая задача?
- Какая метрика успеха?
- Какие данные нужны?
2. Data collection
- SQL-запросы к DWH.
- Объединение источников.
3. EDA (Exploratory Data Analysis)
- Распределения.
- Пропуски.
- Выбросы.
- Корреляции.
4. Feature engineering
- Создание фич из сырых данных.
- Подробнее.
5. Train-test split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)6. Baseline
Простая модель. Например, predict_majority_class.
7. Модель
from sklearn.ensemble import GradientBoostingClassifier
model = GradientBoostingClassifier()
model.fit(X_train, y_train)8. Оценка
from sklearn.metrics import accuracy_score, roc_auc_score
y_pred = model.predict(X_test)
y_proba = model.predict_proba(X_test)[:, 1]
print('Accuracy:', accuracy_score(y_test, y_pred))
print('AUC:', roc_auc_score(y_test, y_proba))9. Feature importance
import pandas as pd
pd.Series(model.feature_importances_, index=X.columns).sort_values(ascending=False).head(10)10. Deployment
- Inference endpoint / batch prediction.
- Monitoring (drift, performance).
Больше таких примеров с разборами — в Telegram-тренажёре. Короткие сессии, прогресс по темам, объяснения после каждого ответа.
Ключевые метрики
Классификация
- Accuracy — доля правильных (но плохо при несбалансированных классах).
- Precision — из предсказанных positive — сколько правда positive.
- Recall — из всех positive — сколько поймали.
- F1 — гармоника precision и recall.
- ROC-AUC — universal для бинарных.
Регрессия
- MAE — Mean Absolute Error.
- MSE / RMSE — Root Mean Squared Error.
- R² — доля объяснённой вариации.
Train, test, validation
- Train (60-80%) — для обучения.
- Validation (10-20%) — для подбора гиперпараметров.
- Test (10-20%) — финальная оценка.
Или k-fold cross-validation — надёжнее на маленьких данных.
Overfitting и underfitting
Overfitting — модель запомнила train, плохо на test. Симптом: train accuracy 99%, test 70%. Решение: больше данных, регуляризация, меньше фич.
Underfitting — модель слишком простая. Симптом: train и test accuracy обе 65%. Решение: более сложная модель, больше фич.
Feature engineering — главный вклад
80% успеха ML — правильные features, не алгоритм.
Примеры полезных features для churn:
days_since_last_eventsessions_count_30dtotal_spent_ytdtenure_monthsengagement_score
Инструменты
- scikit-learn — базовые алгоритмы.
- XGBoost / LightGBM / CatBoost — boosting.
- pandas / numpy — данные.
- matplotlib / seaborn — визуализация.
- MLflow — tracking моделей.
- SHAP — интерпретация.
Если готовишься к собесу — бот @kariernik_bot закрывает 80% технических вопросов. SQL, Python, A/B, продуктовые метрики — всё в одном месте.
Аналитик vs Data Scientist
Аналитик делает ML, когда
- Простая задача.
- Нужна быстрая прикидка.
- Нет DS в команде.
DS делает ML, когда
- Сложная задача.
- Нужна production модель.
- Много данных, complex features.
Аналитику полезно знать ML как инструмент, но глубина — не обязательна.
Типичные ошибки
1. Data leakage
Features из «будущего». Модель на train 99%, в продакшне 60%.
2. Imbalanced classes
1% positive → модель предсказывает всё 0, 99% accuracy. Используйте AUC, class_weight='balanced'.
3. Overfitting
Слишком сложная модель на маленьких данных. Регуляризируйте.
4. No baseline
«Наш ML даёт 85% accuracy!» — но случайный предсказатель даёт 80%. Baseline обязателен.
5. Игнор интерпретации
Аналитик должен объяснить модель бизнесу. Используйте SHAP, feature_importance.
Читайте также
- Что такое машинное обучение
- Что такое регрессия
- Что такое feature в ML
- Что такое clustering
- Gradient boosting
FAQ
Нужно ли аналитику знать ML?
Базово — да. Глубоко — нет (это DS).
С чего начать?
sklearn + задачи с Kaggle. Logistic regression → Random Forest → XGBoost.
Сколько учить?
Базы за 2–3 месяца. Профессиональный уровень — 1+ год.
Нужна ли математика?
Для применения — нет. Для понимания — базово. Для создания новых алгоритмов — глубоко.