scikit-learn: вопросы на собеседовании
Вопросы и ответы по scikit-learn: подготовка, примеры и типичные ошибки.
Проверьте себя по scikit-learn: 5 вопросов, ~10 минут
Вопросов: 40. Частые идут первыми, сложные возвращаются на повторение.
- Как обнаружить и предотвратить утечку данных (data leakage) при построении пайплайна в scikit-learn?Senior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое интерфейс
fit(),transform()иfit_transform()в scikit-learn и почему такой дизайн API важен?Junior· спрашивают почти всегда - Какие метрики применять для задачи классификации с несбалансированными классами и как их вычислить в scikit-learn?Senior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Как работает
Pipelineв scikit-learn и какие проблемы он решает (утечка данных — data leakage)?Senior· спрашивают почти всегда· полный разбор — Jobs/Boost - В каких data/AI-задачах scikit-learn даёт реальный выигрыш, а где лучше выбрать другой инструмент или более простой pipeline?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- В чём разница между
train_test_split()и кросс-валидацией (cross_val_score)? Когда применять каждый из них?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost - В чём разница между bagging и boosting? Назовите реализации каждого из них в scikit-learn.Middle
- Что такое компромисс между смещением и дисперсией (bias-variance tradeoff) и как сложность модели связана с каждым из них?Middle· полный разбор — Jobs/Boost
- Как работает
ColumnTransformerи почему он полезен для гетерогенных датасетов?Middle· полный разбор — Jobs/Boost - Как интерпретировать
confusion_matrixи когда accuracy является вводящей в заблуждение метрикой?Junior - Как обрабатывать пропущенные значения в scikit-learn с помощью
SimpleImputerиIterativeImputer?Middle - В чём разница между L1 (Lasso) и L2 (Ridge) регуляризацией?Middle
- Чем
LabelEncoderотличается отOneHotEncoder— когда использовать каждый?Junior· полный разбор — Jobs/Boost - Как использовать
make_pipeline()и какова конвенция именования шагов?Junior - Как работает
PCAв scikit-learn и как выбрать количество компонент?Middle· полный разбор — Jobs/Boost - В чём разница между
predict()иpredict_proba()и когда важен последний?Junior - Объясните, как работает классификатор Random Forest и что контролируют параметры
n_estimatorsиmax_depth.Middle - В чём разница между
StandardScaler,MinMaxScalerиRobustScaler? Когда использовать каждый?Junior· полный разбор — Jobs/Boost - Как проверять корректность решения на scikit-learn, а не только успешное выполнение кода?Senior· полный разбор — Jobs/Boost
- Представьте, pipeline на scikit-learn даёт хорошие результаты в dev, но плохо работает на новых данных. Как вы будете разбираться?Senior· полный разбор — Jobs/Boost
- Какие ключевые абстракции scikit-learn нужно понимать, чтобы не получать формально рабочие, но неверные результаты?Middle· полный разбор — Jobs/Boost
- Как сравнить scikit-learn с альтернативами по качеству, скорости экспериментов, масштабированию, воспроизводимости и production-интеграции?Senior
- Какие риски есть у scikit-learn: data leakage, неверная оценка качества, memory usage, latency, cost, drift или observability?Senior· полный разбор — Jobs/Boost
- Какие ошибки делают команды, когда переносят notebook/prototype-подход на production data/AI pipeline?Senior
- Что такое параметр
scoringвcross_val_scoreи как определить кастомную функцию оценки?Middle· полный разбор — Jobs/Boost - Что такое кросс-валидация со стратификацией (
StratifiedKFold) и почему она важна для несбалансированных датасетов?Middle· полный разбор — Jobs/Boost - Как
SVCв scikit-learn обрабатывает нелинейные данные (kernel trick)?Middle - Как реализовать кастомный трансформер, совместимый с API scikit-learn?Senior· полный разбор — Jobs/Boost
- Как работает
GridSearchCVи чем он отличается отRandomizedSearchCV?Middle - Чем
GradientBoostingClassifierотличается отHistGradientBoostingClassifierпо производительности?Senior· полный разбор — Jobs/Boost - Как работает
KMeansи как выбрать правильное значениеk(метод локтя, silhouette score)?Middle· полный разбор — Jobs/Boost - Как
LogisticRegressionв scikit-learn обрабатывает многоклассовые задачи (параметрsolver)?Middle· полный разбор — Jobs/Boost - Как калибровать вероятности (
CalibratedClassifierCV) и зачем это нужно?Middle· полный разбор — Jobs/Boost - Как использовать
ColumnTransformerдля разных типов признаков?Middle· полный разбор — Jobs/Boost - Расскажите о случае, когда вы использовали scikit-learn для pipeline, evaluation, optimization, deployment или debugging.Middle· полный разбор — Jobs/Boost
- Что такое feature importance в древесных моделях и каковы её ограничения?Senior· полный разбор — Jobs/Boost
- Что такое
joblibи как scikit-learn использует его для параллельных вычислений и сохранения моделей?Senior· полный разбор — Jobs/Boost - Что такое
SelectKBestи как работает отбор признаков с chi2 или mutual information?Middle - Что такое
SMOTEи как бороться с дисбалансом классов в scikit-learn?Senior· полный разбор — Jobs/Boost - Как работают
VotingClassifierиStackingClassifierв scikit-learn?Middle