test_size=0.3)# 创建线性回归对象lin_reg = LinearRegression()# 训练模型并进行交叉验证scores = cross_val_score(lin_reg,
在机器学习中,回归是一种常用的预测方法。在进行回归分析时,需要选择合适的模型,并对其进行评估以确定其性能和可靠性。本文将介绍sklearn中常见的回归算法实例以及如何使用不同的评估指标来比较它们。
线性回归是最基础也是最简单的一种回归方法。它通过拟合数据点与目标值之间线性关系来预测未知样本。在sklearn中有多个线性回归算法可以选择,包括普通最小二乘、岭回归、Lasso等。
除了线性模型外,还有其他类型的非线性模型可以用于解决更复杂的问题。例如K近邻(KNN)和支持向量机(SVM)等。
为了比较不同类型和参数设置下的模型表现,我们需要使用一些评估指标来衡量它们各自所取得成果。
1.均方误差(MSE)
均方误差是最基本也是最常用于衡量预测结果准确度的指标之一。它计算预测值与真实值之间差的平方和的均值。
2.平均绝对误差(MAE)
平均绝对误差是另一个常用于衡量预测结果准确度的指标。它计算预测值与真实值之间差的绝对值和的均值。
3.R2得分
R2得分也被称为决定系数,是回归模型性能评估中最流行的指标之一。它表示模型可以解释目标变量方差百分比。
在本文中,我们将使用sklearn自带数据集来演示不同回归类模型及其相应指标表现。
首先,我们使用普通最小二乘法线性回归来训练并测试房价预测问题:
```python
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.metrics import mean_squared_error, mean_absolute_error,r2_score
# 加载波士顿房价数据集
boston = load_boston()
# 划分训练集和测试集
X_train,X_test,y_train,y_test = train_test_split(boston.data,boston.target,test_size=0.3)
# 创建线性回归对象
lin_reg = LinearRegression()
# 训练模型并进行交叉验证
scores = cross_val_score(lin_reg, X_train, y_train,
scoring="neg_mean_squared_error", cv=10)
rmse_scores = np.sqrt(-scores)
# 计算指标
print("MSE:",mean_squared_error(y_test,y_pred))
print("MAE:",mean_absolute_error(y_test,y_pred))
print("R2 Score:",r2_score(y_test,y_pred))
```
接下来,我们使用岭回归:
from sklearn.linear_model import Ridge
# 创建岭回归对象
ridge_reg = Ridge(alpha=1,solver="cholesky")
scores = cross_val_score(ridge_reg,X_train,y_train,
scoring="neg_mean_squared_error",cv=10)
最后,我们使用支持向量机:
from sklearn.svm import SVR
# 创建SVM对象
svm_reg = SVR(kernel="linear")
scores = cross_val_score(svm_reg,X_train_scaled[:,1:],y_train,
#计算指标
y_svm_predict=scaler_y.inverse_transform(svm_reg.predict(X_valid_scaled)) #将预测值还原为真实值
print('MSE:', mean_squared_error(Y_valid, y_svm_predict))
print('MAE:', mean_absolute_error(Y_valid, y_svm_predict))
print('R2 Score:', r2_score(Y_valid, y_svm_predict))
在本文中,我们探究了sklearn中的回归类算法实例以及如何使用不同的评估指标来比较它们。我们发现,在相同数据集和参数设置下,不同类型模型之间存在差异,需要根据具体问题选择适合的模型并进行调整。同时,通过对各种指标进行综合分析可以更加全面地评估预测结果。
因此,在实际应用中,我们应该注重对于回归类算法模型性能表现的深入研究,并灵活运用各项评估指标来提高预测效果。
文章名称:机器学习sklearn:探究回归类的模型评估指标
分享链接:http://www.shufengxianlan.com/qtweb/news36/431436.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联