Python错误 - 只有整数,切片(`:`),省略号(```),numpy.newaxis(`None`)和整数或布尔数组是有效的索引

时间:2017-09-29 19:27:31

标签: python

我正在尝试在python中实现SVM,但我无法弄清楚这一行中的错误:if i == y[i] :

dataset = genfromtxt('E:\cleveland.csv',dtype= float,delimiter=',')
#print dataset
X = dataset[:,0:12] #labels
y = dataset[:,13]  #target

#replace 1 to 4 by 1 label
for index,item in enumerate(y):
    if not(item==0.0):
        print(y)
target_names = ['0', '1']

modelSVM = LinearSVC(C=0.1)
pca = PCA(n_components=2, whiten=True).fit(X)
X_new = pca.transform(X)

#calling plot_2D
plot_2D(X_new,y,target_names)

#Applying cross validation on the training and test set for validating our Linear SVM model
X_train, X_test, y_train, y_test=cross_validation.train_test_split(X_new,y,test_size=0.2,train_size=0.8,random_state=0) 
modelSVM = modelSVM.fit(X_train,y_train)
print ("Linear SVC values with split")
print (modelSVM.score(X_test,y_test))
modelSVMRaw = LinearSVC(C=0.1)
modelSVMRaw = modelSVMRaw.fit(X_new,y)
cnt=0
for i in modelSVMRaw.predict(X_new):
    if i == y[i]:
        cnt=cnt+1

那里的切片错误是什么?或者任何错误

1 个答案:

答案 0 :(得分:1)

modelSVMRaw.predict(X_new)返回的值不是整数,您使用它来索引数组y。