使用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对象本身。