详解DBSCAN聚类算法并基于python实现

DBSCAN聚类算法详解

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

对比KMeans算法,KMeans算法特别受超参数K的影响,当给定的簇数K与实际情况不符时得到的聚类结果存在较大差异。并且当KMeans算法遍历质心时,在达到稳定性和收敛性之前,离群值(异常值)对质心的移动方式有显著的影响。K-Means只能应用球形簇,如果数据不是球形的,它的准确性就会受到影响。

不同于KMeans算法,DBSCAN不需要指定聚类的簇数,并且不容易受到异常值的影响。DBSCAN算法认为同一类别的样本,他们之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。选择一个样本作为起始,将与其紧密相连的样本划为一类,这样就得到了一个聚类类别。然后再从未被分类的样本中选择一个点,将与其紧密相连的样本划为一类,重复此过程直到所有的样本都被划分完毕。

详解DBSCAN聚类算法并基于python实现_第1张图片

图1. KMeans与DBSCAN聚类效果对比

DBSCAN聚类算法有两个核心参数

  • Epsilon (ɛ):邻域的最大半径。如果任意两个样本之间的相互距离小于或等于指定的epsilon,那么它们将是同一类的。
  • 核心对象数(minPts):在一个邻域的半径内最少需要包含的样本数,如果一个邻域的半径epsilon内的相邻样本数大于minPts数则被认为是一个簇,否则将被舍弃。(初始点包含在minPts中)。

epsilon和minPts都被用于控制集群分割的大小,更大的epsilon将产生更大的簇(包含更多的数据点),更小的epsilon将构建更小的簇。通常采用较小的epsilon值会有比较好的聚类效果,因为通常只需要很小一部分的数据点在彼此之间的距离内。但epsilon也不能太小,如果太小最终聚类的集群会很小,不具有参考价值。对于minPts值,一个较低的minPts帮助算法建立更多的集群与更多的噪声或离群值。较高的minPts将确保更健壮的集群,但如果集群太大,较小的集群将被合并到较大的集群中。

其他概念

  • 密度相连(也叫密度直达)。如果样本y位于样本x的epsilon邻域中,且x是核心对象数大于minPts,此时则称y由x密度直达。注意反之不一定成立,即此时不能说x由y密度直达, 除非且y在epsilon邻域的核心对象数也大于minPts。
  • 密度可达。对于样本x,样本y,如果存在样例p1,p2,…,pn,其中,p1=x,pn=y,且序列中每一个样本都与它的前一个样本密度直达,则称样本x与y密度可达。此时序列中的传递样本p1,p2,…,pT−1p1,p2,…,pT−1均为核心对象,因为只有核心对象才能使其他样本密度直达。注意密度可达也不满足对称性,这个可以由密度直达的不对称性得出。
  • 密度相连。对于样本x和样本y,若存在样本k使得x与k密度可达,且k与y密度可达,则a与b密度相连。

详解DBSCAN聚类算法并基于python实现_第2张图片

图2. 密度直达,密度可达,密度相连

假设核心数设置为5,左图中,P1到P2密度直达,但是P2到P1不满足密度直达,因为P2的核心数为3不满足最小核心数。同理中间图中,P1到P3密度可达,反之不成立。右图中通过P3作为中转,可实现P1与P5密度相连。

DBSCAN算法流程

假设min_points等于4.

  • (1) 选取一个点,以eps为半径,画一个圈,看圈内有几个临近点?如果大于某个阈值min_points, 则认为该点为某一簇的点。如果小于 min_points,则被标记为噪声点,然后处理下一个点。

详解DBSCAN聚类算法并基于python实现_第3张图片

  • (2)将临近点作为种子点seeds = [4,7,9,10]。遍历所有种子点,如果该点被标为噪声点,则重标为聚类点。如果该点没有被标记过,则标记为聚类点。并且以该点为圆心,以eps为半径 画圈,如果圈内点大于min_points,将圈内点,添加到种子点中seeds = [4,7,9,10,1,7,9,16]。
    详解DBSCAN聚类算法并基于python实现_第4张图片

  • (3) 重复步骤2,直到遍历完所有的种子点seeds = [4,7,9,10,1,7,9,16]。

    • seeds = [4,7,9,10,1,7,9,16]。7的周围有 12, 4 少于 min_points,所以seed 不扩展。
    • seeds = [4,7,9,10,1,7,9,16],9的周围1,4,3 ,可以添加。seeds = [4,7,9,10,1,7,9,16,1,4,3]。
    • 10的周围,1,6,7,seeds = [4,7,9,10,1,7,9,16,1,4,3,1,6,7]
    • … … … … … … … … …
      详解DBSCAN聚类算法并基于python实现_第5张图片
  • (4) 标记完一 簇后寻找一个未被标记的点,开始新的一轮聚类.如果找到点5 ,周围点过少标记为 NOISE,找到点15, 周围点过少,标记为NOISE,找到点 19 开始新的一轮聚类。
    详解DBSCAN聚类算法并基于python实现_第6张图片

DBSCAN算法基于python实现

导入相关包

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import DBSCAN
from sklearn import metrics

计算两点之间的距离

