Как определить, какие объекты / столбцы / атрибуты следует удалить, используя результаты GridSearch?
Другими словами, если GridSearch возвращает значение max_features, равное 3, можем ли мы определить, какие функции EXACT 3 следует использовать?
Давайте возьмем классический набор данных Iris с 4 функциями.
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import StratifiedKFold
from sklearn.model_selection import GridSearchCV
from sklearn import datasets
iris = datasets.load_iris()
all_inputs = iris.data
all_labels = iris.target
decision_tree_classifier = DecisionTreeClassifier()
parameter_grid = {'max_depth': [1, 2, 3, 4, 5],
'max_features': [1, 2, 3, 4]}
cross_validation = StratifiedKFold(n_splits=10)
grid_search = GridSearchCV(decision_tree_classifier,
param_grid=parameter_grid,
cv=cross_validation)
grid_search.fit(all_inputs, all_labels)
print('Best score: {}'.format(grid_search.best_score_))
print('Best parameters: {}'.format(grid_search.best_params_))
Допустим, мы получаем, что max_features равно 3. Как узнать, какие 3 функции были наиболее подходящими здесь?
Установка max_features = 3 будет работать для подгонки, но я хочу знать, какие атрибуты были правильными.
Нужно ли самому генерировать возможный список всех комбинаций функций для подачи в GridSearch?или есть более простой способ?