**Контекст:** Банк строит кредитный скоринг для оценки вероятности дефолта. Нужен полный ML-pipeline: от feature engineering до интерпретации.
**Данные:** DataFrame `applications` — колонки: `client_id`, `age`, `income`, `employment_years`, `loan_amount`, `loan_term_months`, `credit_history_length`, `num_open_credits`, `num_late_payments`, `debt_to_income`, `property_owner` (0/1), `education` (secondary/bachelor/master), `marital_status` (single/married/divorced), `default` (0/1).
**Задание:**
1. Feature engineering: ratio-фичи, encoding, binning
2. Feature selection: корреляционный анализ + importance-based selection
3. Model comparison: LogisticRegression, RandomForest, GradientBoosting — ROC AUC, PR AUC
4. Интерпретация лучшей модели через SHAP values
5. Создайте скоринговую карту (score 300–850)
Структура для ориентира — реальные значения из эталонного решения.
applications = pd.DataFrame({
'client_id': range(n),
'age': np.random.normal(40, 12, n).clip(21, 75).astype(int),
'income': np.random.lognormal(10.5, 0.7, n).round(0),
'employment_years': np.random.exponential(5, n).clip(0, 40).round(1),
'loan_amount': np.random.lognormal(11, 0.8, n).round(0),
'loan_term_months': np.random.choice([12, 24, 36, 48, 60], n),
'credit_history_length': np.random.exponential(8, n).clip(0, 30).round(1),
'num_open_credits': np.random.poisson(2, n),
'num_late_payments': np.random.poisson(0.5, n),
'property_owner': np.random.binomial(1, 0.45, n),
'education': np.random.choice(['secondary', 'bachelor', 'master'], n, p=[0.4, 0.4, 0.2]),
'marital_status': np.random.choice(['single', 'married', 'divorced'], n, p=[0.3, 0.5, 0.2]),
})
pandas sklearn scoring pipeline feature selection SHAP model comparison
Это задание для уровня Senior. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.
Подобные задания в категории «Python» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: pandas, sklearn, scoring, pipeline, feature selection.
На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 482 Python задачи с проверкой через Pyodide, конспекты Python и pandas, AI мок-собеседование с разбором ваших ответов.
← Все задания