博而有为 2021-08-27 14:31 采纳率: 60%
浏览 74
已结题

IndexError: list index out of range

能帮我解决一下这个问题吗?已经被困扰好几天了,谢谢

from sklearn.svm import SVC   
svclf = SVC(kernel = 'linear') 
svclf.fit(x_train,y_train)  
preds = svclf.predict(x_test);  
num = 0
preds = preds.tolist()
for i,pred in enumerate(preds):
    if int(pred) == int(y_test[i]):    #(这一行报错)
        num += 1
print ('precision_score:' + str(float(num) / len(preds)))


  • 写回答

3条回答 默认 最新

  • 唯羽 2021-08-27 16:38
    关注

    你查下

    from sklearn.svm import SVC
    svclf = SVC(kernel = 'linear')
    svclf.fit(x_train,y_train)
    preds = svclf.predict(x_test);
    num = 0
    preds = preds.tolist()
    len_y_test = len(y_test)
    for i,pred in enumerate(preds):
        if i >= len_y_test:
            raise IndexError('y_test的长度为{}, i要取{}, 超出索引了'.format(len_y_test, i))
        if int(pred) == int(y_test[i]):    #(这一行报错)
            num += 1
    print ('precision_score:' + str(float(num) / len(preds)))
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月9日
  • 已采纳回答 9月1日
  • 创建了问题 8月27日