这是一次数据实验。基于七月算法邹博讲义和scikit-lean官网。

聚类:就是对大量未知标注的数据集,按数据的内在相似性将数据划分为多个类别,使得类别内的数据相似性较大而类别间的相似性较小。

1 k-means算法
 参数:聚类的数目
 描述:k-means将 包含N个样本量的数据集X,分到不相交的聚类C中。每个聚类由样本的平均值决定,通常这个平均值被称为质心(中心点)。k-means算法就是要寻找质心,使得簇内平方和最小。k-均值通常被称为劳埃德算法。
∑ni=0minμj∈c(∥∥μj−xi∥∥)2\sum _{i=0}^{n}\min _{\mu_j\in c}\left( \left\| \mu _{j}-x_{i}\right\| \right) ^{2}
 步骤:假定输入样本X=x1,x2,x3...xnX=x_1,x_2,x_3...x_n,输入聚类数目k。
 1 选择初始的k个类别中心μ1,μ2,...μk\mu_1,\mu_2,...\mu_k。
 2 对于每个样本xix_i,将其标记为距离类别中心最近的类别,labeli=argmin1≤j≤k||xi−μj||label_i=argmin_{1\leq j \leq k}||x_i-\mu_j||
 3 将每个类别中心更新为 所有属于这个类别的样本的均值μj=1|Cj|∑i∈Cjxi\mu _{j}=\dfrac {1} {|C_j|}\sum_{i\in C_j} x_i
 4 重复步骤2 和 3 ,直到符合退出条件。
 5 退出条件可以是:一定的迭代次数;簇中心变化率;最小平方误差。
 注意:
 0 k-means最后获得的是局部最优解。
 1 前提假设聚类是凸的,并且是同质的(各向同性的)。在遇到细长的形状、不规则流形状的时候是无效的。
 2 衡量数据相似度的计算方法有很多:欧氏距离、杰卡德相似系数、余弦相似度、Pearson相似系数、Hellinger距离等。
 3 高纬度灾难,当样本维数很高的时候,计算量很大,这时候可以先用PCA,之后再调用k-means。
 4 算法效果高度依赖初始簇中心点的选择。在scikit-learn中可以使用k-means++选择质心,这样选择质心相互距离会比较远,好于随机选择。
 5 在scikit-learn有一个参数:n_jobs,可以指定处理器个数。默认值是1;n_jobs=-1,使用所有的处理器;n_jobs=-2,有一个处理器不使用。并行处理在X 系统下会出问题。
 6 对异常点(噪音)的处理能力差。
Mini Batch K-Means
MiniBatchKMeans是KMeans的变种。不同之处是每次从样本集中随机选择一小部分样本进行计算,以减少运行时间。

试验
 1执行iris.data看效果。不同的聚类数目,不同的迭代次数。(我显然理解不了这个效果)。
 2 执行digitsdateset。比较了初始值选用:k-means++,random,pca选择的主成分三种方法的效果。

聚类效果评价
 1 Adjusted Rand index(ARI)
 2 Mutual Information based scores(AMI)
 3 homogeneity
 4 completeness
 5 V-measure
 6 Fowlkes-Mallows scores
 7 Silhouette Coefficient
 8 Calinski-Harabaz Index
继续试验
 1文本聚类

