首页 > 编程语言 >聚类算法:ISODATA算法 ——kmeans算法升级版,不知道k也可以,但是需要你自己指定其他参数也很蛋疼

聚类算法:ISODATA算法 ——kmeans算法升级版,不知道k也可以,但是需要你自己指定其他参数也很蛋疼

时间:2023-05-31 12:32:06浏览次数:56  
标签:阈值 Ko kmeans ISODATA 算法 聚类 类别

当K值的大小不确定时,可以使用ISODATA算法。ISODATA的全称是迭代自组织数据分析法。在K均值算法中,聚类个数K的值需要预先人为地确定,并且在整个算法过程中无法更改。而当遇到高维度、海量的数据集时,人们往往很难准确地估计出K的大小。ISODATA算法就是针对这个问题进行了改进,它的思想也很直观。当属于某个类别的样本数过少时,把该类别去除;当属于某个类别的样本数过多、分散程度较大时,把该类别分为两个子类别。ISODATA算法在K均值算法的基础之上增

加了两个操作,一是分裂操作,对应着增加聚类中心数;二是合并操作,对应着减少聚类中心数。ISODATA算法是一个比较常见的算法,其缺点是需要指定的参数比较多,不仅仅需要一个参考的聚类数量Ko,还需要制定3个阈值。下面介绍ISODATA算法的各个输入参数。

(1)预期的聚类中心数目Ko。在ISODATA运行过程中聚类中心数可以变化,Ko是一个用户指定的参考值,该算法的聚类中心数目变动范围也由其决定。具体地,最终输出的聚类中心数目常见范围是从Ko的一半,到两倍Ko。

(2)每个类所要求的最少样本数目Nmin。如果分裂后会导致某个子类别所包含样本数目小于该阈值,就不会对该类别进行分裂操作。

(3)最大方差Sigma。用于控制某个类别中样本的分散程度。当样本的分散程度超过这个阈值时,且分裂后满足(1),进行分裂操作。

(4)两个聚类中心之间所允许最小距离Dmin。如果两个类靠得非常近(即这两个类别对应聚类中心之间的距离非常小),小于该阈值时,则对这两个类进行合并操作。如果希望样本不划分到单一的类中,可以使用模糊C均值或者高斯混合模型,高斯混合模型会在下一节中详细讲述。

标签:阈值,Ko,kmeans,ISODATA,算法,聚类,类别
From: https://blog.51cto.com/u_11908275/6386050

相关文章

  • 超参数调优——google Vizier采用迁移学习的思想,主要是从之前调参的经验中学习,为新算
    Google使用一套超参数调优算法来烘焙更美味的饼干“超参数调优”和“烘焙饼干”这两件事情,乍一听感觉风马牛不相及,但细想一下,似乎又有一定的相似之处——“黑盒优化”。结构复杂的深度学习模型某种程度上就是一个黑盒,为实现更好的优化目标,我们不断进行“超参数调优”来优化这个黑盒......
  • 一文通吃:从 ZooKeeper 一致性,Leader选举讲到 ZAB 协议与 PAXOS 算法(下)
    本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"或慕课网公众号!作者:大能|慕课网讲师上篇文章,我们介绍了ZooKeeper集群保证数据一致性和Zookeeper集群Leader选举,这边文章我们接着介绍ZAB协议和Paxos算法ZAB协议在ZooKeeper在处理事务型请求的时候有提到......
  • 算法- 求解最大平均值的子树-经典dfs题目
    给一棵二叉树,找到有最大平均值的子树。返回子树的根结点。Example样例1输入:{1,-5,11,1,2,4,-2}输出:11说明:这棵树如下所示:1/\-511/\/\124-211子树的平均值是4.333,为最大的。样例2输入:{1,-5,11}输出:11说明:1/\-5......
  • 字符串解压缩问题——贪心算法
     importsysdefload_data():returnsys.stdin.read()defget_position_map(s):result={}stack=[]fori,cinenumerate(s):ifc=="[":result[i]=-1stack.append(i)elifc=="......
  • python dijkstra 最短路算法示意代码
     defdijkstra(graph,from_node,to_node):q,seen=[(0,from_node,[])],set()whileq:cost,node,path=heappop(q)seen.add(node)path=path+[node]ifnode==to_node:returncost,pathfora......
  • 第三代测序中基于德布鲁因图的长读错误纠正算法
    第三代测序中基于德布鲁因图的长读错误纠正算法摘要——PacBio单分子实时测序平台可以产生大量的长读序列,这对基因组的从头组装非常重要。尽管这些长读取具有15%的高错误率,但是由于它们的高错误率而放弃它们是不明智的。Illumina测序平台产生了长度在100bp左右的短读,错误率低,成本......
  • 面向第三代测序技术的基因组长序列片段比对算法研究
    面向第三代测序技术的基因组长序列片段比对算法研究周佩霞湖南师范大学摘要:随着测序技术不断发展和改进,测得的基因组序列片段数据的特征也在不断变化。为适应当前第三代测序技术,基因组序列比对算法需要进行深入的研究和改进,以便更适合于处理第三代测序技术测得的长序列片......
  • 基于第三代测序技术的基因组SNP和Indel变异检测关键算法研究
    基于第三代测序技术的基因组SNP和Indel变异检测关键算法研究廖小青哈尔滨工业大学摘要:随着生活水平的提升,人们对于自身的好奇促使人们对基因进行研究。其中,变异是人类疾病的一个重要诱因,对变异进行研究可以推动基础生物学和医学的发展。相比于大区域基因组的结构变异,SNP......
  • 【视频】支持向量机算法原理和Python用户流失数据挖掘SVM实例
    全文链接:http://tecdat.cn/?p=32604原文出处:拓端数据部落公众号分析师:BaileyZheng和Lijie Zhang即使是同一种植物,由于生长的地理环境的不同,它们的特征会有所差异。例如鸢尾花,可分为山鸢尾、杂色鸢尾、维吉尼亚鸢尾。假设此时您得到了一朵鸢尾花,如何判断它属于哪一类呢?支......
  • SSTF算法
    oj:https://codefun2000.com/p/P1269学一个新东西multiset里面是排好序的可以存重复的值但是里面的值不能被修改否则就不能排序了可以用lower_bound(x),得到multiset中大于等于x的最小的数的位置autori=q.lower_bound(x)若x比multiset中的任何数字都要大,则会返回q.end......