# 计算数据点两两之间的距离
def getDistanceMatrix(datas):
    N,D = np.shape(datas)
    dists = np.zeros([N,N])
    
    for i in range(N):
        for j in range(N):
            vi = datas[i,:]
            vj = datas[j,:]
            dists[i,j]= np.sqrt(np.dot((vi-vj),(vi-vj)))
    return dists

寻找以点cluster_id 为中心,eps 为半径的圆内的所有点的id

#  寻找以点cluster_id 为中心,eps 为半径的圆内的所有点的id
def find_points_in_eps(point_id,eps,dists):
    index = (dists[point_id]<=eps)
    return np.where(index==True)[0].tolist()

聚类扩充过程(步骤2)

# 聚类扩展
# dists : 所有数据两两之间的距离  N x N
# labs :   所有数据的标签 labs N,
# cluster_id : 一个簇的标号
# eps : 密度评估半径
# seeds: 用来进行簇扩展的点
# min_points: 半径内最少的点数
def expand_cluster(dists, labs, cluster_id, seeds, eps, min_points):
    i = 0
    while i< len(seeds):
        # 获取一个临近点
        Pn = seeds[i]
        # 如果该点被标记为NOISE 则重新标记
        if labs[Pn] == NOISE:
            labs[Pn] = cluster_id
        # 如果该点没有被标记过
        elif labs[Pn] == UNCLASSIFIED:
            # 进行标记,并计算它的临近点 new_seeds
            labs[Pn] = cluster_id
            new_seeds = find_points_in_eps(Pn,eps,dists)
            
            # 如果 new_seeds 足够长则把它加入到seed 队列中
            if len(new_seeds) >=min_points:
                seeds = seeds + new_seeds
        
        i = i+1

DBSCAN算法

def dbscan(datas, eps, min_points):    
    # 计算 所有点之间的距离
    dists = getDistanceMatrix(datas)  
    
    # 将所有点的标签初始化为UNCLASSIFIED
    n_points = datas.shape[0]
    labs = [UNCLASSIFIED]*n_points
    
    cluster_id = 0
    # 遍历所有点
    for point_id in range(0, n_points):
        # 如果当前点已经处理过了
        if not(labs[point_id] == UNCLASSIFIED):
            continue        
        # 没有处理过则计算临近点
        seeds = find_points_in_eps(point_id,eps,dists)
        # 如果临近点数量过少则标记为 NOISE
        if len(seeds)<min_points:
            labs[point_id] = NOISE
        else:
            # 否则就开启一轮簇的扩张
            cluster_id = cluster_id+1
            # 标记当前点
            labs[point_id] = cluster_id
            expand_cluster(dists, labs, cluster_id, seeds,eps, min_points)
    return labs, cluster_id

绘图 可视化

# 绘图    
def draw_cluster(datas,labs, n_cluster):     
    plt.cla()
    
    colors = [plt.cm.Spectral(each)
          for each in np.linspace(0, 1,n_cluster)]
    
    
    for i,lab in enumerate(labs):
        if lab ==NOISE:
            plt.scatter(datas[i,0],datas[i,1],s=16.,color=(0,0,0))
        else:
            plt.scatter(datas[i,0],datas[i,1],s=16.,color=colors[lab-1])
    plt.show()

主函数入口

if __name__== "__main__":
     
    ## 数据
    file_name = "spiral"
    with open(file_name+".txt","r",encoding="utf-8") as f:
        lines = f.read().splitlines()
    lines = [line.split("\t")[:-1] for line in lines]
    datas = np.array(lines).astype(np.float32)  
    # 数据正则化
    datas = StandardScaler().fit_transform(datas)
    eps = 0.45
    min_points = 5
    labs, cluster_id = dbscan(datas, eps=eps, min_points=min_points)
    print("labs of my dbscan")
    print(labs)
    ## 使用sklearn的DBSCAN工具包
    db = DBSCAN(eps=eps, min_samples=min_points).fit(datas)
    skl_labels = db.labels_
    print("labs of sk-DBSCAN")
    print(skl_labels)        
    draw_cluster(datas,labs, cluster_id)

聚类效果如下图所示
详解DBSCAN聚类算法并基于python实现_第7张图片

实验数据如下,可自行copy,注意要修改名字

数据1

