网络数据挖掘-L7 聚类的应用

2018-07-12  本文已影响0人  gb_QA_log

title: 网络数据挖掘-L7 聚类的应用
date: 2017-07-26 11:43:29
categories: DataMining
mathjax: true
tags: [WebDataMining]


L7 Applications of Clustering

聚类:类间分离,类内集中

聚类的类型,根据不同的类型应用不同的算法:

Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

Described by an Objective Function 目标函数

数据挖掘中 聚类的要求

相似性

相似性的判断比聚类算法更重要,它表明了对数据的侧重点的不同。

Paste_Image.png
* 相异性度量
> ![Paste_Image.png](https://img.haomeiwen.com/i2812342/d520671244a70e30.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

当其他非线性相关时,用PLC则无法来衡量相似性。

Hierarchical Clustering

参考层次化的聚类

算法:自底向上,一开始,每个数据点各自为一个类别,然后每一次迭代选取距离最近(Average Linkage\Single Linkage两个最近的点\Complete Linkage两个最远的点)的两个类别,把他们合并,直到最后只剩下一个类别为止,至此一棵树构造完成。

作用

缺点

k-means clustering 和 聚类的质量评估Cluster Quality

之前学习过k-means知道,k-means需要给出k以及一开始的random值。不同的k和随机值会导致结果的不同,而且当数据形状不好时该算法分类并不好。

density-based clusters

该算法需要数据的形状、处理噪音、一次扫描、需要设置密度的阈值
Several interesting studies:

DBSCAN

核心对象、e邻域、直接密度可达、密度可达、密度相连
算法:

扫描整个数据集,找到任意一个核心点,对该核心点进行扩充。扩充的方法是寻找从该核心点出发的所有密度相连的数据点(注意是密度相连)。遍历该核心点的e邻域内的所有核心点(因为边界点是无法扩充的),寻找与这些数据点密度相连的点,直到没有可以扩充的数据点为止。最后聚类成的簇的边界节点都是非核心数据点。之后就是重新扫描数据集(不包括之前寻找到的簇中的任何数据点),寻找没有被聚类的核心点,再重复上面的步骤,对该核心点进行扩充直到数据集中没有新的核心点为止。数据集中没有包含在任何簇中的数据点就构成异常点。

伪代码:所有点都找密度相连,再选出最大的集合,挖掉该集合。重复算法。

算法描述:
算法: DBSCAN
输入: E——半径
MinPts——给定点在E邻域内成为核心对象的最小邻域点数。
D——集合。
输出: 目标类簇集合
方法: Repeat
1) 判断输入点是否为核心对象
2) 找出核心对象的E邻域中的所有直接密度可达点。
Until 所有输入点都判断完毕
Repeat
针对所有核心对象的E邻域内所有直接密度可达点找到最大密度相连对象集合,中间涉及到一些密度可达对象的合并。
Until 所有核心对象的E领域都遍历完毕

弱点:
密度的差异
数据维度高


Paste_Image.png

对密度和核心对象的确定:


Paste_Image.png

聚类的应用

市场调研:用户基数大的时候,选出每个类的典型用户去调研。
土地使用:开店铺的选址。根据每个地的属性(人流量、人流种类、消费习惯)聚类,然后去找卖的好的奶茶店在哪种类型的地里,然后去其他相同类型的地里开店。可以用百度API

上一篇下一篇

猜你喜欢

热点阅读