Признаки с низкой дисперсией
В предыдущем упражнении вы определили, что порог 0,001 хорошо подходит для отсева признаков с низкой дисперсией в head_df после нормализации. Теперь используйте селектор VarianceThreshold, чтобы удалить эти признаки.
Это упражнение является частью курса
Снижение размерности в Python
Инструкции к упражнению
- Создайте селектор на основе порога дисперсии со значением 0,001.
- Нормализуйте DataFrame
head_df, разделив его на средние значения, и обучите селектор. - Создайте булеву маску с помощью метода
.get_support(). - Создайте сокращённый DataFrame, передав маску в метод
.loc[].
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
from sklearn.feature_selection import VarianceThreshold
# Create a VarianceThreshold feature selector
sel = ____(threshold=____)
# Fit the selector to normalized head_df
sel.fit(____ / ____)
# Create a boolean mask
mask = sel.____
# Apply the mask to create a reduced DataFrame
reduced_df = head_df.loc[____, ____]
print(f"Dimensionality reduced from {head_df.shape[1]} to {reduced_df.shape[1]}.")