Python sklearn model.fit”的;使用序列设置数组元素。”;
我当前正试图通过传递我的X和Y数据并接收此错误来调用我的模型的train()函数。Python sklearn model.fit”的;使用序列设置数组元素。”;,python,scikit-learn,knn,Python,Scikit Learn,Knn,我当前正试图通过传递我的X和Y数据并接收此错误来调用我的模型的train()函数。使用序列设置数组元素。 我试着创建假数据并通过它,它工作得很好。 伪造数据: X = [[1,2,3], [2,1,3]] Y = [0,1] knn_model.train(X,Y) 但是当传递真实数据时,我得到了错误。 真实数据是从图像中提取的像素值。我得到的数据结构与上面的假数据相同,但由于某种原因,我得到了错误 数据是通过实例化变量images=[]创建的,然后附加每个图像的每个像素数组 在调试控制台中,
使用序列设置数组元素。
我试着创建假数据并通过它,它工作得很好。
伪造数据:
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序列(自身、X、Y):
self.model.fit(X,Y)
解决方案出现在错误消息中。发送序列/列表时,您的模型需要一个数组。在附加训练数据之前,请使用numpy
将其从序列转换为数组
numpy.array([1.2, "abc"], dtype=float)
或
我建议分割真实数据,以检查是否存在引发错误的特定图像。一些图像的像素可能会少一些吗?很抱歉响应太晚。你给了我一个很好的提示@Mindcraft。一些图像返回的是“无”,而不是“像素”值。我刚把它们取下来,现在一切都正常了。这正是我最初的想法。在测试了其他一些格式(比如“假数据”格式)之后,我意识到我的格式是正确的。正如我在对Mindcraft的评论中所解释的,我实际上拥有的价值观是没有的+1但是对于提示,它可能会帮助其他收到相同错误的人。
numpy.array([1.2, 1, 42, 46])