GitHub: https://github.com/RealEmperor/Python-for-Data-Analysis
基础知识
聚类算法和分类算法相似,不过分类算法是监督学习,聚类算法是非监督学习。
按照距离聚类,距离分为欧氏距离、马氏距离、余弦距离……。
欧氏距离(euclidean):通常意义下的距离
d i j ( 2 ) = ∑ k = 1 p ( x i k − x j k ) 2 d_{ij}(2)=\sqrt{\sum_{k=1}^{p}(x_{ik}-x_{jk})^2} dij(2)=k=1∑p(xik−xjk)2
马氏距离(manhattan):考虑到变量间的相关性,并且与变量的单位无关
d i j ( M ) = ( x ( i ) − x ( j ) ) T S − 1 ( x ( i ) − x ( j ) ) d_{ij}(M)=\sqrt{(x_{(i)}-x_{(j)})^TS^{-1}(x_{(i)}-x_{(j)})} dij(M)=(x(i)−x(j))TS−1(x(i)−x(j))
其中 x ( i ) = ( x i 1 , x i 2 , . . . , x i p ) T x_{(i)}=(x_{i1},x_{i2},...,x_{ip})^T x(i)