====================================================================== 📘 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."` 💡 Если у вас возникнут любые вопросы по выполнению шагов из этого гайда — напишите в чат заказа, я с радостью подскажу!