线性回归
基本概念
简单线性回归指的是只有一个x和一个y
用来描述自变量和因变量及偏差之间关系的模型叫做回归模型
简单线性回归的模型是:
b0是截距,b1是斜率,e是偏差。
关于偏差
- 他是一个随机变量,均值是0
- 它的方差对于所有自变量x是相同的
- 它的值是独立的
- 它满足正太分布
线性回归方程就是少了偏差,其他和基本模型是相同的。
我们现在给若干x和y,要解决的问题是找出最好的截距和斜率。
线性回归的求解
我们要找最能代表趋势的直线,实际上就是要找距离所有点最近的直线。
我们就是要找一条直线使得这个值最小,其中y^i是用这条直线求出来的估计值,yi是这个点的值。
求解这个问题的数学公式
多元线性回归
它与一元线性回归的区别就是有多个自变量
具体模型求解过程涉及线代高数等内容,这里不再详解。
使用:from numpy import genfromtxt
from sklearn import linear_model
dataPath = r"Delivery.csv"
deliveryData = genfromtxt(dataPath,delimiter=',')
print "data"
print deliveryData
x= deliveryData[:,:-1]
y = deliveryData[:,-1]
print x
print y
lr = linear_model.LinearRegression() # 模型
lr.fit(x, y)
print lr
print("coefficients:")
print lr.coef_ # 估计参数 b1,...
print("intercept:")
print lr.intercept_ # b0
xPredict = [102,6]
yPredict = lr.predict(xPredict)
print("predict:")
print yPredict
如果是分类型变量,我们需要转化成01再来运算。
例如男女就是分类型变量。假设一个人是男的,那么可以让它的自变量变成10。如果是女则是01,这样把一个自变量变成多个自变量从而当成数据型变量进行计算。