线性回归实例

回归分析简单介绍:
https://www.jianshu.com/p/525538eb1540

通过一个实例,来实践下。实例来自网上,学习笔记如下。

线性回归,就是说自变量和因变量之间是一种线性关系,可以用来做预测。

实例:计算披萨的价格

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

线性回归实例_第1张图片

这里的自变量是披萨的直径,因变量就是价格,我们要使用线性回归分析,需要先确认两个变量之间是否为线性关系,我们可以使用散点图来看一下。

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.title('匹萨价格与直径数据')
plt.xlabel('直径(英寸)')
plt.ylabel('价格(美元)')

plt.axis([0, 25, 0, 25])
plt.grid(True)

x = [[6], [8], [10], [14], [18]]
y = [[7], [9], [13], [17.5], [18]]

plt.scatter(x,y)

plt.show()
线性回归实例_第2张图片

看上去,的确是一种线性的关系,那我们就可以开始了。

我们主要是调包,scikit-learn有现成的包

from sklearn import linear_model

model = linear_model.LinearRegression()
model.fit(x, y)

print(model.intercept_) #截距
print(model.coef_) #线性模型的系数
线性回归实例_第3张图片

这样,我们就得到了Y与X之间的线性关系,我们可以绘制一个图,来看看实际值与预测值之间的关系,当我们想要知道任何一个尺寸的披萨的价格的时候,就可以通过该模型得出了。

线性回归实例_第4张图片

上面,我们使用了一个LinearRegression模型
官方文档地址:sklearn.linear_model.LinearRegression

class sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)
fit_interceptbool, optional, default True
是否计算该模型的截距

normalizebool, optional, default False
表示是否对参数进行归一化

Ordinary least squares Linear Regression
这是最小二乘法模型

这里有一点要注意的就是,传入的参数和返回的结构都是二维数组 [[xx]]

原文中,还做了模型评估,暂时没理解,后面再研究下。

参考

python3机器学习sklearn之线性回归(一)

你可能感兴趣的:(线性回归实例)