Удаление сильно коррелирующих признаков

Снижение размерности в Python

Jeroen Boeye

Head of Machine Learning, Faktion

Данные с высокой корреляцией

попарный график с высокой корреляцией

Снижение размерности в Python

Сильно коррелирующие признаки

матрица высокой корреляции

Снижение размерности в Python

Удаление сильно коррелирующих признаков

# Create positive correlation matrix
corr_df = chest_df.corr().abs()

# Create and apply mask mask = np.triu(np.ones_like(corr_df, dtype=bool))
tri_df = corr_df.mask(mask) tri_df

Снижение размерности в Python

Удаление сильно коррелирующих признаков

# Find columns that meet threshold 
to_drop = [c for c in tri_df.columns if any(tri_df[c] > 0.95)]

print(to_drop)
['Suprasternale height', 'Cervicale height']
# Drop those columns
reduced_df = chest_df.drop(to_drop, axis=1)
Снижение размерности в Python

Отбор признаков

Схема отбора признаков

Извлечение признаков

Схема извлечения признаков

Снижение размерности в Python

Оговорки о корреляции — квартет Энскомба

Квартет Энскомба

Снижение размерности в Python

Оговорки о корреляции — причинность

sns.scatterplot(x="N firetrucks sent to fire", 
                y="N wounded by fire",data=fire_df)

пожарные машины и пострадавшие

Снижение размерности в Python

Давайте потренируемся!

Снижение размерности в Python

Preparing Video For Download...