使用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)
非常感谢任何帮助!
答案 0 :(得分:1)
您拟合您的规范化程序,然后直接将其视为数组。替换
T = preprocessing.Normalizer().fit(X)
使用
T = preprocessing.Normalizer().fit_transform(X)
这样就可以使用规范化的实际输出。 .fit()
返回Normalizer对象本身。