2017-02-24 64 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