一、线性回归简介:
(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
y=2x+30, x变量为体重(kg),y代表身高(cm),我们就能根据线性模型预测出 x =75时的身高;对于上面的简单的例子来说,我们可以粗略把 y =2x+30看成回归的模型;对于给予的每个人的体重都能预测出身高。
线性关系,则称为多元线性回归分析。
绝对误差回归),或者在桥回归中最小化最小二乘损失函数的惩罚.相反,最小二乘逼近可以用来拟合那些非线性的模型
二、线性回归实现原理(代码参考:《机器学习实战》):
import numpy as np
import matplotlib.pyplot as plt
#------------------------------------------------------------------------------
def loadDataSet(fileName):
def standRegres(xArr,yArr):
#2行100列数据*100行2列数据就是为了判断是否可逆。结果为:2行2列数据
#求解对应的行列式值是否为0,如果为0,那么矩阵:不可逆。
#xTx求逆矩阵;xMat.T*yMat为2行100列*100行1列=2行1列
deflwlr(testPoint,xArr,yArr,k=1.0):#加权线性回归。
deflwlrTest(testArr,xArr,yArr,k=1.0):
def test2():
三、sklearn中线性回归应用举例:
importnumpy as np
importmatplotlib.pyplot as plt
fromsklearn.datasets import load_boston
fromsklearn.linear_model import LinearRegression
boston =load_boston()
print(boston.keys())
print(boston.feature_names)
x =boston.data[:, np.newaxis, 5]
y =boston.target
plt.xlabel('RM')
plt.ylabel('Price')
plt.title('LinearRegression')
plt.show()
效果如下: