在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:      (1)K-means      (2)Latent Dirichlet allocation (LDA)      (3)Bisecting k-means(二分k均值算法)      (4)Gaussian Mixture Model (GMM)       基于RDD API的MLLib中,共有六种聚类方法:      (1)K-means      (2)Gaussian mixture     …
在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:             (1)K-means             (2)Latent Dirichlet allocation (LDA)             (3)Bisecting k-means(二分k均值算法)             (4)Gaussian Mixture Model (GMM).             基于RDD API的MLLib中,共有六种聚类方法:          …
在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:      (1)K-means      (2)Latent Dirichlet allocation (LDA)      (3)Bisecting k-means(二分k均值算法)      (4)Gaussian Mixture Model (GMM).        基于RDD API的MLLib中,共有六种聚类方法:      (1)K-means      (2)Gaussian mixture  …
在Spark2.0版本中(不是基于RDD API的MLlib),共有四种聚类方法:      (1)K-means      (2)Latent Dirichlet allocation (LDA)      (3)Bisecting k-means(二分k均值算法)      (4)Gaussian Mixture Model (GMM).        基于RDD API的MLLib中,共有六种聚类方法:      (1)K-means      (2)Gaussian mixture  …
概述 线性回归拟合一个因变量与一个自变量之间的线性关系y=f(x).       Spark中实现了:       (1)普通最小二乘法       (2)岭回归(L2正规化)       (3)Lasso(L1正规化).       (4)局部加权线性回归       (5)流式数据可以适用于线上的回归模型,每当有新数据达到时,更新模型的参数,MLlib目前使用普通的最小二乘支持流线性回归.除了每批数据到达时,模型更新最新的数据外,实际上与线下的执行是类似的. 本文采用的符号: 拟合函数   …
Spark2.0 MLPC(多层神经网络分类器)算法概述 MultilayerPerceptronClassifier(MLPC)这是一个基于前馈神经网络的分类器,它是一种在输入层与输出层之间含有一层或多层隐含结点的具有正向传播机制的神经网络模型.  中间的节点使用sigmoid (logistic)函数,输出层的节点使用softmax函数.输出层的节点的数目表示分类器有几类.MLPC学习过程中使用BP算法,优化问题抽象成logistic loss function并使用L-BFGS进行优化.…
概念梳理 GBDT的别称 GBDT(Gradient Boost Decision Tree),梯度提升决策树.     GBDT这个算法还有一些其他的名字,比如说MART(Multiple Additive Regression Tree),GBRT(Gradient Boost Regression Tree),Tree Net等,其实它们都是一个东西(参考自wikipedia – Gradient Boosting),发明者是Friedman. 研究GBDT一定要看看Friedman的pa…
概述 随机森林是决策树的组合算法,基础是决策树,关于决策树和Spark2.0中的代码设计可以参考本人另外一篇博客: http://www.cnblogs.com/itboys/p/8312894.html随机森林Spark中基于Pipeline和DataFrame的代码编写和决策树基本上是一样的,只需要将classifer换一下可以了,其它部分是一模一样的,因此本文不再对代码进行注释分析. 随机森林模型可以快速地被应用到几乎任何的数据科学问题中去,从而使人们能够高效快捷地获得第一组基准测试结果.…
概述 分类决策树模型是一种描述对实例进行分类的树形结构. 决策树可以看为一个if-then规则集合,具有“互斥完备”性质 .决策树基本上都是 采用的是贪心(即非回溯)的算法,自顶向下递归分治构造. 生成决策树一般包含三个步骤:  特征选择 决策树生成 剪枝 决策树算法种类 决策树主要有 ID3, C4.5, C5.0 and CART几种, ID3, C4.5, 和CART实际都采用的是贪心(即非回溯)的算法,自顶向下递归分治构造.对于每一个决策要求分成的组之间的“差异”最大.各种决策树算法之间…
Spark中的CrossValidation Spark中采用是k折交叉验证 (k-fold cross validation).举个例子,例如10折交叉验证(10-fold cross validation),将数据集分成10份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计. 10折交叉检验最常见,是因为通过利用大量数据集.使用不同学习技术进行的大量试验,表明10折是获得最好误差估计的恰当选择,而且也有一些理论根据可以证明这一点.但这并非最终结论,争议仍然存在.而且似…
参数设置 α: 梯度上升算法迭代时候权重更新公式中包含 α :  http://blog.csdn.net/lu597203933/article/details/38468303 为了更好理解 α和最大迭代次数的作用,给出Python版的函数计算过程. # 梯度上升算法-计算回归系数 # 每个回归系数初始化为1 # 重复R次: # 计算整个数据集的梯度 # 使用α*梯度更新回归系数的向量 # 返回回归系数 def gradAscent(dataMatIn, classLabels,alpha=…
一对多(One-vs-Rest classifier) 将只能用于二分问题的分类(如Logistic回归.SVM)方法扩展到多类. 参考:http://www.cnblogs.com/CheeseZH/p/5265959.html “一对多”方法 训练时依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类别的样 本就构造出了k个binary分类器.分类时将未知样本分类为具有最大分类函数值的那类. 假如我有四类要划分(也就是4个Label),他们是A.B.C.D. 于是我在抽取训练集…
考虑到学习知识的顺序及效率问题,所以后续的几种聚类方法不再详细讲解原理,也不再写python实现的源代码,只介绍下算法的基本思路,使大家对每种算法有个直观的印象,从而可以更好的理解函数中参数的意义及作用,而重点是放在如何使用及使用的场景. (题外话: 今天看到一篇博文:刚接触机器学习这一个月我都做了什么?  里面对机器学习阶段的划分很不错,就目前而言我们只要做到前两阶段即可) 因为前两篇博客已经介绍了两种算法,所以这里的算法编号从3开始. 3.Mean-shift 1)概述 Mean-shift…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第12篇文章,我们一起来看下Kmeans聚类算法. 在上一篇文章当中我们讨论了KNN算法,KNN算法非常形象,通过距离公式找到最近的K个邻居,通过邻居的结果来推测当前的结果.今天我们要来看的算法同样非常直观,也是最经典的聚类算法之一,它就是Kmeans. 我们都知道,在英文当中Means是平均的意思,所以也有将它翻译成K-均值算法的.当然,含义是一样的,都是通过求均值的方式来获取样本的类簇. 既然知道Kmeans算法…
聚类是一种无监督的学习,它将相似的对象归到同一簇中.它有点像全自动分类.聚类方法几乎可以应用到所有对象,簇内的对象越相似,聚类的效果越好. K-均值(K-means)聚类算法,之所以称之为K-均值是因为它可以发现k个不同的簇,且每个簇的中心采用簇中所含值的均值计算而成. 簇识别(cluster identification)给出簇类结果的含义.假定有一些数据,现在将相似数据归到一起,簇识别会告诉我们这些簇到底都是些什么. K-均值聚类算法 优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据…
1.算法简介 AP(Affinity Propagation)通常被翻译为近邻传播算法或者亲和力传播算法,是在2007年的Science杂志上提出的一种新的聚类算法.AP算法的基本思想是将全部数据点都当作潜在的聚类中心(称之为exemplar),然后数据点两两之间连线构成一个网络(相似度矩阵),再通过网络中各条边的消息(responsibility和availability)传递计算出各样本的聚类中心. 2.相关概念(假如有数据点i和数据点j)        (图1)              …
1.算法简介 AP(Affinity Propagation)通常被翻译为近邻传播算法或者亲和力传播算法,是在2007年的Science杂志上提出的一种新的聚类算法.AP算法的基本思想是将全部数据点都当作潜在的聚类中心(称之为exemplar),然后数据点两两之间连线构成一个网络(相似度矩阵),再通过网络中各条边的消息(responsibility和availability)传递计算出各样本的聚类中心. 2.相关概念(假如有数据点i和数据点j)        (图1)              …
本文由ChardLau原创,转载请添加原文链接https://www.chardlau.com/mean-shift/ 今天的文章介绍如何利用Mean Shift算法的基本形式对数据进行聚类操作.而有关Mean Shift算法加入核函数计算漂移向量部分的内容将不在本文讲述范围内.实际上除了聚类,Mean Shift算法还能用于计算机视觉等场合,有关该算法的理论知识请参考这篇文章. Mean Shift算法原理 下图展示了Mean Shift算法计算飘逸向量的过程: Mean Shift算法的关键…
聚类算法 任务:将数据集中的样本划分成若干个通常不相交的子集,对特征空间的一种划分. 性能度量:类内相似度高,类间相似度低.两大类:1.有参考标签,外部指标:2.无参照,内部指标. 距离计算:非负性,同一性(与自身距离为0),对称性,直递性(三角不等式).包括欧式距离(二范数),曼哈顿距离(一范数)等等. 1.KNN k近邻(KNN)是一种基本分类与回归方法. 其思路如下:给一个训练数据集和一个新的实例,在训练数据集中找出与这个新实例最近的k  个训练实例,然后统计最近的k  个训练实例中所属类…
一.算法介绍 K-means算法是最简单的也是最著名的划分聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使用的.算法的目的是使各个样本与所在均值的误差平方和达到最小(这也是评价K-means算法最后聚类效果的评价标准) 这里小编给大家推荐两个不错的学习链接: 网易公开课 博客 二.算法步骤解析 我们以二维点集为例: 从平面中随机选取K个点作为初始聚类中心,我们的目的是将给定的所有点集分成K类: 计算每个点到初始聚类中心的距离,并选择距离最近的归为其类: 所有点归完类后,计算每一类的质心,…
一:一般K均值聚类算法实现 (一)导入数据 import numpy as np import matplotlib.pyplot as plt def loadDataSet(filename): dataSet = np.loadtxt(filename) return dataSet (二)计算两个向量之间的距离 def distEclud(vecA,vecB): #计算两个向量之间距离 return np.sqrt(np.sum(np.power(vecA-vecB,))) (三)随机初…
1.简介 K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一.K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类.通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果. 2. 算法大致流程为: 1)随机选取k个点作为种子点(这k个点不一定属于数据集) 2)分别计算每个数据点到k个种子点的距离,离哪个种子点最近,就属于哪类 3)重新计算k个种子点的坐标(简单常用的方法是求坐标值的平均值作为新的坐标值) 4)重复2.3步,直到种子…
一.关于聚类及相似度.距离的知识点 二.k-means算法思想与流程 三.sklearn中对于kmeans算法的参数 四.代码示例以及应用的知识点简介 (1)make_blobs:聚类数据生成器 sklearn.datasets.make_blobs(n_samples=100, n_features=2,centers=3, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)[source] 返…
  一.概念 1.1.定义 按照某一个特定的标准(比如距离),把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不再同一个簇内的数据对象的差异性也尽可能的大. 聚类属于典型的无监督学习(Unsupervised Learning) 方法.与监督学习(如分类器)相比,无监督学习的训练集没有人为标注的结果.在非监督式学习中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构. 1.2.主要方法 层次聚类(Hierarchical Clustering):合并法.分…
