scikit-learn : 线性回归,多元回归,多项式回归
Posted 搬砖小工053
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scikit-learn : 线性回归,多元回归,多项式回归相关的知识,希望对你有一定的参考价值。
匹萨的直径与价格的数据
%matplotlib inline
import matplotlib.pyplot as plt
def runplt():
plt.figure()
plt.title(u'diameter-cost curver')
plt.xlabel(u'diameter')
plt.ylabel(u'cost')
plt.axis([0, 25, 0, 25])
plt.grid(True)
return plt
plt = runplt()
X = [[6], [8], [10], [14], [18]]
y = [[7], [9], [13], [17.5], [18]]
plt.plot(X, y, 'k.')
plt.show()
训练模型
from sklearn.linear_model import LinearRegression
import numpy as np
# 创建并拟合模型
model = LinearRegression()
model.fit(X, y)
print('预测一张12英寸匹萨价格:$%.2f' % model.predict(np.array([12]).reshape(-1, 1))[0])
预测一张12英寸匹萨价格:$13.68
一元线性回归假设解释变量和响应变量之间存在线性关系;这个线性模型所构成的空间是一个超平面(hyperplane)。
超平面是n维欧氏空间中余维度等于一的线性子空间,如平面中的直线、空间中的平面等,总比包含它的空间少一维。
在一元线性回归中,一个维度是响应变量,另一个维度是解释变量,总共两维。因此,其超平面只有一维,就是一条线。
上述代码中sklearn.linear_model.LinearRegression类是一个估计器(estimator)。估计器依据观测值来预测结果。在scikit-learn里面,所有的估计器都带有:
- fit()
- predict()
fit()用来分析模型参数,predict()是通过fit()算出的模型参数构成的模型,对解释变量进行预测获得的值。
因为所有的估计器都有这两种方法,所有scikit-learn很容易实验不同的模型。
一元线性回归模型:
y=α+βx
以上是关于scikit-learn : 线性回归,多元回归,多项式回归的主要内容,如果未能解决你的问题,请参考以下文章
机器学习系列6 使用Scikit-learn构建回归模型:简单线性回归多项式回归与多元线性回归
[机器学习与scikit-learn-27]:算法-回归-多元线性回归的几何原理线性代数原理本质(去掉激活函数的神经元)