分类目录归档:机器学习&数据挖掘

适合大数据的聚类算法Mini Batch K-Means


[K-Means算法]是常用的聚类算法,但其算法本身存在一定的问题,例如在大数据量下的计算时间过长就是一个重要问题。为此,Mini BatchK-Means,这个基于K-Means的变种聚类算法应运而生。 大数据量是什么量级?通过当样本量大于1万做聚类时,就需要考虑选用Mini Batch K-Means算法。但是,在选择算法时,除了算法效率(运行时间)外,算法运行的准确度也是选择算法的重要因素。Mini Batch

K-Means算法的准确度如何?

minibatchkmeans11

上图是我们队3万的样本点分别使用K-Means和Mini Batch KMeans进行聚类的结果,由结果可知,在3万样本点的基础上,二者

继续阅读

数据预处理-清洗转换


当数据质量校验完成后,针对有问题的数据要进行的是数据清洗和转换,另外还包括对正常数据的转换。数据清洗的主要作用包括:纠正错误、删除重复项、统一规格、修正逻辑、转换构造和数据压缩。

1. 纠正错误

错误数据是数据源环境中经常出现的一类问题。数据错误的形式包括:

  • 数据值错误:数据直接是错误的,例如超过固定域集、超过极值、拼写错误、属性错误、源错误等。
  • 数据类型错误:数据的存储类型不符合实际情况,如日期类型的以数值型存储,时间戳存为字符串等。
  • 数据编码错误:数据存储的编码错误,例如将UTF-8写成UTF-80。
  • 数据格式错误:数据的存储格式问题,如半角全角字符、中英文字符等。
  • 数据异常错误:如数值

继续阅读

企业大数据的数据源内容


数据源指的是企业内、外部数据的来源。数据源是大数据工作流的起点,一个完整的、需要不断迭代更新的数据工作都应该从数据源开始。这些数据源由于各自生产、存储环境的不同可分为日志/文件、数据库、网络爬虫、第三方API等。

1日志/文件

在企业内部数据源中,会存在各种日志或文件类型的数据,可能包括以下几类:

  • 日志数据,包括机器日志、用户访问日志、监控日志等,这些日志通常都是以半结构化的文本文件进行存储。
  • 视频数据,主要是动态影像数据,比如宣传视频、操作视频、监控视频、医疗视频、记录视频等,这些大多是非结构化的数据并以文件的形式进行存储。
  • 音频数据,主要集中在客服坐席录音领域,以非结构化的文件的形式进行

继续阅读

DBSCAN


DBSCAN的全部英文是Density-Based Spatial Clustering of Applications with Noise,中文是“基于密度的带有噪声的空间聚类”。DBSCAN是一个比较有代表性的基于密度的聚类算法,与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。

该算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内(用Eps定义出的半径)所包含对象(点或其他空间对象)的数目不小于某一给定阈值(用MinPts定义的聚类点数)。

DBSCAN算法的显著优点是聚类能够 有效处理

继续阅读

谱聚类Spectral clustering(SC)


在之前的文章里,介绍了比较传统的[K-Means聚类]、[Affinity Propagation(AP)聚类]、比K-Means更快的[Mini Batch K-Means]聚类以及[混合高斯模型Gaussian Mixture Model(GMM)]等聚类算法,今天介绍一个比较近代的一类算法——Spectral Clustering 中文通常称为“谱聚类”。

Spectral Clustering(谱聚类,有时也简称SC),其实是一类算法的统称。

它是一种基于图论的聚类方法(这点上跟AP类似,而K-Means是基于点与点的距离计算),它能够识别任意形状的样本空间且收敛于全局最有解,其基本思

继续阅读

聚类算法Mean Shift


Mean Shift算法,一般是指一个迭代的步骤,即先算出当前点的偏移均值,然后以此为新的起始点,继续移动,直到满足一定的结束条件。 Mean Shift算法是一种无参密度估计算法或称[核密度估计算法],Mean shift是一个向量,它的方向指向当前点上概率密度梯度的方向。

所谓的核密度评估算法,指的是根据数据概率密度不断移动其均值质心(也就是算法的名称Mean Shift的含义)直到满足一定条件。 mean-shift11

上图诠释了Mean Shift算法的基本工作原理,那么如何找到数据概率密度最大的区域?

数据最密集的地方,对应于概率密度最大的地方。我们可以对概率密度求梯度,梯度的方向就是概率密度增加最大的

继续阅读

聚类算法Affinity Propagation(AP)


Affinity Propagation聚类算法简称AP,是一个在07年发表在Science上面比较新的算法。

AP算法的基本思想是将全部样本看作网络的节点,然后通过网络中各条边的消息传递计算出各样本的聚类中心。聚类过程中,共有两种消息在各节点间传递,分别是吸引度(responsibility)和归属度(availability)。AP算法通过迭代过程不断更新每一个点的吸引度和归属度值,直到产生m个高质量的Exemplar(类似于质心),同时将其余的数据点分配到相应的聚类中。

在AP算法中有一些特殊名词:

  • Exemplar:指的是聚类中心,K-Means中的质心。
  • Similarity:数据

继续阅读

K均值(K-Means)


聚类是数据挖掘中的基本任务,聚类是将大量数据集中具有“相似”特征的数据点划分为统一类别,并最终生成多个类的方法。

聚类分析的基本思想是“物以类聚、人以群分”,因此大量的数据集中必然存在相似的数据点,基于这个假设就可以将数据区分出来,并发现每个数据集(分类)的特征。

与聚类的概念类似的另外一个概念是“分类”,实际上二者经常被混用。但二者根本上是不同的:

  1. 学习方式不同。聚类是一种非监督式学习算法,而分类是监督式学习算法。
  2. 对源数据集要求不同。聚类不要求源数据集有标签,但分类需要标签用来做学习。
  3. 应用场景不同。聚类一般应用于做数据探索性分析,而分类更多的用于预测性分析。
  4. 解读结果不同。聚类算法的结

继续阅读

线性判别分析Linear Discriminant Analysis (LDA)


判别分析(DiscriminantAnalysis)是一种分类方法,它通过一个已知类别的“训练样本”来建立判别准则,并通过预测变量来为未知类别的数据进行分类。线性判别式分析(Linear Discriminant Analysis,简称为LDA)是其中一种,也是模式识别的经典算法,在1996年由Belhumeur引入模式识别和人工智能领域。LDA以Bayes判别思想为基础,当分类只有两种且总体服从多元正态分布条件下,Bayes判别与Fisher判别、距离判别是等价的。

基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有

继续阅读

因子分析(Factor Analysis)


在之前的文章中,我们介绍了数据降维的几种方法,包括[PCA]、[LDA]、[ICA]等,另外还有一种常用的降维方法就是因子分析。

因子分析(Factor Analysis)是指研究从变量群中提取共性因子的统计技术,这里的共性因子指的是不同变量之间内在的隐藏因子。

例如,一个学生的英语、数据、语文成绩都很好,那么潜在的共性因子可能是智力水平高。因此,因子分析的过程其实是寻找共性因子和个性因子并得到最优解释的过程。

因子分析有两个核心问题:一是如何构造因子变量,二是如何对因子变量进行命名解释。因子分析有下面4个基本步骤:

  1. 确定原有若干变量是否适合于因子分析。因子分析的基本逻辑是从原始变量中构造

继续阅读