import matplotlib.pyplot as plt from sklearn import datasets boston = datasets.load_boston() X = boston.data y = boston.target X = X[y < 50.0] y = y[y < 50.0] from sklearn.linear_model import LinearRegression lin_reg = LinearRegression() lin_reg.fit(X, y) lin_reg.coef_

输出结果:

怎么解释这些数字?

  • 系数的正负代表这个特征与房价是正相关还是负相关
  • 系数的绝对值大小代码这个特征对房价的影响程度
    输入:boston.feature_names[np.argsort(lin_reg.coef_)]
    输出:
array(['NOX', 'DIS', 'PTRATIO', 'LSTAT', 'CRIM', 'INDUS', 'AGE', 'TAX', 'B', 'ZN', 'RAD', 'CHAS', 'RM'], dtype='<U7')

即使使用线性回归法预测的模型不够好,观察的它的系数对分析问题也是有帮助的。

线性回归算法的总结

| 线性回归算法 | KNN算法 --|---|-- 模型参数 | 典型的参数学习 | 非参数学习 分类问题 | 是很多分类算法的基础 | 可以解决分类问题 回归问题 | 只能解决回归问题 | 可以解决回归问题 对数据的假设性 | 有 | 没有 对数据的解释性 | 有 | 没有 时间复杂度 | 使用正规方程解,在训练模型时复杂度高。
解决方法:梯度下降下 | 预测时复杂度高