龙君蛋君 2015年5月24日 1.背景介绍 最近公司在用R 建模,老板要求用shiny 展示结果,建模的过程中用到诸如kmean聚类,时间序列分析等方法.由于之前看过一篇讨论kmenas聚类针对某一特定数据类型,聚类结果非常不靠谱的文章,于是这个周末突发奇想,用shiny可交互的展示kmeans聚类中的坑...这篇博文就当是记录学习shiny和加深对kmeans.层次聚类的理解吧. 2.知识引用与学习 1)大数据分析之——k-means聚类中的坑 2)Shiny Gallery-This ga…
说明: KMeans 聚类中的超参数是 K,需要我们指定.K 值一方面可以结合具体业务来确定,另一方面可以通过肘方法来估计.K 参数的最优解是以成本函数最小化为目标,成本函数为各个类畸变程度之和,每个类的畸变程度等于该类重心与其内部成员位置距离的平方和但是平均畸变程度会随着K的增大先减小后增大,所以可以求出最小的平均畸变程度. 1.示例 # 导入相关模块 from sklearn.datasets import make_blobs from sklearn.cluster import KMe…
上一篇我们详细介绍了普通的K-means聚类法在Python和R中各自的实现方法,本篇便以实际工作中遇到的数据集为例进行实战说明. 数据说明: 本次实战样本数据集来自浪潮集团提供的美团的商家信息,因涉及知识产权问题恕难以提供数据地址: 我选择的三个维度的数值型数据分别为“商家评分”,“商家评论数”,“本月销售额”,因为数值极差较大,故对原数据先进行去缺省值-标准化处理,再转为矩阵形式输入K-means算法之中,经Rtsne对原数据进行降维后具体代码和可视化聚类效果如下: rm(list=ls()…
机器学习中的算法主要分为两类,一类是监督学习,监督学习顾名思义就是在学习的过程中有人监督,即对于每一个训练样本,有对应的标记指明它的类型.如识别算法的训练集中猫的图片,在训练之前会人工打上标签,告诉电脑这些像素组合在一起,里面包含了一只猫.而自然界中更多的数据样本,事实上是没有这些标记的,而我们针对这些没有标记的数据样本,对它们进行学习的算法就叫做无监督学习.聚类算法就是一种典型的无监督学习的算法.俗话说,物以类聚,聚类算法通常就是把分散在空间中的样本按照一定的规则聚集在一起.K-Means聚类…
K-means聚类 将n个观测点,按一定标准(数据点的相似度),划归到k个聚类(用户划分.产品类别划分等)中. 重要概念:质心 K-means聚类要求的变量是数值变量,方便计算距离. 算法实现 R语言实现 k-means算法是将数值转换为距离,然后测量距离远近进行聚类的.不归一化的会使得距离非常远. 补充:scale归一化处理的意义 两个变量之间数值差别太大,比如年龄与收入的数值差别就很大. 步骤 第一步,确定聚类数量,即k的值 方法:肘部法则+实际业务需求 第二步,运行K-means模型 求出…
来源:, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='auto', verbose=0, random_state=None, copy_x=True, n_jobs=1, algorithm='auto' ) 1 2 3 4 5 6 7 8 9 10 11 12 参数的意义: n_clusters:簇的个数,即你想聚成几类 init: 初始簇中心的获取方法 n_init: 获取初始簇中…
k-means法与k-medoids法都是基于距离判别的聚类算法.本文将使用iris数据集,在R语言中实现k-means算法与k-medoids算法. k-means聚类 首先删去iris中的Species属性,留下剩余4列数值型变量.再利用kmeans()将数据归为3个簇 names(iris) iris2 <- iris[,-5] #删去species一列 kmeans_result <- kmeans(iris2,3) #将数据归为3个簇str(kmeans_result)    #查看…
kmeans法(K均值法)是麦奎因提出的,这种算法的基本思想是将每一个样本分配给最靠近中心(均值)的类中,具体的算法至少包括以下三个步骤: 1.将所有的样品分成k个初始类: 2.通过欧氏距离将某个样品划入离中心最近的类中,并对获得样品与失去样品的类重新计算中心坐标: 3.重复步骤2,直到所有的样品都不能在分类为止 kmeans法与系统聚类法一样,都是以距离的远近亲疏为标准进行聚类的.但是两者的不同之处也很明显:系统聚类对不同的类数产生一系列的聚类结果,而K均值法只能产生指定类数的聚类结果.具体类…
上一篇我们较为系统地介绍了Python与R在系统聚类上的方法和不同,明白人都能看出来用R进行系统聚类比Python要方便不少,但是光介绍方法是没用的,要经过实战来强化学习的过程,本文就基于R对2016年我国各主要城市第一.二.三产业GDP的量为三个不同特征,对这些城市进行系统聚类+分析: 数据来源:http://data.stats.gov.cn/easyquery.htm?cn=E0105 数据内容: 36个样本,3个变量,分别在三个xls文件中 分析目的: 为这些城市通过产业结构进行分类 实…
本人以前主要focus在传统音频的软件开发,接触到的算法主要是音频信号处理相关的,如各种编解码算法和回声消除算法等.最近切到语音识别上,接触到的算法就变成了各种机器学习算法,如GMM等.K-means作为其中比较简单的一种肯定是要好好掌握的.今天就讲讲K-means的基本原理和代码实现.其中基本原理简述(主要是因为:1,K-means比较简单:2,网上有很多讲K-means基本原理的),重点放在代码实现上. 1, K-means基本原理 K均值(K-means)聚类算法是无监督聚类(聚类(clu…