K-means 原理 首先随机选择k个初始点作为质心 1. 对每一个样本点,计算得到距离其最近的质心,将其类别标记为该质心对应的类别 2. 使用归类好的样本点,重新计算K个类别的质心 3. 重复上述过程,直到质心不发生变化 距离计算方法 在K-Means算法中,需要注意的是,对于距离的计算有很多中方法: (1)闵可夫斯基距离( Minkowski ) \[d(x,y) = (\sum_{i=1}^n|x_i-y_i|^p)^{\frac{1}{p}} \] 注意这里p=2时则为常用的欧氏距离.…
上一篇博文我们介绍了ML.NET 的入门: ML.NET技术研究系列1-入门篇 本文我们继续,研究分享一下聚类算法k-means. 一.k-means算法简介 k-means算法是一种聚类算法,所谓聚类,即根据相似性原则,将具有较高相似度的数据对象划分至同一类簇,将具有较高相异度的数据对象划分至不同类簇. 1. k-means算法的原理是什么样的?参考:https://baijiahao.baidu.com/s?id=1622412414004300046&wfr=spider&for=p…
时间过得很快,这篇文章已经是机器学习入门系列的最后一篇了.短短八周的时间里,虽然对机器学习并没有太多应用和熟悉的机会,但对于机器学习一些基本概念已经差不多有了一个提纲挈领的了解,如分类和回归,损失函数,以及一些简单的算法--kNN算法.决策树算法等. 那么,今天就用聚类和K-Means算法来结束我们这段机器学习之旅. 1. 聚类 1.1 什么是聚类 将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类.由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他…
机器学习六--K-means聚类算法 想想常见的分类算法有决策树.Logistic回归.SVM.贝叶斯等.分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应.但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,想想如果给你50个G这么大的文本,里面已经分好词,这时需要将其按照给定的几十个关键字进行划分归类,监督学习的方法确实有点困难,而且也不划算,前期工作做得太多了. 这时候可以考…
第一部分: 学习Mahout必需要知道的资料查找技能: 学会查官方帮助文档: 解压用于安装文件(mahout-distribution-0.6.tar.gz),找到例如以下位置.我将该文件解压到win7的G盘mahout目录下,路径例如以下所看到的: G:\mahout\mahout-distribution-0.6\docs 学会查源码的凝视文档: 方案一:用maven创建一个mahout的开发环境(我用的是win7,eclipse作为集成开发环境,之后在Maven Dependencies中…
机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间:2018-11-3机器学习实战(Machine Learning in Action,@author: Peter Harrington)源码下载地址:https://www.manning.com/books/machine-learning-in-actiongit@github.com:pbh…