使用SelectKBest[scikit learn]时出现问题



我是scikit-learn和python的初学者,我使用feature_selection包中的SelectKBest尝试了这段看起来非常简单的代码。

    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) 

你们能帮我解决这个问题吗:(?

问题是它需要3个参数。

拟合(X,y)X:类数组,shape=[n_samples,n_features],它是训练输入样本。y:类似数组,shape=[n_samples]是目标值(分类中的类标签,回归中的实数)。

fit_transform(X,y=无,**fit_params)[source]

因此,为了解决您的问题,如果标签存储在训练/测试数据的最后一列,即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

这个代码对我有效。

相关内容

  • 没有找到相关文章

最新更新