我目前正在尝试通过传递X和Y数据并收到此错误setting an array element with a sequence.
我尝试创建假数据并通过它,它工作得很好。 伪造数据:
X = [[1,2,3], [2,1,3]]
Y = [0,1]
knn_model.train(X,Y)
但是当传递真实数据时,我得到了错误。 实际数据是从图像中提取的像素值。我得到的数据结构与上面的伪造数据相同,但是由于某种原因我得到了错误。
通过实例化变量images = []
,然后附加每个图像的每个像素数组来创建数据。
在调试控制台中,这是假数据和真实数据:
real data: array dtype('O') of list containing array dtype('uint8')
fake data: array dtype('int32') of list containing array dtype('int32')
收到的错误是当函数fit()被调用并且错误为
“使用序列设置数组元素。”
火车功能:
def train(self, X, Y):
self.model.fit(X, Y)
答案 0 :(得分:1)
解决方案在错误消息中。您的模型在发送序列/列表时需要一个数组。在附加数据之前,请使用numpy
将训练数据从序列转换为数组。
numpy.array([1.2, "abc"], dtype=float)
或
numpy.array([1.2, 1, 42, 46])