回归问题是机器学习要解决的四大问题之一,在我们的生活中也存在着很多回归问题。比如某一地区的房价预测,某一个学生高考成绩的预测,某一地区感染病毒人数的预测,某一公司2020年营业收入的预测等等。从以上的例子中,我们可知回归问题的目标是预测一个数值或者一个区间数值。
回归算法:对历史数据进行拟合,形成拟合方程。接下来使用该方程对新数据进行预测。下图中红线表示的是一元数据的拟合方程,如果数据是二元数据,那么它的拟合方程就是一个拟合平面,对于更高维的数据,它的拟合方程将更加复杂。
回归算法的评估指标:
对于回归算法,我们评价它的好坏,就是看它的预测结果与我们的真实结果的差异大小。在回归算法中,我们最常用的四种评估指标分别是:平均绝对值误差,均方误差,均方根误差,可决系数。接下来,我们以boston房价数据集为例,来详细说明每一个评估指标。并分别采用python的numpy库和Sklearn.metrics模块下专有的计算方法来计算这些指标的具体数值。
1.平均绝对值误差( M A E MAE MAE)
计算每一个样本的预测值和真实值的差的绝对值,然后求和再取平均值。其公式如下, y i y_i yi为真实值, f ( x i ) f(x_i) f(xi)与算法的预测值。
M A E = 1 m ∑ i = 1 m ( ∣ y i − f ( x i ) ∣ ) MAE = \frac{1}{m}\sum_{i=1}^m(|y_i - f(x_i)|) MAE=m1i=1∑m(∣yi−f(xi)∣)
导入boston数据集,建立基本的线性回归模型,并使用模型对测试样本进行预测。
#导入数据分析的常用工具包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
%matplotlib inline
#导入boston房价数据集
boston = datasets.load_boston()
#导入特征
X = boston.data
#导入标签
y = boston.target
#对原始数据进行切分
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size &