【问题标题】:Classification:adding a new variable and calculate probabilty of changing the class output分类:添加一个新变量并计算改变类输出的概率
【发布时间】:2016-01-20 07:17:14
【问题描述】:

我有 2 个输出类(好和差)基于几个数字特征(例如 v1….v20)。

如果 v1、v2、v3 和 v4 为“高”,则该类为“差”。 如果 v1、v2、v3 和 v4 为“低”,则该类为“好”

使用 ROC 和使用随机森林的最小分类错误,我能够获得这样的良好准确性。 但是,我想添加一个新变量 v21。我从经验中知道,如果这个变量(v21)的值很高,那么即使 v1、v2、v3 和 v4 很高,这个类也可能不是“差”的。当变量 v21 很高时(尽管变量 v1、v2、v3 和 v4 很高),获得“差”类的概率很低。

1)如何在分类中使用我对v21的知识来提高准确率?哪种分类技术是合适的? 2)由于我有符合我理解的真实数据,无论如何,当v21的值很高并且v1,v2,v3和v4的值很高时,我可以计算得到“差”类的概率吗?

【问题讨论】:

  • 你目前使用什么算法来判断好坏?
  • 我目前在 R 中使用随机森林

标签: machine-learning classification probability


【解决方案1】:

贝叶斯概率允许通过选择先验分布来整合您的先验信念和知识。

https://en.wikipedia.org/wiki/Prior_probability

这样,您的实际数据数据将与先验信念合并,形成您的最终后验分布。

因此,在这种情况下,您的先前分发应包含以下信息:

P(myclass =poor|v1,v2,v3,v4) is high
P(myclass =poor|v21) is low

【讨论】:

  • 谢谢。如果有任何 R 包可以计算,请告诉我
  • @user5795923 最简单​​的假设是,给定类,v21 独立于 v1、...、v20。如果这是合理的(并且知道这一点的唯一方法是研究数据),那么您可以通过简单的“朴素贝叶斯”模型将 v21 考虑在内。我怀疑是否有一个包来处理它,因为它只是简单的算术。
【解决方案2】:

我也遇到过类似的问题。即使我对变量的影响有先验知识,我也经常只是运行一个无偏算法,如 SVM,对数据进行分类。然后我检查我的 SVM 是否准确。我还检查了 SVM 是否与我已经知道的变量一致。如果 SVM 失败,我会尝试使用神经网络。希望这会有所帮助!

【讨论】:

  • 好。分类器已经做得很好——意味着分类的准确率为 96~97%。想知道先验知识是否可以提高准确性或改进任何度量,例如 MAE、F - 度量或 p - 值。
  • 请注意,新功能并不总是会导致类的变化。它只会增加班级“好”的机会。
猜你喜欢
  • 2019-02-04
  • 1970-01-01
  • 1970-01-01
  • 2015-06-06
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-15
相关资源
最近更新 更多