Код ошибки с препроцессорным масштабированием? - PullRequest
0 голосов
/ 28 мая 2018

Используя 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: Массив синглтон-массива (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 голосов
/ 28 мая 2018

Вы подходите своему нормализатору, а затем напрямую обрабатываете его как массив.Замените

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

на

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

, чтобы вместо них использовался фактический выход нормализации..fit() возвращает сам объект нормализатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...