31.95	7.95	3
31.15	7.3	3
30.45	6.65	3
29.7	6	3
28.9	5.55	3
28.05	5	3
27.2	4.55	3
26.35	4.15	3
25.4	3.85	3
24.6	3.6	3
23.6	3.3	3
22.75	3.15	3
21.85	3.05	3
20.9	3	3
20	2.9	3
19.1	3	3
18.2	3.2	3
17.3	3.25	3
16.55	3.5	3
15.7	3.7	3
14.85	4.1	3
14.15	4.4	3
13.4	4.75	3
12.7	5.2	3
12.05	5.65	3
11.45	6.15	3
10.9	6.65	3
10.3	7.25	3
9.7	7.85	3
9.35	8.35	3
8.9	9.05	3
8.55	9.65	3
8.15	10.35	3
7.95	10.95	3
7.75	11.7	3
7.55	12.35	3
7.45	13	3
7.35	13.75	3
7.3	14.35	3
7.35	14.95	3
7.35	15.75	3
7.55	16.35	3
7.7	16.95	3
7.8	17.55	3
8.05	18.15	3
8.3	18.75	3
8.65	19.3	3
8.9	19.85	3
9.3	20.3	3
9.65	20.8	3
10.2	21.25	3
10.6	21.65	3
11.1	22.15	3
11.55	22.45	3
11.95	22.7	3
12.55	23	3
13.05	23.2	3
13.45	23.4	3
14	23.55	3
14.55	23.6	3
15.1	23.75	3
15.7	23.75	3
16.15	23.85	3
16.7	23.8	3
17.15	23.75	3
17.75	23.75	3
18.2	23.6	3
18.65	23.5	3
19.1	23.35	3
19.6	23.15	3
20	22.95	3
20.4	22.7	3
20.7	22.55	3
21	22.15	3
21.45	21.95	3
21.75	21.55	3
22	21.25	3
22.25	21	3
22.5	20.7	3
22.65	20.35	3
22.75	20.05	3
22.9	19.65	3
23	19.35	3
23.1	19	3
23.15	18.65	3
23.2	18.25	3
23.2	18.05	3
23.2	17.8	3
23.1	17.45	3
23.05	17.15	3
22.9	16.9	3
22.85	16.6	3
22.7	16.4	3
22.6	16.2	3
22.55	16.05	3
22.4	15.95	3
22.35	15.8	3
22.2	15.65	3
22.15	15.55	3
22	15.4	3
21.9	15.3	3
21.85	15.25	3
21.75	15.15	3
21.65	15.05	3
21.55	15	3
21.5	14.9	3
19.35	31.65	1
20.35	31.45	1
21.35	31.1	1
22.25	30.9	1
23.2	30.45	1
23.95	30.05	1
24.9	29.65	1
25.6	29.05	1
26.35	28.5	1
27.15	27.9	1
27.75	27.35	1
28.3	26.6	1
28.95	25.85	1
29.5	25.15	1
29.95	24.45	1
30.4	23.7	1
30.6	22.9	1
30.9	22.1	1
31.25	21.3	1
31.35	20.55	1
31.5	19.7	1
31.55	18.9	1
31.65	18.15	1
31.6	17.35	1
31.45	16.55	1
31.3	15.8	1
31.15	15.05	1
30.9	14.35	1
30.6	13.65	1
30.3	13	1
29.9	12.3	1
29.5	11.75	1
29	11.15	1
28.5	10.6	1
28	10.1	1
27.55	9.65	1
26.9	9.1	1
26.25	8.8	1
25.7	8.4	1
25.15	8.05	1
24.5	7.75	1
23.9	7.65	1
23.15	7.4	1
22.5	7.3	1
21.9	7.1	1
21.25	7.05	1
20.5	7	1
19.9	6.95	1
19.25	7.05	1
18.75	7.1	1
18.05	7.25	1
17.5	7.35	1
16.9	7.6	1
16.35	7.8	1
15.8	8.05	1
15.4	8.35	1
14.9	8.7	1
14.45	8.9	1
13.95	9.3	1
13.6	9.65	1
13.25	10.1	1
12.95	10.55	1
12.65	10.9	1
12.35	11.4	1
12.2	11.75	1
11.95	12.2	1
11.8	12.65	1
11.75	13.05	1
11.55	13.6	1
11.55	14	1
11.55	14.35	1
11.55	14.7	1
11.6	15.25	1
11.65	15.7	1
11.8	16.05	1
11.85	16.5	1
12	16.75	1
12.15	17.2	1
12.3	17.6	1
12.55	17.85	1
12.8	18.05	1
13.1	18.4	1
13.3	18.6	1
13.55	18.85	1
13.8	19.05	1
14.15	19.25	1
14.45	19.5	1
14.85	19.55	1
15	19.7	1
15.25	19.7	1
15.55	19.85	1
15.95	19.9	1
16.2	19.9	1
16.55	19.9	1
16.85	19.9	1
17.2	19.9	1
17.4	19.8	1
17.65	19.75	1
17.8	19.7	1
18	19.6	1
18.2	19.55	1
3.9	9.6	2
3.55	10.65	2
3.35	11.4	2
3.1	12.35	2
3.1	13.25	2
3.05	14.15	2
3	15.1	2
3.1	16	2
3.2	16.85	2
3.45	17.75	2
3.7	18.7	2
3.95	19.55	2
4.35	20.25	2
4.7	21.1	2
5.15	21.8	2
5.6	22.5	2
6.2	23.3	2
6.8	23.85	2
7.35	24.45	2
8.05	24.95	2
8.8	25.45	2
9.5	26	2
10.2	26.35	2
10.9	26.75	2
11.7	27	2
12.45	27.25	2
13.3	27.6	2
14.05	27.6	2
14.7	27.75	2
15.55	27.75	2
16.4	27.75	2
17.1	27.75	2
17.9	27.75	2
18.55	27.7	2
19.35	27.6	2
20.1	27.35	2
20.7	27.1	2
21.45	26.8	2
22.05	26.5	2
22.7	26.15	2
23.35	25.65	2
23.8	25.3	2
24.3	24.85	2
24.75	24.35	2
25.25	23.95	2
25.65	23.45	2
26.05	23	2
26.2	22.3	2
26.6	21.8	2
26.75	21.25	2
27	20.7	2
27.15	20.15	2
27.15	19.6	2
27.35	19.1	2
27.35	18.45	2
27.4	18	2
27.3	17.4	2
27.15	16.9	2
27	16.4	2
27	15.9	2
26.75	15.35	2
26.55	14.85	2
26.3	14.45	2
25.95	14.1	2
25.75	13.7	2
25.35	13.3	2
25.05	12.95	2
24.8	12.7	2
24.4	12.45	2
24.05	12.2	2
23.55	11.85	2
23.2	11.65	2
22.75	11.4	2
22.3	11.3	2
21.9	11.1	2
21.45	11.05	2
21.1	11	2
20.7	10.95	2
20.35	10.95	2
19.95	11	2
19.55	11	2
19.15	11.05	2
18.85	11.1	2
18.45	11.25	2
18.15	11.35	2
17.85	11.5	2
17.5	11.7	2
17.2	11.95	2
17	12.05	2
16.75	12.2	2
16.65	12.35	2
16.5	12.5	2
16.35	12.7	2
16.2	12.8	2
16.15	12.95	2
16	13.1	2
15.95	13.25	2
15.9	13.4	2
15.8	13.5	2
15.8	13.65	2
15.75	13.85	2
15.65	14.05	2
15.65	14.25	2
15.65	14.5	2
15.65	14.6	2

