【python线性回归的小例子】

python实现线性回归的小例子

  • 前言
    • 使用的数据
    • Python代码
    • 结果
  • 参考文献

前言

线性回归是机器学习中最简单的有监督学习算法之一,由于它非常简单,有时甚至不被认为是机器学习的一部分。当目标向量是数值时(如房价),线性回归及其扩展一直是常见且有效的预测方法。回归分析是一种基于因果分析原理的预测方法,通过分析各因素对需求结果的影响,利用历史数据,建立回归方程,再利用所得方程进行预测。本例为单因素回归。

使用的数据

数据来源于赵晓波编著的库存管理课本P28的汽车销售数据:

价格 (万元) 销量(千辆)
9 12.23
9.23 11.7
9.41 10.21
9.41 10.21
9.68 9.60
9.98 8.72
10.20 7.70
10.58 7.10
10.68 6.61
10.88 6.10
10.98 5.82
11.28 5.50
11.38 5.23
11.56 4.65
11.88 4.20
12.00 3.50

Python代码

import pandas as pd
import matplotlib.pyplot as plt
import pylab
from sklearn.linear_model import LinearRegression 

#数据分布的散点图
car=pd.read_csv("file.csv")
plt.rcParams['font.sans-serif'] = ['SimHei']  
plt.scatter(car.iloc[:,0],car.iloc[:,1])
plt.xlabel("价格")
plt.ylabel("汽车销量")
pylab.show()
car.iloc[:,0:2].corr()#计算相关系数 -1为负相关,1为正相关

#拟合一条直线
model = LinearRegression() #创建线性回归对象
feature_cols = ["price"]
x=car[feature_cols] 
y=car.sales
model.fit(x,y) #拟合线性回归模型

#画图
plt.scatter(car.price,car.sales)
plt.plot(car.price,model.predict(x),color='blue')
plt.xlabel("价格")
plt.ylabel("汽车销量")
plt.savefig('线性回归-销量预测.jpg')
pylab.show()
print("截距与斜率:",model.intercept_,model.coef_) #查看截距和斜率
#截距与斜率为: 36.56335380116659 [-2.76953318]
#回归方程为Y=-2.77X+36.57

#预测
model.predict([[9.5]])
#预测结果:array([10.25278855])

结果

【python线性回归的小例子】_第1张图片

参考文献

[1] https://www.yisu.com/zixun/587864.html.
[2] 赵晓波, 黄四民. 库存管理 : Inventory management[M]. 清华大学出版社, 2008.
[3] (美)Chris Albon. Python机器学习手册 : 从数据预处理到深度学习[M]. 中国工信出版集团, 2019.

你可能感兴趣的:(python,线性回归)