Libsvm python错误

我试图弄清楚python列表的正确格式是什么,作为python中svm_problem函数的输入。我从web获得了以下程序stackoverflow。 我有以下内容:
from svm import *
x=[ [1,0,1],[-1,0,-1],[1,0,0]]
#x=[ [1,0,1],[-1,0,-1]]
prob = svm_problem( [1,-1],x  )
param = svm_parameter(kernel_type = LINEAR, C = 10)
m = svm_model(prob, param)
print m.predict([ 1,1, 1])
它提出了一个断言错误,断言失败说:
assert len(x)==len(y)
。 但如果
x=[ [1,0,1],[-1,0,-1]]
,程序运作完美。我不应该给出长度超过2的火车数据问题吗? 另外我不明白x = [[1,0,1],[ - 1,0,-1]]是什么标签,数据是什么? 任何帮助都非常感谢。     
已邀请:
svm_problem()
有两个参数:标签向量的第一个参数,第二个是特征矩阵。您收到此断言错误是因为您只指定了2个标签
[1, -1]
,作为调用
svm_problem
的第一个参数。 例:
y = [1,-1,1,1]
x = [[1,0,1], [-1,0,-1], [1,2,3], [4,5,6]]
prob = svm_problem(y, x)
    
如果你给出3个例子,你需要给出三个输入的类,所以你需要这样做
prob = svm_problem( [1,1,-1],x  )
或类似的东西。     

要回复问题请先登录注册