微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

模拟线性回归 scikit-learn python

如何解决模拟线性回归 scikit-learn python

我想运行线性回归,但此代码生成从“reg = LinearRegression()”开始的错误

import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from scipy.stats import binom

from scipy.stats import norm
# generate random numbers from N(0,1)
x = norm.rvs(size=10000,loc=0,scale=1)
y = norm.rvs(size=10000,scale=1)
z = binom.rvs(n=10,p=0.8,size=10000)
df = pd.DataFrame(data={'v1':x.flatten(),'target':y.flatten(),'label':z.flatten()})
df.head(10)

reg = LinearRegression()
reg.fit(df['v1'],df["target"])

错误信息: ValueError:预期的二维数组,而是得到一维数组: 数组=[ 0.39507346 -0.01013895 -0.83918156 ... 0.47254883 0.02202747 0.50782984]。 如果您的数据具有单个特征,则使用 array.reshape(-1,1) 或使用 array.reshape(1,-1) 如果它包含单个样本来重塑您的数据。

有什么错误提示吗?

解决方法

使用.values.reshape(-1,1)

reg.fit(df['v1'].values.reshape(-1,1),df["target"].values.reshape(-1,1))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。