机器学习:利用sklearn方法的多元线性回归模型(通过成绩预测绩点)

这篇博客介绍了如何使用sklearn库实现多元线性回归模型,通过学生的数学和英语成绩预测绩点。博主首先展示了二元线性回归的代码和3D图示例,然后说明了如何扩展到三元及以上线性回归,并指出系数代表各科目成绩对绩点的权重。文章强调了多特征对于提高预测准确性的重要性,并提到模型可以应用于房价预测、人口增长分析等领域。
摘要由CSDN通过智能技术生成

        之前做了个一元的线性回归预测,机器学习:利用sklearn方法的一元线性回归模型(通过成绩预测绩点)_tianhai12的博客-CSDN博客

        其实拟合度不高,因为毕竟学生都有偏科现象~~所以,通过将各科成绩都作为特征向量来进行预测才会更加精确的预测绩点

        这里就分享一下多元线性回归模型,这里是在数学成绩后面又加了一列英语成绩

        二元的代码和演示效果如下

import numpy as np
from sklearn import linear_model
import matplotlib.pyplot as plt
# 1、载入数据
data = np.genfromtxt('D:\文件\机器学习/new2.csv', delimiter=",")
x_data = data[:,:-1]
y_data = data[:,-1]
print(x_data, y_data ,len(x_data))
print(x_data, y_data)
# 应用模型
model = linear_model.LinearRegression()
model.fit(x_data, y_data)
print("系数w:", model.coef_)
print("偏置项b:", model.intercept_)
# 画3D图
ax = plt.figure().add_subplot(111, projection='3d')
ax.scatter(x_data[:, 0], x_data[:, 1], y_data, c='r', marker='o', s=100)  # 调参
x0 = x_data[:, 0]
x1 = x_data[:, 1]
# 绘制网格矩阵
x0, x1 = np.meshgrid(x0, x1)
# 公式z=w*x0+w*x1+b
z_data = model.intercept_ + x0*model.coef_[0] + x1*model.coef_[1]
# 坐标轴以及标签
ax.plot_surface(x0, x1, z_data)
ax.set_xlabel('MathGrade')
ax.set_ylabel('EnglishGrade')
ax.set_zlabel('GPA')
plt.show()

用得出来的系数和偏置项去计算绩点,效果还是不错的

比如我两科成绩都为85,经计算得出我的GPA最后为3.359

三元及以上线性回归

 三元或N元只需在x_data中有3列或n列数据即可

再加一份线性代数成绩!

但是不能用matplotlib画图了(没有三元及以上的绘图函数),这里只写得出系数和偏置项的代码了。

import numpy as np
from sklearn import linear_model
# 1、载入数据
data = np.genfromtxt('D:\文件\机器学习/new3.csv', delimiter=",")
x_data = data[:,:-1]
y_data = data[:,-1]
print(x_data, y_data, len(x_data))
# 应用模型
model = linear_model.LinearRegression()
model.fit(x_data, y_data)
print("系数w:", model.coef_)
print("偏置项b:", model.intercept_)

系数w也是每个成绩所占的权重,由此可见重要性上来看我们班的高数>英语>线代

也可以用此模型来预测身边的各种例子呀

比如:预测房价、人口增长分析、预测天气等

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天海一直在AI

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

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

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

打赏作者

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

抵扣说明:

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

余额充值