Python机器学习——线性回归案例(一)

引入披萨问题

案例分析:构建线性回归模型,计算披萨价格

       假设你想计算匹萨的价格。虽然看看菜单就知道了,不过也可以用机器学习方法建一个线性回归模型,通过分析匹萨的直径与价格的数据的线性关系,来预测任意直径匹萨的价格。

在这里插入图片描述

1.将这两组数据散点图可视化,观察它们之间的关系

① 导入绘图工具

# 导入绘图工具
import matplotlib.pyplot as plt

② 绘制散点图

# 导入数据
X = [[6],[8],[10],[14],[18]]
y = [[7],[9],[13],[17.5],[18]]
# 绘制散点图
plt.scatter(X,y)
# 绘制网格
plt.grid()
# 展示图形
plt.show()

完整代码为:

# 导入绘图工具
import matplotlib.pyplot as plt
# 导入数据
X = [[6],[8],[10],[14],[18]]
y = [[7],[9],[13],[17.5],[18]]
# 绘制散点图
plt.scatter(X,y)
# 绘制网格
plt.grid()
# 展示图形
plt.show()

③运行结果为:
在这里插入图片描述

2.通过观测散点图,可知该组数据基本呈现线性关系,开始我们的模型构建已经模型预测

① 导入线性回归模型的库

# 导入需要的库
from sklearn import linear_model

② 四步走:构建模型 + 训练模型 + 模型系数 + 模型预测

# 1.构建模型
model = linear_model.LinearRegression()
# 2.训练模型
model.fit(X,y)
# 3.模型系数
print("截距:",model.coef_)
print("系数:",model.intercept_)
y_pred = model.predict(X)
plt.plot(X,y_pred,'r--') # 拟合方程
# 展现图形
plt.show()
# 4.模型预测
result = model.predict([[12]])
print("直径为12的披萨预测的价格为:",result)

细节解析: r–表示拟合方程以红色虚线呈现

综合①②完整代码为:

import matplotlib.pyplot as plt
from sklearn import linear_model
X = [[6],[8],[10],[14],[18]]
y = [[7],[9],[13],[17.5],[18]]
# 绘制散点图
plt.scatter(X,y)
# 展现网格
plt.grid()

# 1.构建模型
model = linear_model.LinearRegression()
# 2.训练模型
model.fit(X,y)
# 3.模型系数
print("截距:",model.coef_)
print("系数:",model.intercept_)
y_pred = model.predict(X)
plt.plot(X,y_pred,'r--') # 拟合方程
# 展现图形
plt.show()
# 4.模型预测
result = model.predict([[12]])
print("直径为12的披萨预测的价格为:",result)
# 运行结果为:
# 截距: [[0.9762931]]
# 系数: [1.96551724]
# 直径为12的披萨预测的价格为: [[13.68103448]]

③ 运行结果为:
在这里插入图片描述

3.总结:

       ① 绘制散点图观测
       ② 导入线性回归模型库
       ③ 构建模型 + 训练模型 + 模型系数 + 预测模型

另:补充使用 excel 来做线性回归模型预测:
在这里插入图片描述

发布了27 篇原创文章 · 获赞 7 · 访问量 2118

猜你喜欢

转载自blog.csdn.net/lucky_shi/article/details/105186572
今日推荐