使用sklearn和线性回归时出错:shape(1,16)和(1,1)未对齐:16(di
我看到了机器学习的故事,我偶然发现了youtube siraj和他的Udacity视频,想要尝试拿起一些东西. 他的视频参考:https://www.youtube.com/watch?v=vOppzHpvTiQ&index=1&list=PL2-dafEMk2A7YdKv4XfKpfbTH5z6rEEj3 在他的视频中,他有一个导入和读取的txt文件,但是当我尝试重新创建txt文件时,它无法正确读取.相反,我尝试使用相同的数据创建一个pandas数据帧并对其执行线性回归/预测,但后来我得到了以下错误. 找到具有不一致样本数的输入变量:[1,16]以及关于传递1d数组的内容,我需要重新整形它们. 然后,当我试图在这篇文章后重塑它们:Sklearn : ValueError: Found input variables with inconsistent numbers of samples: [1,6] 我收到这个错误…. 形状(1,16)和(1,1)未对齐:16(暗淡1)!= 1(暗0) 这是我在下面的代码.我知道这可能是一个语法错误,我只是不熟悉这个scklearn,并希望得到一些帮助.
任何人都可以解释为什么sklearn不喜欢我的输入???? 最佳答案
从documentation开始,LinearRegression.fit()需要一个带有[n_samples,n_features]形状的x数组.这就是为什么你在调用fit之前重塑你的x数组的原因.因为如果你没有,你将拥有一个带有(16,)形状的数组,它不符合所需的[n_samples,n_features]形状,所以没有给出n_features.
对于LinearRegression.predict函数(以及一致性)也有相同的要求,您只需要在调用预测函数时进行相同的整形.
或者,您可以在调用任何函数之前重新整形x数组. 对于特征参考,只需调用DF [‘Brain’]值即可轻松获得内部numpy值数组.您无需将其强制转换为列表 – > numpy数组.所以你可以使用它而不是所有的转换:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |