线性回归的基本使用

基本流程

  • 加载数据
  • 切分数据集
  • 训练
  • 预测
  • 评估
    值得注意的是,在对数据预处理的时候,没有归一化这一步骤,这是因为这个算法在实现过程中有没有归一化对结果没有影响

导包

将需要用到的库都导进来

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler

加载数据

所用数据是sklearn自带数据库中波士顿房价的数据

boston = datasets.load_boston()

X = boston.data
y = boston.target

因为数据可能会有一些问题,所以对数据进行预处理

X = X[y < 50.0]
y = y[y < 50.0]

切分数据

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=66)

训练

lin = LinearRegression()
lin.fit(X_train, y_train)

对于线性模型,是有系数的,X矩阵中每个x都有一个系数,将其存储在实例中的coef_属性中;
每个模型函数还存在一个截距,存储在实例的intercept_属性中

lin.coef_
lin.intercept_

评估

因为只是想看结果的准确程度,并不想得到预测结果,所以可以直接调用对象实例的score()方法查看评估结果

lin.score(X_test, y_test)

而且经过测试可知,无论是否归一化数据,最后得到的结果是不变的

  • 数学原理:
    score方法得到的值就是R^2的值


最后得到R平方值的范围一般是0到1之间,值越大表示算法的效果越好

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容