使用线性回归拟合平面最佳直线及预测之Python+sklearn实现

本文代码采用sklearn扩展库实现,使用线性回归算法解决下面的问题:根据平面上已知3个点的坐标,拟合最佳直线斜率k和截距b,然后根据拟合的结果对给出的x坐标进行预测,得到y坐标。

from sklearn import linear_model


def linearRegressionPredict(x, y):
    lr = linear_model.LinearRegression()
    # 拟合
    lr.fit(x, y)
    return lr


# 平面上三个点的x轴坐标
x = [[1], [5], [7]]
# 平面上三个点的y轴坐标
y = [[3], [100], [120]]


# 根据已知3个点拟合最佳直线的系数和截距
lr = linearRegressionPredict(x, y)
# 查看最佳拟合系数
print('k:', lr.coef_)
# 截距
print('b:', lr.intercept_)


# 测试代码,预测
xs = [[[3]], [[5]], [[7]], [[10]]]
for item in xs:
    print(item, ':', lr.predict(item))


运行结果:

k: [[ 20.17857143]]
b: [-13.10714286]
[[3]] : [[ 47.42857143]]
[[5]] : [[ 87.78571429]]
[[7]] : [[ 128.14285714]]
[[10]] : [[ 188.67857143]]



----------喜大普奔----------

1、继《Python程序设计基础》《Python程序设计(第2版)》《Python可以这样学》系列图书之后,董付国老师新书《Python程序设计开发宝典》已于2017年8月1日在清华大学出版社出版。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:

https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Python和scikit-learn库中的线性回归算法可以预测血糖。首先,我们需要将血糖和其他相关的特征作为输入数据。这些特征可以包括个人的年龄、性别、体重、身高、饮食、运动习惯等。 接下来,我们需要导入线性回归模型,并将输入数据分成训练集和测试集。训练集用于训练模型,测试集用于评估模型的性能。可以使用sklearn的`train_test_split()`函数进行数据集的划分。 然后,我们需要将特征进行标准化处理,确保它们具有相似的尺度。可以使用sklearn的`StandardScaler()`进行标准化处理。 接下来,我们需要使用线性回归模型拟合训练数据。可以使用sklearn的`LinearRegression()`函数创建线性回归模型,并使用`fit()`方法来拟合训练数据。 然后,我们可以使用模型对测试数据进行预测使用模型的`predict()`方法,将测试数据作为输入,得到对应的预测。 最后,我们可以使用评估指标(如均方误差、均方根误差等)来评估模型的性能。可以使用sklearn的`mean_squared_error()`函数计算均方误差,并使用其他适用的评估指标进行评估。 在预测血糖,我们可以根据个人的特征和训练好的模型,使用模型的`predict()`方法来预测血糖水平。 总而言之,通过使用Python和scikit-learn中的线性回归算法,我们可以使用相关的特征预测血糖水平,并对模型的性能进行评估。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongfuguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值