Ошибка при использовании sv c .fit (): ValueError: неправильная форма ввода - PullRequest
1 голос
/ 29 января 2020

У меня есть данные о пациентах с болезнью Паркинсона, хранящиеся в кадре данных X , и есть ли у пациента болезнь Паркинсона, обозначенная y (0 или 1). Это получается:

X=pd.read_csv('parkinsons.data',index_col=0)
y=X['status']
X=X.drop(['status'],axis=1)

Затем я создаю обучающие и тестовые образцы:

X_train, y_train, X_test, y_test = train_test_split(X,y,test_size=0.3,random_state=7)

Я хочу использовать SV C на этих данных обучения:

svc=SVC()
svc.fit(X_train,y_train)

Затем я получаю ошибку: ValueError: неправильная форма ввода (59, 22). Что я сделал не так и как я могу избавиться от этой ошибки?

Ответы [ 2 ]

2 голосов
/ 29 января 2020

У вас есть проблемы с определением train_test_split Осторожно! train_test_split сначала выводит партию X, затем партию Y. Вы на самом деле называете y_train X_test. Измените это, и оно должно работать:

X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3,random_state=7)
0 голосов
/ 29 января 2020

Либо используйте это

X_train, y_train, X_test, y_test =train_test_split(X,y,test_size=0.3,random_state=7)
svc=SVC()
svc.fit(X_train,X_test)

Или это

X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3,random_state=7)
svc=SVC()
svc.fit(X_train,y_train)

Я предпочитаю использовать второй

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