如何利用机器学习和分布式计算来对用户事件进行聚类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用机器学习和分布式计算来对用户事件进行聚类相关的知识,希望对你有一定的参考价值。
参考技术A 给你解释一下这些术语:云计算:就是个炒得很热的商业概念,其实说白了就是将计算任务转移到服务器端,用户只需要个显示器就行了,不过服务器的计算资源可以转包。当然,要想大规模商业化,这里还有些问题,特别是隐私保护问题。大数据:说白了就是数据太多了。如今几兆的数据在20年前也是大数据。但如今所说的大数据特殊在哪呢?如今的问题是数据实在是太多了,这已经超过了传统计算机的处理能力(区别与量子计算机),所以对于大数据我们不得不用一些折衷的法(比如数据挖掘),就是说没必要所有数据都需要精确管理,实际上有效数据很有限,用数据挖掘的方法把这些有限的知识提取出来就行了。·此外,数据抽样,数据压缩也是解决大数据问题的一些策略。数据挖掘:从数据中提取潜在知识,这些知识可以描述或者预测数据的特性。有代表性的数据挖掘任务包括关联规则分析、数据分类、数据聚类等,这些你在任一本数据挖掘教材都可以了解。下面我说说和大数据的区别:数据挖掘只是大数据处理的一个方法。马云所说的大数据,或者如今商业领域所说的大数据,实际上指的就是数据挖掘,其实真正所谓大数据,或者Science杂志中提到的大数据,或者奥巴马提出的大数据发展战略,我的理解是...机器学习 | k均值聚类算法
输入:
输出:样本集合的聚类
为实现上述结果,主要分为四个步骤:
初始化。随机选择
对样本进行聚类。计算每个样本到类中心的距离,将每个样本指派到与其最近的中心的类中,构成聚类结果
计算新的聚类中心。对聚类结果
如果迭代收敛或符合则停止,输出
example
给定含有10个无标签样本的集合:
解:本文利用
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns; sns.set() # 设置绘图风格
import numpy as np
X = 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 KMeans
Kmeans = 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)
上述代码的运行结果如下:
通过
k均值聚类算法中常见的问题:
1. 聚类的类别数
解决办法:k均值聚类算法其实也是一个求解最优化的问题,即代价函数(cost function)最小化,Andrew Ng提到了一种Elbow method的选择方法,当然此方法也只是参考的一种而已,有些情况需要不断尝试
2. 同时需要注意的是,选择不同的初始化中心,会得到不同的聚类结果。
本文笔记整理于Andrew Ng教授的ML课程、李航教授的《统计学习方法 第2版》以及《python数据科学手册》,有想一起学习数据科学的朋友可以关注或随时私信小编交流噢~今天的学习笔记就先到这里啦~
以上是关于如何利用机器学习和分布式计算来对用户事件进行聚类的主要内容,如果未能解决你的问题,请参考以下文章