KMeans是orange中提供的一个用来聚类的类,它是标准k-means的实现。

初始化:

__init__(data=None, centroids=3, maxiters=None, minscorechange=None, stopchanges=0, nstart=1,initialization=kmeans_init_random, distance=orange.ExamplesDistanceConstructor_Euclidean, scoring=score_distance_to_centroids, inner_callback = None, outer_callback = None, initialize_only = False)

参数说明:

Data:输入的数据

centroids:即k的值

maxiters:最大迭代次数,停止聚类的条件之一。如果不想让迭代次数过多,可指定此参数

minscorechange: 停止聚类的条件之一,如果不指定,则不会计算2次迭代之间的评分

stopchanges:停止聚类的条件之一nstart:指定计算次数,不是迭代次数

distance:使用的距离,默认为欧氏距离

inner_callback:如果制定,则每次迭代后调用此函数,可以通过此函数了解迭代过程中的计算细节

outer_callback:如果nstart>1,每次计算后调用此函数,可以通过此函数了解计算过程中的计算细节

代码:

import orange
import orngClustering
def incallback(km):
print "Iteration: %d, changes: %d, score: %.4f" % (km.iteration,km.nchanges,km.score)
start = 1
def outcallback(km):
kmc = km.clusters[:]
res = {}
for c in kmc:
if res.get(c)!=None:
res[c] += 1
else:
res[c]=1
global start
print "Times = ",start
print "clusters: ",res,"\n"
start += 1
data = orange.ExampleTable("iris")
km = orngClustering.KMeans(data,4,minscorechange=0, nstart=3,\
inner_callback=incallback,outer_callback=outcallback )
print "data num: ",len(km.clusters)
kmc = km.clusters[:]
res = {}
for c in kmc:
if res.get(c)!=None:
res[c] += 1
else:
res[c]=1
print "final clusters: ",res,"\n"

说明:

定义了inner_callback和outer_callback=outcallback两个函数,用于显示每次迭代和每轮计算时的样本信息k设置为4,总共计算3轮。最终的聚类结果以最优的一次结果(评分最低的)输出最后是显示统计信息,统计聚类结果

在测试过程中发现,Orange能够处理较小规模的数据,当数据量较大时(样本数量大于25k时),会引发异常,导致无法计算出结果。故orange不适合较大规模数据处理。orange可视化功能据说+貌似很强大,但是在互联网上几乎没有找到相关资料,附带的帮助文档也没有相关说明。

使用Orange中的聚类算法KMeans相关推荐

  1. sklearn中的聚类算法K-Means

    1 概述 1.1 无监督学习与聚类算法 决策树.随机森林.逻辑回归虽然有着不同的功能,但却都属于"有监督学习"的一部分,即是说,模型在训练的时候,既需要特征矩阵XXX,也需要真实标 ...

  2. matlab中的聚类算法,kmeans聚类算法matlab matlab 聚类算法silhouette

    怎样用matlab实现多维K-means聚类算法小编觉得一个好的周末应该是这样的:睡到中午醒来,在床上躺着玩两个小时手机,起床随便吃点东西,下午去超市买一大堆零食,五六点的时候去约小伙伴们吃火锅烧烤, ...

  3. 《菜菜的机器学习sklearn课堂》聚类算法Kmeans

    聚类算法 聚类算法 无监督学习与聚类算法 sklearn中的聚类算法 KMeans KMeans是如何工作的 簇内误差平方和的定义和解惑 sklearn.cluster.KMeans 重要参数 n_c ...

  4. sklearn学习 6.聚类算法K-Means

    一.概述 1.无监督学习与聚类算法 学习了决策树,随机森林,PCA和逻辑回归,他们虽然有着不同的功能,但却都属于"有监 督学习"的一部分,即是说,模型在训练的时候,即需要特征矩阵X ...

  5. sklearn专题六:聚类算法K-Means

    目录 1 概述 1.1 无监督学习与聚类算法 1.2 sklearn中的聚类算法 2 KMeans 2.1 KMeans是如何工作的 2.2 簇内误差平方和的定义和解惑 2.3 KMeans算法的时间 ...

  6. 机器学习-Sklearn-07(无监督学习聚类算法KMeans)

    机器学习-Sklearn-07(无监督学习聚类算法KMeans) 学习07 1 概述 1.1 无监督学习与聚类算法 聚类算法又叫做"无监督分类",其目的是将数据划分成有意义或有用的 ...

  7. [数据挖掘笔记] 聚类算法KMeans

    文章目录 1.概述 1.1 无监督学习与聚类算法 1.2 sklearn中的聚类算法 2.KMeans 2.1 KMeans是如何工作的 2.2 簇内误差平方和的定义和解惑 2.3 KMeans算法的 ...

  8. 机器学习中的聚类算法有哪几种?

    目前,聚类算法被广泛应用于用户画像.广告推荐.新闻推送和图像分割等等.聚类算法是机器学习中一种"数据探索"的分析方法,它帮助我们在大量的数据中探索和发现数据的结构.那么机器学习中的 ...

  9. 聚类算法——kmeans和meanshift

    聚类算法--kmeans和meanshift [转] 1. meanshift 转于http://www.cnblogs.com/liqizhou/archive/2012/05/12/2497220 ...

最新文章

  1. 23种设计模式(一)单例模式
  2. Silverlight 参考:三维效果(透视转换) -- MSN
  3. 【多线程】阻塞队列的C++多线程 实现 BlockingQueue
  4. Hat’s Words
  5. oracle中实现continue,break .
  6. React之组件通信
  7. python 闭包中的匿名函数详解!
  8. android详细解释键盘和鼠标事件
  9. 有没有用逆向算法恢复马赛克的可能性?
  10. Maven多模块,Dubbo分布式服务框架,SpringMVC,前后端分离项目,基础搭建,搭建过程出...
  11. matlab 贝叶斯信息标准_Matlab中贝叶斯(bayes)分类器实现分类
  12. Flexbox弹性布局,更优雅的布局
  13. maven 打包父工程_maven 父子工程打包 并且上传linux服务器
  14. coodblock调试_codeblocks怎么调试?
  15. 情境领导者的三体思维
  16. 宝塔 cpanel_cPanel / WHM许可更改
  17. Broadcasts详解
  18. word2003快速排版工具栏_手机版编辑器上线!如何快速编辑微信图文?
  19. RAC+DG搭建过程
  20. 用计算机打印出1000,一台HP1000型激光打印机用5米USB延长线接到另一台做主机的电脑上频繁出现打印故障!...

热门文章

  1. SWIG入门文档(翻译自官方网站)
  2. 故障诊断2—研究展望(未完待续)
  3. Omni Recover for Mac(iPhone数据恢复软件)
  4. 一起来了解Shell脚本
  5. python处理nc数据转换为tif格式
  6. python基础—for循环(图案打印) 2021-11-06
  7. 5.1.2全景声音箱摆位_没有布线的5.1声道家庭影院如何升级到5.1.2全景声?
  8. windows 语音识别
  9. 什么是光电直读远传阀控水表?
  10. 约瑟夫问题(出圈问题)