2017-02-24 101 views
0

我目前正在做數據建模,並且出現錯誤,無法找到解決方案。所以我希望能從這個平臺上得到一些幫助! 在此先感謝。數據建模 - SVM

我的代碼: -

from sklearn import cross_validation 
from sklearn.cross_validation import cross_val_score 
from sklearn.cross_validation import train_test_split 
from sklearn import svm 

X = np.array(observables) #X are features 
y = np.array(df['diagnosis']) # y is label 

X_train, y_train, X_test, y_test= cross_validation.train_test_split(X, y, test_size=0.2) 

clf= svm.SVC() 
clf.fit(X_train, y_train) 
accuracy= clf.score(X_test, y_test) 
print (accuracy) 

但是我得到這個錯誤:

ValueError: bad input shape (114, 8)

+1

請顯示'print(X.shape)'和'print(y.shape)' – arthur

回答

2

好像你混了return values of train_test_split的順序,使用

X_train, X_test, y_train, y_test= cross_validation.train_test_split(X, y, test_size=0.2) 

代替

X_train, y_train, X_test, y_test= cross_validation.train_test_split(X, y, test_size=0.2) 
+0

起初我想:爲什麼他要鏈接一些棄用函數(如鏈接所示),但後來我意識到它是穩定分支的文檔,它遵循問題中的原始用法。好答案! – sascha