Самый простой способ получить имена функций после запуска SelectKBest в Scikit Learn.Python

Программы на Python
Ответить
Anonymous
 Самый простой способ получить имена функций после запуска SelectKBest в Scikit Learn.

Сообщение Anonymous »

Я пытаюсь провести контролируемый эксперимент по машинному обучению, используя функцию SelectKBest scikit-learn, но не знаю, как создать новый фрейм данных после обнаружения лучших функций:
Предположим, я хочу провести эксперимент, выбрав 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)
Теперь, если я добавлю строку:

Код: Выделить всё

import pandas as pd

dataframe = pd.DataFrame(select_k_best_classifier)
Я получаю новый фрейм данных без имен объектов (только индекс от 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) ?

Подробнее здесь: https://stackoverflow.com/questions/398 ... -scikit-le
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»