0

Я начинаю с scikit-learn и python, я пробовал этот код, который выглядит очень просто, используя SelectKBest из пакета feature_selection.Сбои с помощью SelectKBest [scikit-learn]

train = pd.read_csv("train.csv") 
test = pd.read_csv('test.csv') 
train = SelectKBest(chi2, k=120).fit_transform(train) 

print train.shape 

но я получил эту ошибку, и я действительно не знаю, как ее исправить !!

TypeError: fit() takes exactly 3 arguments (2 given) 

Может у ребят помочь мне фиксируя что :(

+0

Не могли бы вы вставить свой полный код? где вы определяете chi2? Каков формат данных вашего поезда/теста? – flyingmeatball

ответ

0

Вопрос заключается в том, что он ожидал 3 аргумента

припадок (X, у) X:. Массив типа, форма = [n_samples, n_features], который представляет собой входные данные для обучения. y: array-like, shape = [n_samples] - целевые значения (метки классов в классификации, действительные числа в регрессии).

fit_transform (X, y = None , ** fit_params) [источник]

Поэтому, чтобы решить вашу проблему, если метки сохраняются в последнем столбце обучения/тестовых данных т.е. train.ix [: - 1], вы можете сделать это:

train = pd.read_csv("train.csv") 
test = pd.read_csv('test.csv') 
model = SelectKBest(chi2, k=120).fit_transform(train.ix[:,:-1],train.ix[:,-1]) 

print train.shape 

Этот код работал на меня.

+0

Thank's Oer, теперь он работает –

Смежные вопросы