Я хотел бы получить контролируемое обучение.Самый простой способ получить имена функций после запуска SelectKBest в Scikit Learn
До сих пор я знаю, что нужно следить за всеми функциями.
Однако я хотел бы также провести эксперимент с лучшими функциями K.
Я прочитал документацию и нашел, что в Scikit вы узнаете, что есть метод SelectKBest.
К сожалению, я не знаю, как создать новый dataframe после обнаружения этих лучших черт:
Давайте предположим, что я хотел бы провести эксперимент с 5 лучшими характеристиками:
from sklearn.feature_selection import SelectKBest, f_classif
select_k_best_classifier = SelectKBest(score_func=f_classif, k=5).fit_transform(features_dataframe, targeted_class)
Теперь, если я хотел бы добавить следующая строка:
dataframe = pd.DataFrame(select_k_best_classifier)
я буду получать новый dataframe без названия компонентов (только индекс, начиная от 0 до 4).
я должен заменить его:
dataframe = pd.DataFrame(fit_transofrmed_features, columns=features_names)
Мой вопрос заключается в том, чтобы создать список features_names ??
Я знаю, что я должен использовать: select_k_best_classifier.get_support()
который возвращает массив логических значений.
Истинное значение в массиве представляет индекс в правом столбце.
Как следует использовать этот логический массив с массивом все функции имен я могу получить с помощью метода:
feature_names = list(features_dataframe.columns.values)