一、 简单线性回归
一般来讲回归是通过连续数据用来预测的,除了逻辑回归,那是个分类算法。线性回归是个监督算法,通过已有的样本和观测值(标签)构成训练数据,然后通过训练模型,来预测以后那些没有标签的样本数据。简单线性回归就是说 样本值和标签之间的关系是线性的。我们先讲一个单样本参数和单一标签的例子。一个通过披萨尺寸预测披萨价格的例子。
尺寸(inch) | 价格(dollar) |
---|---|
6 | 7 |
8 | 9 |
10 | 13 |
14 | 17.5 |
18 | 18 |
我们可以先用matplotlib画出这些点的分布
import matplotlib.pyplot as plt
%matplotlib inline
X = [[6],[8],[10],[14],[18]]
y = [[7],[9],[13],[17.5],[18]]
plt.figure()
plt.title("pizza price plot against diameter")
plt.xlabel("diameter")
plt.ylabel("price")
plt.plot(X,y,".")
plt.axis([0,25,0,25])
plt.grid(True)
可以很明显从图上看出这是一个正相关的两个变量,我们可以用一条最优直线来预测价格
下面的模块调用sl来预测披萨价格
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X,y)
print("A 12 inches pizza cost:$%.2f" %model.predict(12))
out: A 12 inches pizza cost: 13.68在这个程序片段里sklearn.linearmodel.LinearRe