数据2

1.85	27.8	1
1.35	26.65	1
1.4	23.25	2
0.85	23.05	2
0.5	22.35	2
0.65	21.35	2
1.1	22.05	2
1.35	22.65	2
1.95	22.8	2
2.4	22.45	2
1.8	22	2
2.5	21.85	2
2.95	21.4	2
1.9	21.25	2
1.35	21.45	2
1.35	20.9	2
1.25	20.35	2
1.75	20.05	2
2	20.6	2
2.5	21	2
1.7	19.05	2
2.4	20.05	2
3.05	20.45	2
3.7	20.45	2
3.45	19.9	2
2.95	19.5	2
2.4	19.4	2
2.4	18.25	2
2.85	18.75	2
3.25	19.05	2
3.95	19.6	2
2.7	17.8	2
3.45	18.05	2
3.8	18.55	2
4	19.1	2
4.45	19.9	2
4.65	19.15	2
4.85	18.45	2
4.3	18.05	2
3.35	17.3	2
3.7	16.3	2
4.4	16.95	2
4.25	17.4	2
4.8	17.65	2
5.25	18.25	2
5.75	18.55	2
5.3	19.25	2
6.05	19.55	2
6.5	18.9	2
6.05	18.2	2
5.6	17.8	2
5.45	17.15	2
5.05	16.55	2
4.55	16.05	2
4.95	15.45	2
5.85	14.8	2
5.6	15.3	2
5.65	16	2
5.95	16.8	2
6.25	16.4	2
6.1	17.45	2
6.6	17.65	2
6.65	18.3	2
7.3	18.35	2
7.85	18.3	2
7.15	17.8	2
7.6	17.7	2
6.7	17.25	2
7.3	17.25	2
6.7	16.8	2
7.3	16.65	2
6.75	16.3	2
7.4	16.2	2
6.55	15.75	2
7.35	15.8	2
6.8	14.95	2
7.45	15.1	2
6.85	14.45	2
7.6	14.6	2
8.55	14.65	2
8.2	15.5	2
7.9	16.1	2
8.05	16.5	2
7.8	17	2
8	17.45	2
8.4	18.1	2
8.65	17.75	2
8.9	17.1	2
8.4	17.1	2
8.65	16.65	2
8.45	16.05	2
8.85	15.35	2
9.6	15.3	2
9.15	16	2
10.2	16	2
9.5	16.65	2
10.75	16.6	2
10.45	17.2	2
9.85	17.1	2
9.4	17.6	2
10.15	17.7	2
9.85	18.15	2
9.05	18.25	2
9.3	18.7	2
9.15	19.15	2
8.5	18.8	2
11.65	17.45	2
11.1	17.65	2
10.4	18.25	2
10	18.95	2
11.95	18.25	2
11.25	18.4	2
10.6	18.9	2
11.15	19	2
11.9	18.85	2
12.6	18.9	2
11.8	19.45	2
11.05	19.45	2
10.3	19.4	2
9.9	19.75	2
10.45	20	2
13.05	19.9	2
12.5	19.75	2
11.9	20.05	2
11.2	20.25	2
10.85	20.85	2
11.4	21.25	2
11.7	20.6	2
12.3	20.45	2
12.95	20.55	2
12.55	20.95	2
12.05	21.25	2
11.75	22.1	2
12.25	21.85	2
12.8	21.5	2
13.55	21	2
13.6	21.6	2
12.95	22	2
12.5	22.25	2
12.2	22.85	2
12.7	23.35	2
13	22.7	2
13.55	22.2	2
14.05	22.25	2
14.2	23.05	2
14.1	23.6	2
13.5	22.8	2
13.35	23.5	2
13.3	24	2
7.3	19.15	2
7.95	19.35	2
7.7	20.05	2
6.75	19.9	2
5.25	20.35	2
6.15	20.7	1
7	20.7	1
7.6	21.2	1
8.55	20.6	1
9.35	20.5	1
8.3	21.45	1
7.9	21.6	1
7.15	21.75	1
6.7	21.3	1
5.2	21.1	2
6.2	21.95	1
6.75	22.4	1
6.15	22.5	1
5.65	22.2	1
4.65	22.55	1
4.1	23.45	1
5.35	22.8	1
7.4	22.6	1
7.75	22.1	1
8.5	22.3	1
9.3	22	1
9.7	22.95	1
8.8	22.95	1
8.05	22.9	1
7.6	23.15	1
6.85	23	1
6.2	23.25	1
5.7	23.4	1
5.1	23.55	1
4.55	24.15	1
5.5	24	1
6.1	24.05	1
6.5	23.6	1
6.75	23.95	1
7.3	23.75	1
8.3	23.4	1
8.9	23.7	1
9.55	23.65	1
10.35	24.1	1
7.95	24.05	1
3.95	24.4	1
3.75	25.25	1
3.9	25.95	1
4.55	26.65	1
5.25	26.75	1
6.5	27.6	1
7.45	27.6	1
8.35	27.35	1
9.25	27.2	1
9.95	26.5	1
10.55	25.6	1
9.9	24.95	1
9.2	24.5	1
8.55	24.2	1
8.8	24.8	1
9.2	25.35	1
9.55	26.05	1
9.05	26.6	1
8.8	25.8	1
8.15	26.35	1
8.05	25.8	1
8.35	25.2	1
7.9	25.3	1
8.05	24.7	1
7.3	24.4	1
7.55	24.85	1
6.85	24.45	1
6.25	24.65	1
5.55	24.5	1
4.65	25.1	1
5	25.55	1
5.55	26.1	1
5.55	25.25	1
6.2	25.2	1
6.8	25.05	1
7.4	25.25	1
6.65	25.45	1
6.15	25.8	1
6.5	26.1	1
6.6	26.6	1
7.7	26.65	1
7.5	26.2	1
7.5	25.65	1
7.05	25.85	1
6.9	27.15	1
6.15	26.9	1

