Основи Відбору Ознак
Вибір ознак підвищує ефективність моделі, залишаючи лише найбільш релевантні ознаки, зменшує складність і допомагає запобігти перенавчанню, спричиненому нерелевантними або надлишковими даними.
Вибір ознак — це процес вибору підмножини вхідних змінних (features) з ваших даних, які є найбільш релевантними для задачі прогнозного моделювання.
Методи вибору ознак включають ручний перегляд і автоматизовані підходи. У задачах класифікації використовують статистичні тести для оцінки ознак і відбору тих, що найбільш тісно пов’язані з цільовою змінною.
Найпопулярніші методи вибору ознак поділяються на три категорії:
- Фільтраційні методи: Відбір ознак на основі статистичних показників, таких як коефіцієнти кореляції або уніваріантні тести, незалежно від будь-якої моделі машинного навчання;
- Обгорткові методи: Використання прогнозної моделі для оцінки різних комбінацій ознак, наприклад, за допомогою рекурсивного виключення ознак (RFE), і вибір підмножини, яка забезпечує найкращу продуктивність моделі;
- Вбудовані методи: Виконання вибору ознак під час навчання моделі, як-от регуляризація Lasso, яка автоматично видаляє менш важливі ознаки шляхом зменшення їх коефіцієнтів до нуля.
Кожен метод балансує між обчислювальними витратами, інтерпретованістю та прогностичною здатністю.
1234567891011121314151617181920212223242526import pandas as pd import seaborn as sns from sklearn.feature_selection import SelectKBest, f_classif from sklearn.preprocessing import LabelEncoder # Load Titanic dataset train = sns.load_dataset('titanic') # Select numeric and categorical columns (excluding target) features = ['pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked'] X = train[features].copy() y = train['survived'] # Encode categorical features X['sex'] = LabelEncoder().fit_transform(X['sex'].astype(str)) X['embarked'] = LabelEncoder().fit_transform(X['embarked'].astype(str)) # Handle missing values by filling with median (for simplicity) X = X.fillna(X.median(numeric_only=True)) # Select top 5 features based on ANOVA F-value selector = SelectKBest(score_func=f_classif, k=5) X_new = selector.fit_transform(X, y) selected_features = X.columns[selector.get_support()] print("Selected features:", list(selected_features))
У цьому прикладі використовується SelectKBest з scikit-learn із функцією оцінки f_classif для вибору п’яти найбільш релевантних ознак—pclass, sex, parch, fare та embarked—з набору даних Titanic. Цей метод оцінює кожну ознаку окремо за допомогою ANOVA F-значень і обирає ті, що мають найвищі оцінки. Такий підхід ефективний для задач класифікації, оскільки зосереджується на ознаках, які найкраще розділяють цільові класи.
Вибір занадто великої кількості ознак, особливо нерелевантних, може призвести до overfitting (перенавчання), коли модель добре працює на тренувальних даних, але погано — на нових, невідомих даних. Уважний відбір ознак допомагає знизити цей ризик і забезпечує більш стійкі моделі.
Вибір ознак полягає не лише в підвищенні точності—це також робить моделі швидшими та легшими для інтерпретації. Зосереджуючись лише на найважливіших ознаках, ви спрощуєте моделі та зменшуєте ймовірність навчання на шумі в даних.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 8.33
Основи Відбору Ознак
Свайпніть щоб показати меню
Вибір ознак підвищує ефективність моделі, залишаючи лише найбільш релевантні ознаки, зменшує складність і допомагає запобігти перенавчанню, спричиненому нерелевантними або надлишковими даними.
Вибір ознак — це процес вибору підмножини вхідних змінних (features) з ваших даних, які є найбільш релевантними для задачі прогнозного моделювання.
Методи вибору ознак включають ручний перегляд і автоматизовані підходи. У задачах класифікації використовують статистичні тести для оцінки ознак і відбору тих, що найбільш тісно пов’язані з цільовою змінною.
Найпопулярніші методи вибору ознак поділяються на три категорії:
- Фільтраційні методи: Відбір ознак на основі статистичних показників, таких як коефіцієнти кореляції або уніваріантні тести, незалежно від будь-якої моделі машинного навчання;
- Обгорткові методи: Використання прогнозної моделі для оцінки різних комбінацій ознак, наприклад, за допомогою рекурсивного виключення ознак (RFE), і вибір підмножини, яка забезпечує найкращу продуктивність моделі;
- Вбудовані методи: Виконання вибору ознак під час навчання моделі, як-от регуляризація Lasso, яка автоматично видаляє менш важливі ознаки шляхом зменшення їх коефіцієнтів до нуля.
Кожен метод балансує між обчислювальними витратами, інтерпретованістю та прогностичною здатністю.
1234567891011121314151617181920212223242526import pandas as pd import seaborn as sns from sklearn.feature_selection import SelectKBest, f_classif from sklearn.preprocessing import LabelEncoder # Load Titanic dataset train = sns.load_dataset('titanic') # Select numeric and categorical columns (excluding target) features = ['pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked'] X = train[features].copy() y = train['survived'] # Encode categorical features X['sex'] = LabelEncoder().fit_transform(X['sex'].astype(str)) X['embarked'] = LabelEncoder().fit_transform(X['embarked'].astype(str)) # Handle missing values by filling with median (for simplicity) X = X.fillna(X.median(numeric_only=True)) # Select top 5 features based on ANOVA F-value selector = SelectKBest(score_func=f_classif, k=5) X_new = selector.fit_transform(X, y) selected_features = X.columns[selector.get_support()] print("Selected features:", list(selected_features))
У цьому прикладі використовується SelectKBest з scikit-learn із функцією оцінки f_classif для вибору п’яти найбільш релевантних ознак—pclass, sex, parch, fare та embarked—з набору даних Titanic. Цей метод оцінює кожну ознаку окремо за допомогою ANOVA F-значень і обирає ті, що мають найвищі оцінки. Такий підхід ефективний для задач класифікації, оскільки зосереджується на ознаках, які найкраще розділяють цільові класи.
Вибір занадто великої кількості ознак, особливо нерелевантних, може призвести до overfitting (перенавчання), коли модель добре працює на тренувальних даних, але погано — на нових, невідомих даних. Уважний відбір ознак допомагає знизити цей ризик і забезпечує більш стійкі моделі.
Вибір ознак полягає не лише в підвищенні точності—це також робить моделі швидшими та легшими для інтерпретації. Зосереджуючись лише на найважливіших ознаках, ви спрощуєте моделі та зменшуєте ймовірність навчання на шумі в даних.
Дякуємо за ваш відгук!