machine-learning - 查找连续目标变量的 'Best' 截止点的方法

标签 machine-learning statistics data-mining data-manipulation

我正在研究一个机器学习场景,其中目标变量是停电持续时间。

目标变量的分布严重向右倾斜(您可以想象大多数停电发生并很快结束,但也有很多很多异常值可以持续更长时间)很多停电变得越来越少随着持续时间越来越长,数据越来越难以“解释”。它们或多或少成为“独特的中断”,其中现场发生的事件不一定是其他中断的“典型”,也没有记录这些事件的具体数据,除了所有其他“典型”中断已经可用的数据之外。

这会导致创建模型时出现问题。这些无法解释的数据与可解释的部分混合在一起,也扭曲了模型的预测能力。

我分析了一些百分位,以确定一个我认为包含尽可能多的中断的点,同时我仍然相信持续时间基本上是可以解释的。这大约是 320 分钟,包含了大约 90% 的中断。

这对我来说完全是主观的,我知道必须有某种程序来确定这个目标变量的“最佳”截止点。理想情况下,我希望这个程序足够强大,能够考虑包含尽可能多的数据的权衡,而不是告诉我将截止时间设置为 2 小时,从而排除大量客户作为此目的是为了向尽可能多的客户提供准确的预计恢复时间。

仅供引用:我正在使用的建模方法目前看来效果最好的是随机森林和条件随机森林。我在这个场景中使用的方法包括多元线性回归、决策树、随机森林和条件随机森林。 MLR 是迄今为止效率最低的。 :(

最佳答案

我也有同样的问题!我希望有更多消息人士带来他的知识。我想知道什么是我们想要丢弃或我们想要预测的长期持续时间! 另外,我尝试通过对数转换来处理数据,密度图在分布的左侧显示了一个有趣的伪像(因为我只有整数的持续时间,而不是 float )。我认为这有帮助,您还应该对具有相似分布的特征进行日志转换。

Frequency of durations (Log tranformed)

我最终认为解决方案应该是分层采样或赋予特征权重,但我不知 Prop 体如何实现。我的尝试没有产生任何好的结果。也许我的数据太随机了!

关于machine-learning - 查找连续目标变量的 'Best' 截止点的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41466592/

相关文章:

machine-learning - 如何微调 k 均值聚类中的聚类数量以及使用 BigQuery ML 构建模型的增量方式

python - sklearn.compose.ColumnTransformer : fit_transform() takes 2 positional arguments but 3 were given

matlab - 如何在 matlab 中非随机地将数据拆分为 k 折?

algorithm - 潜在语义分析概念

python - sklearn : How to get column indexes deleted by model. 从原始数据帧转换

r - 朴素贝叶斯 e1071 将每个姓氏归类为相同的祖先

r - BTYD(买到死)。演练。 pnbd.EstimateParameters()

matlab - 如何统计测试3D模型的准确性?

nlp - 潜在狄利克雷分配与文档聚类之间的关系

r - k-均值聚类与新的训练数据?