老师您好,看一下这是哪里出问题了?
来源:4-2 scikit-learn中的机器学习算法封装
一步一步进阶
2018-10-18
写回答
1回答
-
liuyubobobo
2018-10-18
需要传入一个二维数组,你传的是一维数组:)
------
这个课程在讲解的时候,我给predict传的是x。如果看这个课程的官方github,你就会看到如下的提示:
红色文字说的就是,在scikit-learn 0.19以后,predict不能再传1d的数组,只能传2d的数组。我相信你现在使用的scikit-learn的版本,是0.19以上的:)
之所以做出这个改动,是因为,对于1d数组,可能产生歧义。一个有n个元素的数组,到底表示有n个样本,每个样本只有一个特征?还是表示有一个样本,这个样本有n个特征?
这段提示也告诉了大家解决方案:
如果你的1d数组表示n个样本,每个样本有一个特征,传入:
x.reshape(-1,1)
如果你的1d数组表示1个样本,这个样本有n个特征,传入:
x.reshape(1,-1)
加油!:)
022018-10-18
相似问题