缓冲区错误 sklearn SVM 工具包
Buffer error sklearn SVM toolkit
我有这个东西。我正在从一个文本文件中获取一些数据并制作一个这样的列表
d3list=[]
d4list=[]
for i in range (0,99):
d3list.append(data3[i,:])
for i in range (0,99):
d4list.append(data4[i,:])
X = [d3list,d4list]
y = [0,1]
msv = svm.SVC()
msv.fit(X,y)
但是当我尝试 运行 这个时,我得到了这个错误
ValueError: Buffer has wrong number of dimensions (expected 2, got 3)
不知道是X错了还是Y错了。据我所知,列表的列表被接纳为 X 部分的输入。
此致
据推测,您的 d3list
和 d4list
包含 numpy 数组列表。您应该有一个一维数字向量,而不是列表列表。
以下在我的机器上工作正常。
from sklearn import svm
import numpy as np
data3 = np.random.rand(100,2)
data4 = np.random.rand(100,2)
d3list=[]
d4list=[]
for i in range (0,99):
d3list += list(data3[i,:]) #d3list is the concatenation
for i in range (0,99):
d4list += list(data4[i,:]) #d4list is the concatenation
X = [d3list,d4list]
y = [0,1]
msv = svm.SVC()
msv.fit(X,y)
详细说明,
>>> myList = []
>>> myList.append([1,2,3])
>>> myList.append([4,5,6])
>>> myList
[[1,2,3],[4,5,6]]
>>> myList = []
>>> myList += [1,2,3]
>>> myList += [4,5,6]
>>> myList
[1,2,3,4,5,6]
我有这个东西。我正在从一个文本文件中获取一些数据并制作一个这样的列表
d3list=[]
d4list=[]
for i in range (0,99):
d3list.append(data3[i,:])
for i in range (0,99):
d4list.append(data4[i,:])
X = [d3list,d4list]
y = [0,1]
msv = svm.SVC()
msv.fit(X,y)
但是当我尝试 运行 这个时,我得到了这个错误
ValueError: Buffer has wrong number of dimensions (expected 2, got 3)
不知道是X错了还是Y错了。据我所知,列表的列表被接纳为 X 部分的输入。
此致
据推测,您的 d3list
和 d4list
包含 numpy 数组列表。您应该有一个一维数字向量,而不是列表列表。
以下在我的机器上工作正常。
from sklearn import svm
import numpy as np
data3 = np.random.rand(100,2)
data4 = np.random.rand(100,2)
d3list=[]
d4list=[]
for i in range (0,99):
d3list += list(data3[i,:]) #d3list is the concatenation
for i in range (0,99):
d4list += list(data4[i,:]) #d4list is the concatenation
X = [d3list,d4list]
y = [0,1]
msv = svm.SVC()
msv.fit(X,y)
详细说明,
>>> myList = []
>>> myList.append([1,2,3])
>>> myList.append([4,5,6])
>>> myList
[[1,2,3],[4,5,6]]
>>> myList = []
>>> myList += [1,2,3]
>>> myList += [4,5,6]
>>> myList
[1,2,3,4,5,6]