【问题标题】:How to find the "optimal" cut-off point (threshold)如何找到“最佳”截止点(阈值)
【发布时间】:2012-06-11 19:27:07
【问题描述】:

我有一组用于机器学习的加权特征。我想减少功能集,只使用重量非常大或非常小的功能。

所以给出了下面的排序权重图像,我只想使用权重高于较高或低于较低黄线的特征。

我正在寻找的是某种斜率变化检测,因此我可以丢弃所有特征,直到第一个/最后一个斜率系数增加/减少。

虽然我(自认为)知道如何自己编写代码(使用一阶和二阶数值导数),但我对任何已建立的方法都感兴趣。也许有一些统计数据或索引可以计算类似的东西,或者我可以从 SciPy 使用的任何东西?

编辑: 目前,我将1.8*positive.std() 用作正阈值,将1.8*negative.std() 用作负阈值(快速且简单),但我还不够数学家来确定它的鲁棒性。不过,我认为不是。 ⍨

【问题讨论】:

    标签: scipy threshold


    【解决方案1】:

    如果数据是(大约)高斯分布的,那么只需使用倍数 的标准差是合理的。

    如果您担心尾部较重,那么您可能希望根据顺序进行分析 统计数据。

    • 既然你已经绘制好了,我假设你愿意对所有的 数据。
    • 令 N 为样本中的数据点数。
    • 设 x[i] 为排序后的值列表中的第 i 个值。
    • 那么 0.5( x[int( 0.8413*N)]-x[int(0.1587*N)]) 是标准差的估计值 这对异常值更稳健。这个标准的估计值可以作为你使用 如上所示。 (上面的幻数是数据的分数 分别小于 [mean+1sigma] 和 [mean-1sigma])。

    • 在某些情况下,只保留最高 10% 和最低 10% 将是 也很明智;如果您有排序的数据,这些截止值很容易计算 手头上。

    这些是基于您问题内容的临时方法。 您尝试做的事情的一般意义是(一种)异常检测, 如果你在定义/估计时小心翼翼,你可能会做得更好 分布的形状靠近中间是什么,这样你就可以知道什么时候 特征变得异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 2022-10-13
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      相关资源
      最近更新 更多