Python 使用SelectKBest[scikit学习]时遇到的问题

Python 使用SelectKBest[scikit学习]时遇到的问题,python,machine-learning,scikit-learn,classification,feature-selection,Python,Machine Learning,Scikit Learn,Classification,Feature Selection,我是scikit学习和python的初学者,我使用feature_选择包中的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() take

我是scikit学习和python的初学者,我使用feature_选择包中的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:array-like,shape=[n_-samples,n_-features]是训练输入样本。y:array-like,shape=[n_-samples]是目标值(分类中的类标签,回归中的实数)

拟合变换(X,y=None,**拟合参数)[来源]

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

这个代码对我有用。

您能粘贴完整的代码吗?您在哪里定义chi2?列车/测试数据的格式是什么?