使用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:单例数组array(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)


任何帮助将不胜感激!

最佳答案

您正在装配规格化器,然后将其直接视为数组。更换

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




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


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

08-25 06:17