Встречается на 5% собеседований по Data

Как отсеять лишние признаки при создании модели машинного обучения

Для отсева лишних признаков можно использовать несколько подходов:

  1. Статистические методы:
python
from sklearn.feature_selection import SelectKBest, f_classif
selector = SelectKBest(f_classif, k=10)
X_new = selector.fit_transform(X, y)
  1. Важность признаков из моделей:
python
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X, y)
importances = model.feature_importances_
  1. Корреляционный анализ:
python
corr_matrix = df.corr().abs()
upper = corr_matrix.where(np.triu(np.ones(corr_matrix.shape), k=1).astype(bool)
to_drop = [column for column in upper.columns if any(upper[column] > 0.9)]
  1. Методы уменьшения размерности (PCA, t-SNE) для визуализации и анализа.

Критерии выбора метода:

  • Размер данных
  • Тип задачи (классификация/регрессия)
  • Вычислительные ресурсы
  • Интерпретируемость результата

Всегда стоит проверять качество модели после отбора признаков, так как иногда "лишние" признаки могут улучшать обобщающую способность.

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы