预处理器缩放的错误代码?

时间:2018-05-28 15:10:25

标签: python machine-learning scikit-learn

使用KNN,我想尝试不同的规范化器(Normalizer(),MinMaxScaler(),StandardScaler()等)。

我已将数据加载到名为X的变量中:

X = pd.read_csv('C:/Users/rmahesh/documents/parkinson.csv')

在做了一些数据争论之后,我尝试运行这段代码:

from sklearn import preprocessing
from sklearn.decomposition import PCA

T = preprocessing.Normalizer().fit(X)

from sklearn.cross_validation import train_test_split
T_train, T_test, y_train, y_test = train_test_split(T, y, test_size = 0.3, random_state = 7)
from sklearn.svm import SVC
model = SVC()
model = model.fit(T_train, y_train)
score = model.score(T_test, y_test)
print(score)

我得到的具体错误代码是:

TypeError:Singleton数组(Normalizer(copy = True,norm =' l2'),dtype = object)不能被视为有效集合。

出现错误的代码是这一行:

 T_train, T_test, y_train, y_test = train_test_split(T, y,
 test_size = 0.3, random_state = 7)

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

拟合您的规范化程序,然后直接将其视为数组。替换

T = preprocessing.Normalizer().fit(X)

使用

T = preprocessing.Normalizer().fit_transform(X)

这样就可以使用规范化的实际输出。 .fit()返回Normalizer对象本身。