Получить имена функций из объединения конвейеров + функций - PullRequest
0 голосов
/ 17 июня 2020

Я тестировал этот код, который видел в сети, и задавался вопросом, как я могу получить из него окончательные названия функций SelectKBest? Причина в том, что я пытаюсь реализовать выбор функций в рамках перекрестной проверки в моем наборе данных, поскольку он сильно несбалансирован и выполняет простое разделение на тестовый поезд, тогда выбор функций из набора поездов не будет надежным. Пожалуйста, поправьте меня, если я ошибаюсь. Спасибо!

from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_validate
from sklearn.pipeline import Pipeline
from sklearn.pipeline import FeatureUnion
from sklearn.linear_model import LogisticRegression
from sklearn.feature_selection import SelectKBest

X = data.drop('Species', axis = 1)
y = data['Species']

# create feature union
features = []
features.append(('select_best', SelectKBest(k=2)))
feature_union = FeatureUnion(features)

# create pipeline
estimators = []
estimators.append(('feature_union', feature_union))
estimators.append(('logistic', LogisticRegression(solver='liblinear')))
model = Pipeline(estimators)

# evaluate pipeline
kfold = KFold(n_splits=5, random_state=7, shuffle=True)
results = cross_validate(model, X, y, cv=kfold, return_train_score = True, scoring = 
'accuracy')

print(results.keys())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...