在 Python 中使用 sklearn 使用 MAE 训练线性模型

Posted

技术标签:

【中文标题】在 Python 中使用 sklearn 使用 MAE 训练线性模型【英文标题】:Training Linear Models with MAE using sklearn in Python 【发布时间】:2018-10-27 19:13:21 【问题描述】:

我目前正在尝试在 python 中使用 sklearn 训练线性模型,但不使用均方误差 (MSE) 作为误差度量 - 但使用平均绝对误差 (MAE)强>。我特别需要我大学教授的 MAE 线性模型。

我研究了 sklearn.linear_model.LinearRegression,因为它是一个 OLS 回归量,所以它不提供替代的错误度量。

因此,我检查了其他可用的回归器并偶然发现了 sklearn.linear_model.HuberRegressorsklearn.linear_model.SGDRegressor。他们都提到 MAE 作为他们错误测量的一部分——但似乎没有提供简单的 MAE。有没有办法为这些回归量之一选择参数,以便得到的误差度量是一个简单的 MAE?或者我忽略了sklearn中的另一个回归器?

或者,是否有另一个(易于使用)python 3.X 包可以提供我需要的东西?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

在 SGD 中,如果您使用 'epsilon_insensitive' 和 epsilon=0,它应该像使用 MAE 一样工作。

你也可以看看 statsmodels quantile regression(使用 MAE 也称为中值回归,中值是分位数)。

【讨论】:

以上是关于在 Python 中使用 sklearn 使用 MAE 训练线性模型的主要内容,如果未能解决你的问题,请参考以下文章

Python 导入错误:无法从“sklearn.externals”导入名称“六”

python:使用sklearn在文档聚类中面临内存问题

在 spark ML 2.2.0 中使用 sklearn-python 模型进行预测

如何在 Python 中使用 sklearn 对模型进行单一预测?

python:如何在sklearn中使用逻辑回归系数构建决策边界

在“Keras”分类中使用“sklearn”库中计算类权重函数问题(Python 3.8,仅在 VS 代码中)