摘要:本文主要介绍线性回归算法的定义,公式,回归实战。
1.线性回归定义
用来对连续性数据进行预测,来确定两种或者两种以上变量间的相互关系。
换句话说,它是一种用于数据拟合的工具,从许多数据中找到一条直线能够拟合含大部分数据,从而可以根据输入的值预测输出的值。
线性是指拟合的数据是呈线性的,而回归是指可根据以前的数据预测出一个准确的输出。
2.公式
一般式:
向量式:
3.线性回归预测波士顿房价
1.训练模型和预测结果
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler
boston = load_boston()
X = boston.data
y = boston.target
train_X,test_X,train_y,test_y = train_test_split(X,y,test_size=0.2,random_state=0)
#数据标准化处理 结果比没有处理的模型效果差
# stand = StandardScaler()
# train_X = stand.fit_transform(train_X)
# test_X = stand.fit_transform(test_X)
lr = LinearRegression()
lr.fit(train_X,train_y)
result = lr.predict(test_X)
2.模型性能
#模型性能 0.6左右 比较差
from sklearn.metrics import r2_score
ls_sc = r2_score(test_y,result)
print(ls_sc)
3.可视化数据,这里显示实际值和预测值的比较折线图。
import matplotlib
import matplotlib.pyplot as plt
#绘图
#设置画布大小
plt.figure(figsize=(10,10))
plt.plot(test_y,label='true')
plt.plot(result,label='predict')
plt.legend()
plt.show()
4.可视化数据,使用x的一个维度,第一张图取0,第二张图取1,0和1分别代表不同的特征;来显示预测结果;红色的data是训练集结果,蓝色的true是预测数据真实值,绿色五角星是模型预测值;这里主要关注蓝色和绿色的符合程度,符合度高,模型效果越好。