作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
<分区>
我有一组来自单位间隔的数据点(即具有数值的一维数据集)。我在网上收到了一些额外的数据点,而且一些数据点的值可能会动态变化。我正在寻找可以有效处理这些问题的理想聚类算法。
我知道sequential k-means clustering处理新实例的添加,我想稍作修改就可以使用动态实例值(即首先从相应的集群中获取修改后的实例,然后更新集群的平均值,最后将修改后的实例作为输入提供给该算法就像添加一个看不见的实例一样)。
我对使用 k-means 算法的担忧是需要提供聚类数作为输入。我知道它们在时间和空间复杂度方面击败了其他聚类算法(GA、MST、分层方法等)。老实说我不确定,但也许我可以使用上述算法之一。即使我的数据集比较大,单一维度的存在也让我感到奇怪。
更具体地说,我的典型测试用例将包含大约 10K-200K 一维数据点。我想最好在一秒钟内完成聚类。假定值点的动态变化是平滑的,即相对较小。因此,能够使用现有解决方案(即能够在更改值或添加新值时继续对现有解决方案进行聚类)是非常受欢迎的。
总而言之:
Can you think of an algorithm which will provide a sweet spot between computational efficiency and the accuracy of clusters wrt. the problem defined above?
Are there some nice heuristics for the k-means algorithm to automatically compute the value of K beforehand?
我是一名优秀的程序员,十分优秀!