使用scikit中的聚类相关推荐

  1. Nat. Mach. Intell. | 基于神经网络的迁移学习用于单细胞RNA-seq分析中的聚类和细胞类型分类...

    今天给大家介绍由美国宾夕法尼亚大学佩雷尔曼医学院生物统计学,流行病学和信息学系Jian Hu等人在<Nature Machine Intelligence>上发表了一篇名为"It ...

  2. R语言层次聚类(hierarchical clustering):特征缩放、抽取hclust中的聚类簇(cutree函数从hclust对象中提取每个聚类簇的成员)、基于主成分分析的进行聚类结果可视化

    R语言层次聚类(hierarchical clustering):特征缩放.抽取hclust中的聚类簇(cutree函数从hclust对象中提取每个聚类簇的成员).基于主成分分析的进行聚类结果可视化 ...

  3. Scikit中的特征选择,XGboost进行回归预测,模型优化的实战

    前天偶然在一个网站上看到一个数据分析的比赛(sofasofa),自己虽然学习一些关于机器学习的内容,但是并没有在比赛中实践过,于是我带着一种好奇心参加了这次比赛. 赛题:足球运动员身价估计 比赛概述 ...

  4. ITK:灰度图像中的聚类像素

    ITK:灰度图像中的聚类像素 内容提要 输出结果 C++实现代码 内容提要 将灰度图像中的像素聚类. 输出结果 输出: cluster[0] estimated mean : 10 cluster[1 ...

  5. Python机器学习:梯度下降法007使用scikit中的随机梯度下降法

    #真实数据 from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn ...

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

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

  7. 图论中的聚类系数(Clustering coefficient)简单介绍

    目录 前言 介绍 局部聚类系数 全局聚类系数 前言 在GraphSage论文的理论分析部分,涉及到一个概念叫做"Clustering coefficient",直译过来就是聚类系数 ...

  8. Armadillo 线性代数库中的聚类算法避坑

    1.本文的由来 最近由于需要在C++语言编写的项目中使用高斯混合模型聚类算法,最开始是打算自己写一个的(参考的是<机器学习>,周志华著这本书),但是最后发现自己写的算法运行效率低,而且对于 ...

  9. 风控必学|肘部法与客户分群——客户画像中的聚类与特征画像分析

    客户聚类分析,在信贷圈子里,是一种很常见的数据挖掘场景,对于从事金融数据分析岗位的我们,也是需要必备掌握能力之一.无论是策略分析岗,还是数据建模岗,或者是数据分析岗,客户样本的分群画像,在某些程度上来 ...

最新文章

  1. cleanmymac3.9.6 for mac_色轮插件配色神器Coolorus 2.6(win+mac)
  2. Unix信号处理一些笔记
  3. python编程设计大学ppt_Python程序设计-清华大学出版社-董付国第5章-函数的设计和使用PPT...
  4. python返回变量类型_Python指定函数参数、返回值类型报错是咋了?
  5. Android中ExpandableListView控件基本使用
  6. Intelij 添加php注释
  7. oracle中的视图详解
  8. 贝壳找房技术总监肖鹏:高速成长下的技术团队怎么带?
  9. oracle创建数据库表空间
  10. dojo.declare
  11. 又一自动驾驶独角兽诞生!Momenta获2亿美元总融资,腾讯首投中国无人车
  12. ActiveMQ下载与安装(Linux环境下进行)
  13. 关于盒子模型的应用(制作三角形)
  14. javaweb学习路线
  15. 免手机验证码网站备案
  16. IDEA添加gitlab仓库并上传代码(无需使用任何git指令),报错Ask a project Owner or Maintainer to create a default branch解决方案
  17. Audio AudioFocus流程
  18. 沥青路面粘弹性力学分析基础研究
  19. DecisionTreeClassifier实例:Iris莺尾花分类
  20. FLy_buck 拓扑结构

热门文章

  1. ES6展开运算符(...)
  2. 编写一个函数func(),将此函数的输入参数(int型)逆序输出显示,如54321 – 12345,要求使用递归,并且函数体代码不超过8行...
  3. 代码演示 .NET 4.5 自带的 ReadonlyCollection 的使用
  4. mysql数据库root密码在哪个文件中_mysql - 本地数据库忘记了root用户的密码
  5. 《redis 设计与实现》读书笔记
  6. o.s.b.d.LoggingFailureAnalysisReporter
  7. monaco-editor 监听保存按钮
  8. matlab impyramid,图像 – Matlab impyramid问题
  9. centos7编译 openjdk8
  10. 从mysql 5.7 到 mysql 8.0