#pandas #computer-vision #classification #rfe
#pandas #компьютерное зрение #классификация #rfe
Вопрос:
Я ищу некоторую ясность в отношении числа, связанного с selector.grid_scores_
в RFECV.
Я использовал следующее:
from sklearn.feature_selection import RFECV
estimator_RFECV = ExtraTreesClassifier(random_state=0)
estimator_RFECV = RFECV(estimator_RFECV, min_features_to_select = 20, step=1, cv=5, scoring='accuracy', verbose=1, n_jobs=-1)
estimator_RFECV = estimator_RFECV.fit(X_train, y_train)
При использовании estimator_RFECV.ranking_
27 функций выбираются через CV, однако, когда я смотрю на estimator_RFECV.grid_scores_
, в 27 значение здесь (точность) не самое высокое. grid_scores_
Неверно ли я интерпретирую, и я не должен ожидать, что 27 будет иметь наивысшую точность?
Ответ №1:
- Здесь estimator_RFECV.ranking_ предоставит вам массив ранжирования объектов, такой, что ranking_ [i] соответствует позиции в рейтинге i-го объекта. Выбранным (т. Е. оцениваемым лучшим) функциям присваивается ранг 1, функция, получившая 2 место, будет менее важной, чем функция, получившая 1 место, и так далее.
Таким образом, estimator_RFECV.ranking_ даст нам рейтинг функций или мы можем указать соответствующую важность функции.
- Однако estimator_RFECV.grid_scores_ предоставит нам массив на основе показателей оценки, min_features_to_select и максимального количества доступных функций. В приведенном выше случае оно должно содержать 8 элементов, каждый из которых представляет точность с максимальными X функциями, где X принадлежит 20-27.
И да, всегда возможно, что модель с меньшим количеством функций может иметь более высокую точность, потому что некоторые функции, которые мы, возможно, считали неактуальными.
Также может быть полезной ссылка на документацию по RFECV из официальной документации.