sklearn实现多元线性回归 【Python机器学习系列(七)】
文章目录
ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞ
ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞ
自行准备一组可以做多元回归的数据,以数据文件 data.csv
为例,做二元回归。
; 1.读取数据
首先导入相关库,并获取数据的代码如下:
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
data = np.loadtxt("data.csv",delimiter=",")
x_data = data[:, 0:-1]
y_data = data[:, -1]
2.训练模型
然后开始训练模型,并输出求得的相关参数。并做预测进行测试。
model = LinearRegression()
model.fit(x_data, y_data)
print(f"theta1,theta2:{model.coef_}")
print(f"theta0:{model.intercept_}")
x_test = [[102, 4]]
预测
predict = model.predict(x_test)
print(f"当前 里程为 102 运输次数为 4 预测时长为:{predict}")
输出结果如下图所示:
3.可视化
将回归结果以图像的形式展示出来。
x_0 = x_data[:, 0]
x_1 = x_data[:, 1]
x_0, x_1 = np.meshgrid(x_0, x_1)
y_hat = model.intercept_ + model.coef_[0]*x_0 + model.coef_[1]*x_1
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(x_data[:, 0], x_data[:, 1], y_data)
ax.plot_surface(x_0, x_1, y_hat)
ax.set_xlabel("x1")
ax.set_ylabel("x2")
ax.set_zlabel("y")
plt.show()
拟合结果下图所示:
本次分享就到这里,小啾感谢您的关注与支持!
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ
Original: https://blog.csdn.net/weixin_48964486/article/details/126221430
Author: 侯小啾
Title: sklearn实现多元线性回归 【Python机器学习系列(七)】
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606104/
转载文章受原作者版权保护。转载请注明原作者出处!