赞
踩
聚类分析是探索性数据分析的一种形式,在这种分析中,观测数据被分成具有共同特征的不同组。
聚类分析(也称为分类)的目的是构造群(或类或群),同时确保以下性质:在一个群中观测值必须尽可能相似,而属于不同群的观测值必须尽可能不同。
主要有两种分类:
第一种方法通常在预先确定类的数量时使用,而第二种方法通常用于未知数量的类,并帮助确定最佳数量。这两种方法在下面通过演算和R程序中的应用进行了说明。注意,对于层次聚类,本文只介绍了升序分类。
聚类算法利用距离将观测数据分成不同的组。因此,在深入介绍这两种分类方法之前,将介绍如何计算点之间距离的演算。
存在一个数据集,包含点 a = ( 0 , 0 ) ′ , b = ( 1 , 0 ) ′ a = (0,0)', b=(1,0)' a=(0,0)′,b=(1,0)′ 和 c = ( 5 , 5 ) ′ c=(5,5)' c=(5,5)′. 计算点间欧式距离矩阵(matrix of Euclidean distances)。
# We create the points in R
a <- c(0, 0)
b <- c(1, 0)
c <- c(5, 5)
X <- rbind(a, b, c) # a, b and c are combined per row
colnames(X) <- c("x", "y") # rename columns
X # display the points
OUTPUT:
## x y
## a 0 0
## b 1 0
## c 5 5
根据勾股定理(Pythagorean formula),我们知道 ( x a , y a ) (x_a, y_a) (xa,ya)和 ( x b , y b ) (x_b, y_b) (xb,yb)之间的距离在 R 2 \mathbb{R}^2 R2中是 ( x a − x b ) 2 + ( y a − y b ) 2 \sqrt{(x_a - x_b)^2 + (y_a - y_b)^2} (xa−xb)2+(ya−yb)2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。