Встречается на собеседованиях • сегодня

Как боролся с мультиколлинеарностью\

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

  1. VIF (Variance Inflation Factor) – удаляем признаки с VIF > 5-10:
python
from statsmodels.stats.outliers_influence import variance_inflation_factor

vif = pd.DataFrame()
vif["VIF"] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]
vif["feature"] = X.columns
  1. PCA – уменьшаем размерность, сохраняя информацию:
python
from sklearn.decomposition import PCA
pca = PCA(n_components=0.95)  # сохраняем 95% дисперсии
X_pca = pca.fit_transform(X)
  1. Регуляризация – L1 (Lasso) или L2 (Ridge) регрессия автоматически снижают влияние коррелированных признаков.

  2. Корреляционный анализ – удаляем один из пары признаков с корреляцией > 0.8-0.9.

  3. Ручной отбор – экспертный анализ и удаление логически дублирующих признаков.

Важно учитывать, что полное устранение мультиколлинеарности не всегда необходимо – иногда достаточно снизить её до приемлемого уровня.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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