======================================================================
📘 TITLE: 🧪 ГАЙД: DATA SCIENCE И МАШИННОЕ ОБУЧЕНИЕ НА PYTHON В CLAUDE 🧪 | АВТОВЫДАЧА
📂 CATEGORY: Claude
📄 FILENAME: gayd_data_science_i_mashinnoe_obuchenie_na_python_v_claude_avtovy_guide.txt
======================================================================
🧪 ГАЙД: ПОЛНЫЙ ML-ПАЙПЛАЙН ОТ EDA ДО XGBOOST И OPTUNA В CLAUDE 🧪
🔹 ВВЕДЕНИЕ И ПОТЕНЦИАЛ CLAUDE В DATA SCIENCE:
Claude 3.5 Sonnet превосходно справляется со сложнейшими задачами Data Science: разведочный анализ данных (EDA), генерация признаков (Feature Engineering), борьба с дисбалансом классов (SMOTE, Class Weights), подбор гиперпараметров (Optuna) и интерпретация моделей (SHAP values). Модель умеет писать чистый код для Pandas, Scikit-learn, CatBoost и PyTorch.
🔹 ШАГ 1: ПРОМПТ ДЛЯ ПОЛНОГО ПАЙПЛАЙНА ОБУЧЕНИЯ МОДЕЛИ
```xml
Ты — Lead Data Scientist и Kaggle Grandmaster.
Напиши полный end-to-end Python скрипт для задачи бинарной классификации оттока клиентов (Customer Churn Prediction).
1. Препроцессинг: обработка пропусков (KNNImputer), кодирование категориальных признаков (TargetEncoder), нормализация (RobustScaler).
2. Балансировка: использование StratifiedKFold cross-validation (5 фолдов).
3. Моделирование: ансамбль CatBoost + XGBoost + LightGBM.
4. Оптимизация: интеграция Optuna для максимизации метрики ROC-AUC и PR-AUC (50 trials).
5. Интерпретация: расчет важности признаков через SHAP summary plot.
```
🔹 ШАГ 2: ПРИМЕР СГЕНЕРИРОВАННОГО ОПТИМИЗАЦИОННОГО ПАЙПЛАЙНА OPTUNA
```python
import optuna
import xgboost as xgb
from sklearn.model_selection import StratifiedKFold
from sklearn.metrics import roc_auc_score
def objective(trial, X, y):
params = {
'n_estimators': trial.suggest_int('n_estimators', 100, 1000),
'max_depth': trial.suggest_int('max_depth', 3, 10),
'learning_rate': trial.suggest_float('learning_rate', 0.01, 0.3, log=True),
'subsample': trial.suggest_float('subsample', 0.6, 1.0),
'colsample_bytree': trial.suggest_float('colsample_bytree', 0.6, 1.0),
'eval_metric': 'auc',
'random_state': 42
}
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
scores = []
for train_idx, val_idx in cv.split(X, y):
X_train, X_val = X.iloc[train_idx], X.iloc[val_idx]
y_train, y_val = y.iloc[train_idx], y.iloc[val_idx]
model = xgb.XGBClassifier(**params)
model.fit(X_train, y_train, eval_set=[(X_val, y_val)], verbose=False)
preds = model.predict_proba(X_val)[:, 1]
scores.append(roc_auc_score(y_val, preds))
return sum(scores) / len(scores)
```
🔹 ШАГ 3: АНАЛИЗ МАТРИЦЫ ОШИБОК И ПОИСК БИЗНЕС-ПОРОГА (THRESHOLD TUNING)
Попросите Claude:
`"Построй график Precision-Recall кривой и найди оптимальный порог классификации (Decision Threshold), который максимизирует прибыль бизнеса при стоимости ложноположительного срабатывания $10 и ложноотрицательного $150."`
💡 Если у вас возникнут любые вопросы по выполнению шагов из этого гайда — напишите в чат заказа, я с радостью подскажу!