machine-learning - 异常值的准确预测
问题描述
我正在研究与血压计算相关的医学数据(回归问题)。我目前拥有的数据集缺少收缩压和舒张压极值的数字。我目前使用的算法是神经网络和 XGBoost,它们都将极值作为异常值并给出高MAE 对异常值的预测。有没有办法我们可以调整算法或数据集,以便算法可以对“异常值”值做出合理的预测?我听说因变量的对数尺度转换可以是一个解决方案,对吗?还有其他方法吗?
提前感谢阿琼
解决方案
对数尺度转换将使您的目标分布看起来像正常(可能)。如果是这样 - 你很幸运。
如果它不起作用:
- 从数据集中删除异常值。此刻,他们带来的只是噪音。这完全损害了模型。
- 在正常值上建立一个模型(回归),在异常值上建立另一个模型。您可以尝试简化的最后一个:将输入值编码为 0 和 1(正常值和异常值)。
- 使用更简单的模型(线性:套索作为开始,休伯特)。像 NN 和 XGB 这样的复杂模型最终会过度拟合您的少数极端情况。
这些是常见的方法。但是,一般来说,您需要返回 EDA 并尝试分析这些极端情况:绘制分布图,了解收缩压和舒张压极端情况之间的依赖性,极端情况和目标变量之间的相同依赖性(和相关性)等等。
推荐阅读
- python - 如何在 Python 中用 BeautifulSoup 摆脱封闭的段落文本?
- angular - Syncfusion文件管理器下载文件不起作用
- c# - UWP XAML ScrollViewer 如何显示可滚动内容的视觉指示器
- python - 在 Ubuntu Server 20.04 上安装 tensorflow 时出错
- php - Laravel 8背景照片不出现
- arrays - (Excel/VBA) 每次使用一系列单元格打印页面时更改文本框中的数字
- python - 如何为 LSTM 塑造 Pandas DataFrame
- terraform - 从 0.12 升级到 0.13:无法实例化提供程序“registry.terraform.io/-/aws”以获取
- python-3.x - Napalm 使用 telnet 连接到 Cisco IOS 路由器
- python - 为什么brew在安装php7时需要python