数据分布如何影响模型性能?
数据挖掘
机器学习
统计数据
预处理
2021-09-22 17:55:30
2个回答
好问题。你的解释是足够的。使用对数函数可以减少目标变量的偏度。为什么这很重要?
通过对数函数转换您的目标会使您的目标线性化。这对于许多期望线性目标的模型很有用。Scikit-Learn 有一个页面描述了这种现象:https ://scikit-learn.org/stable/auto_examples/compose/plot_transformed_target.html
需要注意的重要事项
如果您在训练之前修改目标,则应在模型末尾应用逆变换来计算“最终”预测。这样,您的绩效指标可以具有可比性。
直观地说,假设您有一个非常幼稚的模型,无论输入如何,它都会返回平均目标。如果您的目标有偏差,则意味着您将在大多数预测中低于/超出预期。因此,您的误差范围会更大,这会使平均绝对或相对误差 (MAE/MSE) 等分数变差。通过标准化你的目标,你可以减少你的错误范围,最终应该直接改进你的模型。
嗯......有很多方面可以回答这个问题(就像瓦伦丁的回答...... +1!)因为机器学习和数据挖掘通常与分布有关。我只提一些我首先想到的。
- 一些模型假设高斯分布,例如 K-means。想象一下,您想在没有对数变换的情况下对这些数据应用 K-means。K-means 对原始特征有很多困难,但对数变换使其非常适合 K-means,因为“均值”更能代表高斯分布中的样本,而不是偏态分布的样本。
- 一些统计分析技术也假设高斯性。ANOVA 最适用于(实际上设计用于)正态分布的数据(特别是在小样本群体中)。原因很简单,它主要处理均值和样本方差来确定样本总体的“中心”和“变异”,并且在高斯分布中最有意义。
- 总而言之,调整特征的计算比倾斜特征更稳健。偏斜特征的范围不均匀,如果它们的范围很大(如您的示例),这尤其是一个问题。调整后的(工程化的)特征不一定会变成高斯特征,而是具有更小、更均匀的范围。