数据3

15.55	28.65	2
14.9	27.55	2
14.45	28.35	2
14.15	28.8	2
13.75	28.05	2
13.35	28.45	2
13	29.15	2
13.45	27.5	2
13.6	26.5	2
12.8	27.35	2
12.4	27.85	2
12.3	28.4	2
12.2	28.65	2
13.4	25.1	2
12.95	25.95	2
12.9	26.5	2
11.85	27	2
11.35	28	2
11.15	28.7	2
11.25	27.4	2
10.75	27.7	2
10.5	28.35	2
9.65	28.45	2
10.25	27.25	2
10.75	26.55	2
11.7	26.35	2
11.6	25.9	2
11.9	25.05	2
12.6	24.05	2
11.9	24.5	2
11.1	25.2	2
10.55	25.15	2
10.05	25.95	2
9.35	26.6	2
9.3	27.25	2
9.2	27.8	2
7.5	28.25	2
8.55	27.45	2
8.5	27.05	2
8.05	27.2	2
7.85	26.8	2
7.3	27.4	2
6.8	26.85	2
7	26.5	2
7.55	26.3	2
8.55	26.3	2
9	25.85	2
8.6	25.65	2
9.4	25.55	2
8.45	25.05	2
8.85	24.6	2
9.65	24.7	2
10.55	24.35	2
11.05	23.9	2
10.55	23.55	2
9.45	23.35	2
9.2	23.9	2
8.35	23.9	2
7.35	24.75	2
7.4	25.45	2
6.6	25.75	2
6.1	26	2
5.8	26.95	2
5.65	25.8	2
5.3	26.1	2
6.4	25.4	2
5.4	25.25	2
5.35	24.7	2
4.8	25.05	2
4.2	25.55	2
6.4	24.8	2
6.55	24.3	2
7.4	24.25	2
5.45	24.2	2
4.3	24	2
4	24.25	2
3.35	23.3	2
4.85	23.05	2
4.3	22.75	2
5.85	23.4	2
5.9	23.55	2
7.55	23.7	2
6.85	23.25	2
7.65	23.1	2
6.95	22.55	2
6.1	22.6	2
5.5	22.6	2
4.7	22.1	2
3.8	21.85	2
4.65	21.2	2
4.15	20.35	2
5.3	20.4	2
5.6	20.75	2
5.8	21.95	2
6.4	21.95	2
6.55	21.15	2
7.45	21.95	2
7.4	21.55	2
7.75	21.2	2
7.65	20.65	2
6.95	19.8	2
6.6	20.1	2
6.05	20.2	2
5.4	19.65	2
5.35	19.05	2
5.8	18.25	2
6.3	19.1	2
7	18.9	2
7.15	17.9	2
7.35	18.2	2
8.2	20.05	2
8.3	19.45	2
8.3	18.5	2
8.75	18.8	2
9.05	18.2	2
9.35	17.7	2
8.9	17.65	2
8.45	17.2	2
10.05	17.2	2
10.4	16.75	2
8.6	20.9	2
8.65	21.3	2
8.65	21.9	2
8.65	22.5	2
8.95	22.8	2
9.95	22.65	2
8.95	22.2	2
9.65	21.9	2
10.55	22.3	2
10.9	22.85	2
11.35	23.45	2
12.05	23.4	2
12.3	22.75	2
11.7	22.15	2
11.15	22.05	2
10.85	21.5	2
10.85	21.05	2
9.6	21.3	2
9.85	20.7	2
9.35	20.6	2
9.25	19.65	2
9.95	19.8	2
10.7	20.35	2
11.3	20.7	2
12.35	21.6	2
13.1	21.3	2
12.85	20.75	2
12	20	2
11	19.85	2
10.35	19	2
9.9	18.65	2
10.6	18.15	2
11.4	18.3	2
11.4	19.25	2
12.35	18.8	2
12.8	19.75	2
12.15	18.1	2
11.05	17.5	2
11.95	17.25	2
12.25	17.5	2
13.05	17.4	2
13.75	18.15	2
13.5	18.65	2
13.65	19.25	2
14	19.9	2
15.2	18.2	2
15.5	17.15	2
13.9	17.1	2
13.75	16.6	2
12.15	16.4	2
7.8	13.7	7
8.85	13.35	7
9	12.7	7
9.7	12.1	7
8.05	12.9	7
7.7	13.25	7
6.8	13.2	7
6.6	13.45	7
6.2	12.55	7
5.4	12.85	7
5.7	12.25	7
5.2	11.9	7
5.15	11.35	7
5.85	11.2	7
6.1	11.75	7
7	12.35	7
7.05	12.45	7
7.9	12.5	7
8.55	12.1	7
7.85	11.85	7
7.1	11.95	7
6.9	11.5	7
6.85	10.9	7
6.4	10.7	7
5.9	10.3	7
6.4	10.25	7
7.05	10.05	7
7.35	10.5	7
7.65	11.1	7
8.1	11.2	7
8.8	11.4	7
8.3	10.55	7
9	10.9	7
9.35	10.5	7
10.15	11	4
10.4	10.55	4
10.9	10	4
11.55	10.2	4
11.75	10.85	4
10.1	8.65	4
11.05	9.1	4
11.85	9.8	4
12.85	10.65	4
12.9	11.7	4
13.6	11.1	4
14.05	11.75	4
14.5	11.8	4
14.3	12.45	4
17	12.9	4
15.8	12.6	4
15.85	12	4
16.7	12.2	4
16.25	11.7	4
15.55	11.15	4
14.8	11.35	4
14.45	10.75	4
13.75	10.45	4
12.8	10.1	4
13.15	9.8	4
12.45	9.3	4
11.8	8.95	4
11.1	8.45	4
10.35	7.7	4
10.1	6.75	4
11.3	7.95	4
12.35	8.45	4
13.1	8.95	4
13.2	9.35	4
14.1	10.05	4
11.5	7.5	4
11.35	6.9	4
11.95	6.75	4
12.4	7.1	4
12.25	7.6	4
12.95	7.6	4
13.45	7.95	4
13.35	8.25	4
13.75	9	4
14.3	9.3	4
14.85	9.55	4
15.1	10.25	4
15.45	10.55	4
16.35	10.85	4
16.75	11.5	4
16.25	10.2	4
15.4	10.1	4
15.45	9.7	4
15.15	9.3	4
15.25	8.65	4
15.55	8.2	4
14.25	8.7	4
14.25	8.25	4
15.05	7.8	4
14.3	7.5	4
13.55	7.45	4
14.3	6.95	4
13.95	6.7	4
13.05	6.95	4
13.05	6.2	4
11.55	6.3	4
10.8	5.85	4
10.6	5.05	4
11.35	5.55	4
12.15	5.4	4
12.4	5.8	4
12.8	5.7	4
13.65	5.9	4
13.9	5.3	4
13.1	5.1	4
12.55	4.9	4
11.5	4.75	4
11.35	4.05	4
12.4	4.35	4
11.75	3.45	4
12.65	3.7	4
13.4	4.35	4
13.9	4.95	4
12.75	3	4
13.55	3.15	4
13.7	3.65	4
14.1	4.1	4
14.65	5.05	4
14.35	5.75	4
14.5	6.55	4
15.15	7.1	4
13.6	2.55	4
14.45	2.4	4
14.6	3.05	4
15	3.4	4
15.25	3.5	4
14.7	4.1	4
14.7	4.5	4
15.25	2.7	4
15.65	2.05	4
15.95	2.8	4
16.1	3.55	4
15.9	4	4
15.6	4.75	4
15.55	5.05	4
15.35	5.5	4
15.15	5.95	4
15.5	6.75	4
15.7	6.35	4
16.2	5.9	4
16.35	5.35	4
16.2	4.55	4
16.55	4.2	4
16.95	4.75	4
17.05	5.1	4
17.3	4.8	4
17.3	4.15	4
17.6	4.3	4
17.05	3.7	4
17.25	3.05	4
16.65	2.8	4
16.55	2.15	4
17.2	2.05	4
18.15	1.95	4
18.05	2.45	4
18.15	3.05	4
18.6	3.45	4
18.4	3.6	4
18.85	3.2	4
19.1	2.65	4
19.45	2.65	4
19	2.1	4
19.9	2.05	4
20.45	2.8	4
19.8	3.25	4
19.45	3.9	4
18.65	4.2	4
18.4	4.6	4
18.65	4.75	4
18.75	5.15	4
19.1	4.55	4
17.9	5.4	4
17.65	5.7	4
17.05	6.05	4
17.4	6.5	4
16.6	6.85	4
15.7	7.15	4
15.75	7.75	4
16.6	7.95	4
20.4	3.4	4
20.7	3.45	4
21.15	2.85	4
21.75	2.65	4
22	3.25	4
22.2	3.5	4
21.45	3.75	4
21.1	4.05	4
20.15	4.3	4
20.8	4.7	4
20.7	5.15	4
19.75	5.05	4
19.85	5.5	4
20.4	5.65	4
20.55	5.75	4
18.7	5.75	4
19.25	5.95	4
18.4	6	4
18.45	6.6	4
17.65	7.05	4
16.7	7.4	4
18.65	7.3	4
18.05	7.35	4
17.85	7.75	4
17.5	8.25	4
17.15	8.6	4
17.05	9	4
16.4	8.7	4
16.05	8.95	4
16.05	9.6	4
16.5	9.75	4
17.25	9.6	4
17.6	9.9	4
17.8	9.3	4
18	8.55	4
18.8	8.1	4
18.8	8.35	4
19.4	7.6	4
19.25	6.6	4
20.05	6.95	4
19.8	7.5	4
20.05	6.35	4
21.15	5.7	4
21.65	4.85	4
22.15	4.35	4
23.05	3.35	4
23.05	3.8	4
23.15	4.4	4
22.5	4.75	4
22.15	5.2	4
24.15	4.55	4
23.5	5.05	4
23.1	5.3	4
23	5.75	4
22.2	5.75	4
21.85	6.2	4
20.75	6.55	4
21	7.15	4
20.75	7.65	4
20	8.2	4
19.5	8.65	4
18.85	9.05	4
18.75	9.55	4
18.6	10	4
16.95	10.35	4
17.35	10.85	4
18	10.65	4
18.5	10.55	4
18.1	11.1	4
17.55	11.3	4
17.95	11.9	4
18.3	12	4
18	12.5	4
19	11.65	4
19.5	11.05	4
19.45	10.55	4
19.4	9.65	4
20.1	9.4	4
20.05	9.95	4
20.05	10.2	4
19.35	12.2	4
19.2	12.25	4
20.05	11.6	4
20.6	11.15	4
20.7	10.65	4
21.3	11.65	4
21.8	11.15	4
21.85	10.7	4
21.65	10.05	4
20.95	10.2	4
20.9	9.7	4
21.65	9.45	4
21.2	9.25	4
20.75	8.75	4
20.55	8.75	4
21.1	8	4
21.65	8.65	4
21.75	8.2	4
21.95	7.55	4
22	6.75	4
22.8	6.45	4
22.65	6.65	4
22.75	7.05	4
23	7.35	4
22.55	7.9	4
22.2	8.7	4
22.9	8.45	4
22.35	9.2	4
22.75	9.35	4
22.4	10.05	4
23.05	10.9	4
23.3	9.85	4
23.95	9.8	4
23.65	9.1	4
23.7	8.85	4
24.25	8.25	4
24.85	7.95	4
23.5	7.85	4
23.85	7.35	4
23.95	6.9	4
23.65	6.5	4
23.6	5.7	4
24.3	5.65	4
24.8	6.4	4
34.05	3.5	3
33.05	3.85	3
32	3.8	3
31.9	4.4	3
31.05	4.75	3
30.4	5.65	3
30.75	6.1	3
30	6.7	3
30.1	7.4	3
29.5	8.15	3
30.75	8	3
30.85	7.35	3
31.5	6.75	3
31.75	5.95	3
32.35	6.45	3
32.8	6	3
32.05	5.1	3
32.8	4.8	3
32.65	4.4	3
33.65	4.6	3
33.05	5.15	3
33.6	5.45	3
34.5	5.05	3
34.9	4.65	3
35.45	4.1	3
34.6	4.05	3
34.2	4.2	3
36.3	5.2	3
35.55	5.35	3
35.95	6.05	3
34.8	5.85	3
33.7	6.15	3
33.95	6.6	3
33.7	7.05	3
32.75	7.1	3
32.3	7.65	3
33	7.9	3
31.95	8.15	3
31.15	8.65	3
30.35	8.85	3
29.85	9	3
30.7	9.15	3
29.7	9.9	3
30.45	9.95	3
30.95	9.85	3
31.8	9.45	3
32.45	8.8	3
33.55	8.6	3
34.35	7.7	3
34.7	8	3
34.6	7.25	3
35	6.8	3
35.5	7.35	3
36.1	7.5	3
36.55	7	3
36	8.2	3
35.35	8.05	3
36.55	8.65	3
36.4	9.1	3
35.5	9.1	3
34.55	8.85	3
35.25	9.4	3
34.4	9.5	3
33.5	9.3	3
33.85	9.8	3
32.5	9.65	3
32.3	10.25	3
33.3	10.3	3
31.6	10.5	3
30.6	10.5	3
30.4	11.1	3
30.9	11.45	3
30.7	11.65	3
30.4	12.05	3
31.2	12	3
31.95	11.35	3
31.65	11.05	3
32.95	11.15	3
32.65	11.7	3
32.25	12.25	3
32.05	12.25	3
31.3	12.7	3
31.95	12.95	3
32.75	13.1	3
33.15	13.2	3
33.1	12.75	3
33.15	12.1	3
34.3	11.75	3
34	10.85	3
34.65	11	3
34.8	10.1	3
35.65	9.85	3
36.35	10	3
35.55	10.75	3
35.8	11.55	3
35.2	11.75	3
34.7	11.75	3
34.95	12.75	3
34.05	12.55	3
34.05	13.05	3
33.25	13.7	3
33.2	14.15	3
33.25	14.7	6
33	15.15	6
32.95	15.65	6
32.6	16.15	6
32.45	16.75	6
32.65	17.05	6
32.75	17.3	6
31.75	17.2	6
31.7	17.65	6
31	17.5	6
31.15	17.9	6
30.45	18.05	6
30.05	18.8	6
30.55	18.8	6
30.5	19.3	6
30.25	19.4	6
29.6	19.85	6
29.15	20.55	6
30.25	20.45	6
30.7	20.05	6
31	19.9	6
31.55	19.65	6
31.5	18.55	6
32.05	18.6	6
31.95	19.1	6
32.6	18.35	6
32.85	17.95	6
33.45	17.45	6
33.7	17	6
34.25	17.35	6
34.3	18.05	6
33.85	18.4	6
33.05	18.85	6
33.25	18.95	6
32.8	19.15	6
32.3	19.85	6
32.8	20	6
31.75	20.25	6
31.75	20.75	6
32.1	21.15	6
31.55	21.6	6
30.65	21.3	6
29.95	21.6	6
29.5	21.6	6
30.35	22.05	6
31.05	22	6
31.55	22.2	6
30.95	22.65	6
30.3	23.1	6
29.6	23.15	6
29.35	22.55	6
29.2	23.85	6
30.75	24	6
30.95	24.15	6
31.45	23.7	6
31.95	23.15	6
32.55	22.05	6
32.6	22.55	6
33.25	22.25	6
33.65	21.9	6
33.5	21.3	6
33.1	20.75	6
33.8	20.4	6
33.85	20	6
34.15	19.3	6
34.85	18.85	6
35.3	18.55	6
35.4	19.35	6
34.55	19.75	6
35.05	20	6
35.95	19.85	6
36.35	20.6	6
35.5	20.55	6
34.45	20.65	6
34.4	21.25	6
35	21.05	6
35.75	21.3	6
35.05	21.5	6
34.6	22.05	6
34.2	21.75	6
36.25	21.95	6
35.7	22.3	6
35.5	22.9	6
35.85	23.25	6
36.3	23.8	6
35.45	24.1	6
34.9	23.5	6
34.2	22.9	6
33.85	23.3	6
33.25	23.35	6
32.45	23.7	6
33.6	23.9	6
34.25	23.95	6
34.25	24.1	6
35.4	24.7	6
35.15	25.3	6
34.4	24.9	6
33.7	24.85	6
32.25	24.45	6
32.5	24.7	6
31.45	24.45	6
31.55	25.2	6
31.05	25	6
30.25	24.3	6
29.8	24.8	6
29.6	25.5	6
29.7	26.05	6
30.5	25.5	6
30.65	26	6
31.25	26.05	6
31.45	26.95	6
30.75	26.9	6
30.65	27.15	6
31.25	27.85	6
31.85	27.75	6
32.7	28.2	6
33.25	27.55	6
32.4	27.1	6
32.15	26.65	6
32.35	25.95	6
32.95	25.5	6
33.85	26.05	6
33.05	26.5	6
33.65	27	6
34.1	27.35	6
34.2	27.95	6
34.65	26.85	6
35.25	26	6
35.7	26.15	6
34.4	25.6	6
21.3	20.8	1
20.15	20.9	1
19.2	21.35	1
19.1	21.85	1
18.45	22.8	1
18.75	22.95	1
19.4	23	1
19.55	22.25	1
19.8	21.85	1
20.5	21.85	1
21.45	21.45	1
21.7	21.9	1
21.4	22.3	1
21	22.6	1
21.15	22.95	1
20.5	22.85	1
19.75	23.65	1
19.2	23.7	1
18.45	24.35	1
20.65	23.85	1
20.65	24.3	1
19.7	24.6	1
20.15	25.05	1
22.15	25.1	1
21.6	24.65	1
21.7	23.8	1
21.9	23.65	1
22.55	23.5	1
22.55	24.3	1
23.3	24.45	1
24.25	24.35	1
23.8	25.25	1
23.4	23.8	1
22.9	23.2	1
22.3	22.8	1
22.2	22.4	1
23.1	21.7	1
22.85	21.9	1
22.65	21.1	1
23.15	22.6	1
24.1	21.9	1
24.7	22.2	1
24.3	22.6	1
24.15	23.3	1
23.9	23.45	1
5.2	2.15	5
6.35	1.95	5
6.75	2.3	5
5.9	2.4	5
5.4	2.7	5
4.85	2.9	5
4.85	3.35	5
5.15	3.45	5
5.7	3.45	5
6.2	3	5
6.2	3.2	5
7.65	2.15	5
7.2	2.75	5
6.75	3.2	5
6.75	3.55	5
6.65	3.8	5
5.8	4	5
4.95	4.05	5
5.1	4.35	5
5.7	4.45	5
5.45	4.85	5
6.7	4.8	5
6.55	5.05	5
7.2	4.9	5
6.2	4.25	5
7.1	4.3	5
7.85	4.5	5
7.6	4.15	5
7.25	3.55	5
7.8	3.35	5
8.05	2.75	5
8.5	3.25	5
8.1	3.55	5
8.15	4	5

你可能感兴趣的:(数据挖掘,机器学习,聚类,算法,python)