如何利用机器学习和分布式计算来对用户事件进行聚类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用机器学习和分布式计算来对用户事件进行聚类相关的知识,希望对你有一定的参考价值。

参考技术A 给你解释一下这些术语:云计算:就是个炒得很热的商业概念,其实说白了就是将计算任务转移到服务器端,用户只需要个显示器就行了,不过服务器的计算资源可以转包。当然,要想大规模商业化,这里还有些问题,特别是隐私保护问题。大数据:说白了就是数据太多了。如今几兆的数据在20年前也是大数据。但如今所说的大数据特殊在哪呢?如今的问题是数据实在是太多了,这已经超过了传统计算机的处理能力(区别与量子计算机),所以对于大数据我们不得不用一些折衷的法(比如数据挖掘),就是说没必要所有数据都需要精确管理,实际上有效数据很有限,用数据挖掘的方法把这些有限的知识提取出来就行了。·此外,数据抽样,数据压缩也是解决大数据问题的一些策略。数据挖掘:从数据中提取潜在知识,这些知识可以描述或者预测数据的特性。有代表性的数据挖掘任务包括关联规则分析、数据分类、数据聚类等,这些你在任一本数据挖掘教材都可以了解。下面我说说和大数据的区别:数据挖掘只是大数据处理的一个方法。马云所说的大数据,或者如今商业领域所说的大数据,实际上指的就是数据挖掘,其实真正所谓大数据,或者Science杂志中提到的大数据,或者奥巴马提出的大数据发展战略,我的理解是...

机器学习 | k均值聚类算法

在进行无监督学习时,对无标签的数据进行分类是我们常常遇到的问题,例如市场分割、对服务的用户进行分类等等问题。那么如何对这些无标签的数据进行分类呢?那就要用到   均值算法啦!今天的笔记就是关于如何运用   均值聚类算法对无标签数据进行分类。


总的来看,我们需要实现的目标为:
  • 输入:   个无标签样本的集合   ;

  • 输出:样本集合的聚类   。

为实现上述结果,主要分为四个步骤:

  1. 初始化。随机选择    个点作为初始聚类中心   。

  2. 对样本进行聚类。计算每个样本到类中心的距离,将每个样本指派到与其最近的中心的类中,构成聚类结果   。

  3. 计算新的聚类中心。对聚类结果   ,计算当前各个类中的样本的均值,作为新的类中心。

  4. 如果迭代收敛或符合则停止,输出   ,否则继续从第二步开始。

example

  • 给定含有10个无标签样本的集合:  用   均值聚类算法将样本分为两类,即   。

 解:本文利用   实现   均值聚类算法。代码如下所示:

%matplotlib inlineimport matplotlib.pyplot as pltimport seaborn as sns; sns.set() # 设置绘图风格import numpy as npX = np.array([[1,0],[3,3],[4,1],[5,7],[7,9],[6,8],[2,1],[3,1],[5,9],[6,10]])from sklearn.cluster import KMeansKmeans = KMeans(n_clusters=2)Kmeans.fit(X)y_kmeans = Kmeans.predict(X)fig = plt.figure()plt.scatter(X[:, 0], X[:, 1], c=y_kmeans,s=50,cmap='viridis')centers = Kmeans.cluster_centers_plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5)

上述代码的运行结果如下:

       通过   绘制的图可以看出,10个无标签数据被很好的分成了两组(这是当   时分类得到的最终结果,   取不同值得到的结果不同)。

k均值聚类算法中常见的问题:

    1. 聚类的类别数   值需要首先确定, 而现实中往往不知道   的最优值是多少。  

       解决办法:k均值聚类算法其实也是一个求解最优化的问题,即代价函数(cost function)最小化,Andrew Ng提到了一种Elbow method的选择方法,当然此方法也只是参考的一种而已,有些情况需要不断尝试   的取值,找到最小的代价函数。

   2. 同时需要注意的是,选择不同的初始化中心,会得到不同的聚类结果。





     本文笔记整理于Andrew Ng教授的ML课程、李航教授的《统计学习方法 第2版》以及《python数据科学手册》,有想一起学习数据科学的朋友可以关注或随时私信小编交流噢~今天的学习笔记就先到这里啦~

以上是关于如何利用机器学习和分布式计算来对用户事件进行聚类的主要内容,如果未能解决你的问题,请参考以下文章

译文如何利用机器学习和分布式计算来对用户事件进行分类

opencv中机器学习常用算法简述

机器学习聚类之后可以用于分类么

Java应用Ⅻ使用Java实现机器学习算法:聚类分类预测

机器学习——利用K-均值聚类算法对未标注数据分组

点宽专栏聚类算法神经网络及其在量化选股中的实践