Python 巨蟒:“;ValueError:使用序列“设置数组元素”;使用sklearn时

Python 巨蟒:“;ValueError:使用序列“设置数组元素”;使用sklearn时,python,numpy,scipy,Python,Numpy,Scipy,以下是几行: 结果: Traceback (most recent call last): File "C:\Python\code\test.py", line 14, in <module> clf = clf.fit(X,Y) File "C:\Python\lib\site-packages\sklearn\tree\tree.py", line 790, in fit X_idx_sorted=X_idx_sorted) File "C:\Python\lib\si

以下是几行:



结果:

Traceback (most recent call last):


File "C:\Python\code\test.py", line 14, in <module>
clf = clf.fit(X,Y)
File "C:\Python\lib\site-packages\sklearn\tree\tree.py", line 790, in fit
X_idx_sorted=X_idx_sorted)
File "C:\Python\lib\site-packages\sklearn\tree\tree.py", line 116, in fit
X = check_array(X, dtype=DTYPE, accept_sparse="csc")
File "C:\Python\lib\site-packages\sklearn\utils\validation.py", line 402, 

in check_array
array = np.array(array, dtype=dtype, order=order, copy=copy)
in check_array
array = np.array(array, dtype=dtype, order=order, copy=copy)
ValueError: setting an array element with a sequence.
[Finished in 0.5s]
回溯(最近一次呼叫最后一次):
文件“C:\Python\code\test.py”,第14行,在
clf=clf拟合(X,Y)
文件“C:\Python\lib\site packages\sklearn\tree\tree.py”,第790行,以fit格式
X_idx_排序=X_idx_排序)
文件“C:\Python\lib\site packages\sklearn\tree\tree.py”,第116行
X=检查数组(X,dtype=dtype,accept\u sparse=“csc”)
文件“C:\Python\lib\site packages\sklearn\utils\validation.py”,第402行,
在check_数组中
array=np.array(array,dtype=dtype,order=order,copy=copy)
在check_数组中
array=np.array(array,dtype=dtype,order=order,copy=copy)
ValueError:使用序列设置数组元素。
[在0.5s内完成]

预期结果:

应显示根据身体测量预测的性别:
“182,78,43”

例:男性还是女性

在Sublime上使用sklearn、numpy+mkl和scipy运行Python3.6

代码最初来自:。 整个youtube评论区都没有对此的答案。
如果能在这里找到答案,我将不胜感激。

如果这确实是您的代码,那么问题从一开始就出现了:

X = [[181,80,44], [177, 70, 43], [160, 60, 38], 154, 54, 37], 
[166,64,40], [190,90,47], [175,64,39],[177,70,40],[159,55,37],
[171,75,42],[181,85,43]
正在创建一个远离可用性的东西:

print(X)
# ([[181, 80, 44], [177, 70, 43], [160, 60, 38], 154, 54, 37],)

每个方向添加一个括号(如果你还不清楚的话):阅读SkPoice的数据格式文档:2D形状数组(nx样本,nx特征);还考虑一些单词形状的NoMPY介绍,在内部>所有事物都是基于数字的):

我必须承认:这是应该立即找到的东西,我不明白为什么有人会花时间为它创建帖子,而不是花时间检查简单数组创建的语法

平心而论:我认为它一开始不会经过语法检查(这确实是一个奇怪的结构)

编辑:公平地说#2:链接的视频也真的那么糟糕。。。我不知道该怎么想(在这个任务中使用DTree可能已经很疯狂了,甚至线性回归似乎更可行)


是的,在按照上述方法进行校正后,代码预测
男性

最初的方法是我可以想象的,就像视频中解释的依赖(sklearn),需要有一个坚实的基础来进行工作,从中检索的东西也很容易与这种现象相关。感谢你能在发言中言简意赅。我从中吸取了教训!确保掌握基本知识:numpy、sklearn。这很重要。我不认为这个视频频道一见钟情(破译代码,有趣的ALGO决定,这个演示,特别是关于页面)!我必须承认:如果没有查看python的文档,我并不真正理解X到底是什么(外部结构是一个元组),但这并不重要,因为它没有遵循所需的假设。在学习基础知识的大量教程、文档等中,有什么关于autodidact的建议吗?至于第二个表达,向后学习就是答案。我不知道你想学什么。但是理解理论,然后理解技术就足够了。这意味着:寻找开放大学ML课程,然后遵循官方的numpy/scipy/sklearn文档。
print(X)
# ([[181, 80, 44], [177, 70, 43], [160, 60, 38], 154, 54, 37],)
X = [[181,80,44], [177, 70, 43], [160, 60, 38], [154, 54, 37],  # before 154
[166,64,40], [190,90,47], [175,64,39],[177,70,40],[159,55,37],
[171,75,42],[181,85,43]]                                        # at end