《机器学习实战》二分-kMeans算法(二分K均值聚类)
来源:互联网 发布:巨人网络 纪学锋 编辑:程序博客网 时间:2024/05/20 08:44
=====================================================================
《机器学习实战》系列博客是博主阅读《机器学习实战》这本书的笔记也包含一些其他python实现的机器学习算法
算法实现均采用python
github 源码同步:https://github.com/Thinkgamer/Machine-Learning-With-Python
=====================================================================
Scikit-learn 实现的K-Means 算法请参考 :点击阅读
K-Means 均值算法请参考:点击阅读
首先二分-K均值是为了解决k-均值的用户自定义输入簇值k所延伸出来的自己判断k数目,其基本思路是:
为了得到k个簇,将所有点的集合分裂成两个簇,从这些簇中选取一个继续分裂,如此下去,直到产生k个簇。
伪代码:
初始化簇表,使之包含由所有的点组成的簇。repeat 从簇表中取出一个簇。 {对选定的簇进行多次二分试验} for i=1 to 试验次数 do 使用基本k均值,二分选定的簇。 endfor 从二分试验中选择具有最小误差的两个簇。 将这两个簇添加到簇表中。until 簇表中包含k个簇
比如要分成5个组,第一次分裂产生2个组,然后从这2个组中选一个目标函数产生的误差比较大的,分裂这个组产生2个,这样加上开始那1个就有3个组了,然后再从这3个组里选一个分裂,产生4个组,重复此过程,产生5个组。这算是一中基本求精的思想。二分k均值不太受初始化的困扰,因为它执行了多次二分试验并选取具有最小误差的试验结果,还因为每步只有两个质心。优点与缺点
k均值简单并且可以用于各种数据类型,它相当有效,尽管常常多次运行。然后k均值并不适合所有的数据类型。它不能处理非球形簇,不同尺寸和不同密度的簇。对包含离群点(噪声点)的数据进行聚类时,k均值也有问题。
其实现的Python代码如下:
0 0
- 《机器学习实战》二分-kMeans算法(二分K均值聚类)
- 机器学习实战:K-均值及二分K-均值聚类算法
- 《机器学习实战》kMeans算法(K均值聚类算法)
- 《机器学习实战》之二分K-均值聚类算法的python实现
- 机器学习理论与实战(十)K均值聚类和二分K均值聚类
- 机器学习理论与实战(十)K均值聚类和二分K均值聚类 .
- 机器学习实战5:k-means聚类:二分k均值聚类+地理位置聚簇实例
- 机器学习算法与Python实践之(六)二分k均值聚类
- 机器学习算法与Python实践之(六)二分k均值聚类
- 机器学习算法与Python实践之(六)二分k均值聚类
- 机器学习算法与Python实践之(六)二分k均值聚类
- 机器学习算法与Python实践之(六)二分k均值聚类
- 《机器学习实战》代码片段学习6 k均值聚类与二分k均值聚类
- 机器学习经典算法详解及Python实现--聚类及K均值、二分K-均值聚类算法
- 机器学习经典算法详解及Python实现--聚类及K均值、二分K-均值聚类算法
- 《机器学习实战》学习笔记-[14]-无监督学习-利用二分K-均值聚类对未标注数据分组
- 机器学习实战ByMatlab(四)二分K-means算法
- 机器学习实战ByMatlab(四)二分K-means算法
- OpenVPN配置启动出错: CRL: cannot read: crl.pem
- jsp中的几个内置对象
- MFC 列表控件
- C语言基础学习——第10天(文件操作)
- Android开发颜色样式及代码
- 《机器学习实战》二分-kMeans算法(二分K均值聚类)
- 用两个栈模拟队列操作
- Single Number II (java)
- Java面试题Tomcat的优化经验
- Ubuntu下OpenGrok安装使用
- TableLayout
- HDU 1269
- C# MSCHART 曲线指示数据点
- Hbase1.0 客户端api---神算子