【问题标题】:Is Jenks' Natural Breaks deterministic?Jenks 的自然休息是确定性的吗?
【发布时间】:2018-01-15 06:13:20
【问题描述】:

即,算法是否总是返回相同的结果(对于一维数字列表)? Fisher 的自然间隔(Jenks 的 O(knlog(n)) 优化)是否具有确定性?

【问题讨论】:

    标签: algorithm deterministic


    【解决方案1】:

    Fisher 的自然休息使用动态规划来寻找最优解,并且是确定性的。

    Jenk's natural breaks 有两种变体。

    1. 一种方法将一个单元从方差最大的类别移至方差最小的类别。此方法并不总是返回最佳答案。这是基于任意初始类,因此不是确定性的。
    2. 另一种方法检查所有分区,这将始终返回最佳答案并且是确定性的。

    page 提供了关于 Fisher 算法最优性的证明,并指出基本 Jenk 算法没有给出最优答案:

    在 Wikipedia 上讨论了迭代地将值从高变异类移动到低变异类,这并不总是产生最佳解决方案。

    【讨论】:

    • 谢谢!!你知道 Fisher's 是否存在 Python 实现?
    • 我不知道,但将这个C++ code 转换为 Python 应该不会太难 - 或者干脆将它嵌入到 Python 扩展中以获得更快的速度?
    猜你喜欢
    • 1970-01-01
    • 2011-12-31
    • 2012-05-13
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    相关资源
    最近更新 更多