【发布时间】:2018-03-11 18:21:28
【问题描述】:
我正在尝试在 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
那里的切片错误是什么?或任何与此相关的错误
【问题讨论】:
-
错误是你试图用任何
i来索引y[i],但i可能是一些字符串标签,我猜?print(i)你的错误应该会变得清晰。 -
哪一行给出了错误?
-
能否请您修复缩进并提供完整的错误消息。
-
看不出缩进怎么错了!
标签: python