公司网站主页排版,建筑人才网人员工资,广州学网站开发,wordpress 模板加密回归算法通常涉及到使用矩阵来表示数据和模型参数。线性回归是最常见的回归算法之一#xff0c;它可以用矩阵形式来表示。 考虑一个简单的线性回归模型#xff1a; y m x b y mx b ymxb#xff0c;其中 y y y 是因变量#xff0c; x x x 是自变量#xff0c; m m m 是… 回归算法通常涉及到使用矩阵来表示数据和模型参数。线性回归是最常见的回归算法之一它可以用矩阵形式来表示。 考虑一个简单的线性回归模型 y m x b y mx b ymxb其中 y y y 是因变量 x x x 是自变量 m m m 是斜率 b b b 是截距。将这个模型表示成矩阵形式可以如下所示 在上面的矩阵表达中左边的矩阵表示因变量 y y y右边的矩阵表示自变量 x x x 和一个常数项 1 1 1。而模型参数 m m m 和 b b b 则以矩阵的形式表示。
通过最小化残差观测值与模型预测值之间的差异来确定最佳的参数 m m m 和 b b b这通常涉及到矩阵计算中的求解方法如最小二乘法。
其他更复杂的回归算法例如多变量线性回归、岭回归、Lasso回归等也可以通过矩阵表示来进行推导和求解。矩阵表示使得回归算法的计算更加紧凑和易于理解。
接下来将介绍三种评估机器学习的回归算法的评估矩阵。
平均绝对误差Mean Absolute ErrorMAE。均方误差Mean Squared ErrorMSE。决定系数R2。
示例中采用将使用波士顿房价Boston House Price数据集进行实验操作
数据集下载地址
https://github.com/selva86/datasets/blob/master/BostonHousing.csv数据集介绍
波士顿房价预测更像是预测一个连续值当然这也是一个非常经典的机器学习案例
平均绝对误差
平均绝对误差是所有单个观测值与算术平均值的偏差的绝对值的平均值。与平均误差相比平均绝对误差由于离差被绝对值化不会出现正负相抵消的情况因而平均绝对误差能更好地反映预测值误差的实际情况。
代码如下 import pandas as pd
from sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import KFold, cross_val_score#数据预处理
path D:\down\\BostonHousing.csv
data pd.read_csv(path)array data.valuesX array[:, 0:13]
Y array[:, 13]n_splits 10seed 7kflod KFold(n_splitsn_splits, random_stateseed, shuffleTrue)
#
model LinearRegression()scoring neg_mean_absolute_errorresults cross_val_score(model, X, Y, cvkflod, scoringscoring)print(MSE: %.3f (%.3f) % (results.mean(), results.std()))
执行结果如下 MSE: -3.387 (0.667)均方误差 均方误差是衡量平均误差的方法可以评价数据的变化程度。均方根误差是均方误差的算术平方根。均方误差的值越小说明用该预测模型描述实验数据的准确度越高。 代码如下 import pandas as pd
from sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import KFold, cross_val_score#数据预处理
path D:\down\\BostonHousing.csv
data pd.read_csv(path)array data.valuesX array[:, 0:13]
Y array[:, 13]n_splits 10seed 7kflod KFold(n_splitsn_splits, random_stateseed, shuffleTrue)
#
model LinearRegression()scoring neg_mean_squared_errorresults cross_val_score(model, X, Y, cvkflod, scoringscoring)print(MSE: %.3f (%.3f) % (results.mean(), results.std()))
运行结果如下
MSE: -23.747 (11.143)决定系数R2 决定系数反映因变量的全部变异能通过回归关系被自变量解释的比例。拟合优度越大自变量对因变量的解释程度越高自变量引起的变动占总变动的百分比越高观察点在回归直线附近越密集。 如R2为0.8则表示回归关系可以解释因变量80%的变异。换句话说如果我们能控制自变量不变则因变量的变异程度会减少80%。 决定系数R2的特点
可决系数是非负的统计量。可决系数的取值范围0≤R2≤1。可决系数是样本观测值的函数是因随机抽样而变动的随机变量。为 此对可决系数的统计的可靠性也应进行检验。
代码如下 import pandas as pd
from sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import KFold, cross_val_score#数据预处理
path D:\down\\BostonHousing.csv
data pd.read_csv(path)array data.valuesX array[:, 0:13]
Y array[:, 13]n_splits 10seed 7kflod KFold(n_splitsn_splits, random_stateseed, shuffleTrue)
#
model LinearRegression()scoring r2results cross_val_score(model, X, Y, cvkflod, scoringscoring)print(R2: %.3f (%.3f) % (results.mean(), results.std()))
执行结果如下
R2: 0.718 (0.099)通常情况下R2也称为决定系数是用来衡量一个回归模型的拟合优度的指标。它的取值范围在0到1之间越接近1表示模型拟合得越好越接近0表示模型拟合较差。
在这个结果中“R2: 0.718” 表示模型的拟合优度为0.718大致可以理解为模型解释了目标变量约71.8%的方差。而 “(0.099)” 则是标准误差的信息用于表示R2的置信区间。