运行 sklearn 线性回归,得到“样本数不一致的数组”错误
Posted
技术标签:
【中文标题】运行 sklearn 线性回归,得到“样本数不一致的数组”错误【英文标题】:Running sklearn linear regression, getting "arrays with inconsistent numbers of samples" error 【发布时间】:2017-04-06 16:40:28 【问题描述】:我正在尝试在 sklearn 中运行一个简单的线性回归。我有一个包含两列“喜欢”和“出勤”的 Pandas 数据框,这两列都有 18 个样本。
lr = LinearRegression()
lr.fit(Likes,Attendance)
我收到以下错误:
C:\Anaconda3\lib\site-packages\sklearn\utils\validation.py:386: DeprecationWarning: Passing 1d arrays as data 在 0.17 中被弃用,并且会在 0.19 中引发 ValueError。如果您的数据具有单个特征,则使用 X.reshape(-1, 1) 或 X.reshape(1, -1) 如果它包含单个样本,则使用 X.reshape(1, -1) 重塑您的数据。 弃用警告)
...
ValueError:发现样本数不一致的数组:[1 18]
即使在我使用 Likes.reshape(-1, 1) 重新调整数据后,我还是遇到了同样的错误。
谁能帮忙?
【问题讨论】:
我查了一下,Likes 和 Attendance 的形状都是“(18,)” 【参考方案1】:您的数据中只有一个特征,因此(如您发布的错误中所建议的那样)“重塑您的数据......使用 X.reshape(-1, 1)”。
lr = LinearRegression()
lr.fit(X=Likes.reshape(-1, 1), y=Attendance)
我看到你试过这个。我上面的代码不起作用吗?
【讨论】:
以上是关于运行 sklearn 线性回归,得到“样本数不一致的数组”错误的主要内容,如果未能解决你的问题,请参考以下文章