transform()接受2个位置参数,但给出了3个

时间:2019-07-07 15:38:56

标签: python-3.x knn feature-selection

以下是我的代码:-

from sklearn.feature_selection import SelectKBest, chi2, f_regression

X_train_new = SelectKBest(score_func=chi2,k=2000).fit_transform(X_train_2,y_train)

X_cv_new = SelectKBest(score_func=chi2,k=2000).transform(X_cv_2,y_cv)

X_test_new = SelectKBest(score_func=chi2,k=2000).transform(X_test_2,y_test)

X_train_new.shape, X_cv_new.shape, X_test_new.shape

我正在尝试选择前2000个功能,然后将其应用于tfidf特征化的火车,简历和测试数据。

在执行上述操作时,我得到了"TypeError: transform() takes 2 positional arguments but 3 were given"

1 个答案:

答案 0 :(得分:0)

根据文档提供的内容, self 被视为一个参数,因此当您将 y_train,y_cv, y_test 提供给方法,这些被当作第三个参数。该方法采用( self ,X),其中X是形状[n_samples,n_features]的数组。