无监督学习(unsupervised learning)
来源:互联网 发布:matlab 定义矩阵 编辑:程序博客网 时间:2024/05/09 04:15
无监督学习(unsupervised learning)
没有已知标签的训练集,只给一堆数据集,通过学习去发现数据内在的性质及规律。
K-Means聚类算法步骤
- 随机取k个样本作为初始均值向量(或者采用别的方式获取初始均值向量);
- 根据每个样本与均值向量的距离来判断各个样本所属的蔟。
- 根据分好的蔟再次计算新的均值向量,根据新的均值向量再对每个样本进行划分。
- 循环步骤2,3,直到分类结果相同或者在我们规定的误差范围内时中止。
如何选择合适的k(即应当把数据聚成几类?)
K-means 算法需要你先确定把数据分成几类,当你面对一个庞大的多维数据集时,你也不知道应该将数据分成几类比较好,这个时候就需要有一些适当的方法来进行判断。
1. Elbow method
一般得到的曲线拐点不是很明显,较难确定最佳的k值。
2. Average silhouette method
计算聚成不同的类时的轮廓系数(silhouette score),系数越大说明聚类的效果越好。
from sklearn.metrics import silhouette_scoreimport matplotlib.pyplot as pltfrom sklearn.cluster import KMeansK = range(1,15)KM = [KMeans(n_clusters=k).fit(normalized_features) for k in K] # clustering# Average silhouette methods = []for k_means in KM[1:]: labels = k_means.labels_ centroids = k_means.cluster_centers_ # calculate silhouette_score s.append(silhouette_score(normalized_features, labels, metric='euclidean'))
K-means 算法优缺点
K-means 算法优点
- 算法框架清晰,简单,容易理解。
- 本算法确定的k个划分到达平方误差最小。当聚类是密集的,且类与类之间区别明显时,效果较好。
- 对于处理大数据集,这个算法是相对可伸缩和高效的,计算的复杂度为O(NKt),其中N是数据对象的数目,t是迭代的次数。一般来说,K<<N,t<<N 。
K-means 算法缺点
- K-means算法中k是事先给定的,这个k值的选定是非常难以估计的。
- 算法的时间开销是非常大的。
- K-means算法对异常数据很敏感。在计算质心的过程中,如果某个数据很异常,在计算均值的时候,会对结果影响非常大。
参考资料
- http://blog.csdn.net/jwh_bupt/article/details/7654120
- http://www.jianshu.com/p/6c097c4d376b
- https://en.wikipedia.org/wiki/K-means_clustering
0 0
- 无监督学习(Unsupervised Learning)
- 无监督学习(unsupervised learning)
- 监督学习(supervised learning)和无监督学习(unsupervised learning)
- 无监督学习(unsupervised learning) 1.线性方法
- 无监督学习(unsupervised learning) 2.词嵌入
- 无监督学习(unsupervised learning) 3.近邻嵌入
- 无监督学习(unsupervised learning) 4.自编码器
- 无监督学习(unsupervised learning) 5.生成模型
- 机器学习之无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- 无监督特征学习——Unsupervised feature learning and deep learning
- Machine Learning Algorithms Study Notes(4)—无监督学习(unsupervised learning)
- STL中的SET与MAP
- 全球排名前十的美资投行由于全球业务增长速度较快,需要及时补充技术人员,将于3月4日(周六)在其上海office举办Super Saturday的招聘活动,招聘33名Java开发工程师。欢迎积极报名并推
- HTML5全局属性
- PDF2WORD工具命令行使用方法
- leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal
- 无监督学习(unsupervised learning)
- Linux环境变量的设置和查看方法
- linux下vim的配置
- PatA1025 pat ranking(25)
- SVN--文件加锁,执行Clean up命令
- php5.6+apache2.2+mysql5.6源码包安装
- C语言运算优先级
- 学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)
- DESeq2 install --- 如何安装R包( ‘RcppArmadillo’)?