线性回归算法-5.更多思考
波士顿房产数据分析
加载波士顿房产数据:
import numpy
import matplotlib.pyplot as plt
from sklearn import datasets
boston = datasets.load_boston()
X = boston.data
y = boston.target
X = X[y<50]
y = y[y<50]
此处不进行对训练数据和测试数据的分离,直接对所有的样本进行拟合,从而进行数据分析:
from sklearn.linear_model import LinearRegression
line_reg = LinearRegression()
line_reg.fit(X,y)
通过拟合,求出了每个特征值(房间数,是否临河,空气质量等)对应的系数:
line_reg.coef_
对于以上系数,正负反映了此特征对于房屋价格是正相关还是负相关,大小反映了此特征对房屋价格的影响程度
# 把系数进行从小到大排序,返回索引值
numpy.argsort(line_reg.coef_)
# 特征值由小到大排列下的房屋特征
boston.feature_names[numpy.argsort(line_reg.coef_)]
由上看出,房间数'RM'多的,房价比较高,临河'CHAS'的房子,房价高。
线性回归算法总结
- 典型的参数学习
- 只能解决线性回归
- 对数据有假设:线性
- 优点:对数据有强解释性
- 问题:时间复杂度较高:\(O(n^3)\)