apd | R Documentation |
Computes the Average Partition Density (Gath & Geva, 1989) value for validating the result of a fuzzy cluster analysis.
apd(x, u, v, m, t=NULL, eta, tidx="f")
x |
an object of class ‘ppclust’ containing the clustering results from a fuzzy clustering algorithm in the package ppclust. Alternatively, a numeric data frame or matrix containing the data set. |
u |
a numeric data frame or matrix containing the fuzzy membership values. It should be specified if |
v |
a numeric data frame or matrix containing the cluster prototypes. It should be specified if |
t |
a numeric data frame or matrix containing the cluster prototypes. It should be specified if |
m |
a number specifying the fuzzy exponent. It should be specified if |
eta |
a number specifying the typicality exponent. It should be specified if |
tidx |
a character specifying the type of index. The default is ‘f’ for fuzzy index. The other options are ‘e’ for extended and ‘g’ for generalized index. |
Average Partition Density proposed by (Gath & Geva, 1989) is calculated as follows:
I_{APD}=\frac{1}{k}∑\limits_{j=1}^k \frac{R_j}{√{|\mathbf{F_j}|}}
Where: \mathbf{F_j} is the fuzzy covariance matrix of j-th cluster:
\mathbf{F_j} = \frac{∑\limits_{i=1}^n u_{ij} (\vec{x_i}-\vec{v_j})^T(\vec{x_i}-\vec{v_j})}{∑\limits_{i=1}^n u_{ij}}
R_j is the sum of central members:
R_j=∑\limits_j u_{ij}
Since compact fuzzy clusters provide small values of √{|\mathbf{F_j}|} and large values of R_j, good fuzzy partitions are obtained by large values of I_{APD}.
apd |
APD value if |
apd.e |
extended APD value if |
apd.g |
generalized APD value if |
Zeynel Cebeci
Gath, I. & Geva, A. B. (1989). Unsupervised optimal fuzzy clustering. IEEE Transactions on Pattern Analysis and Machine Intelligence, 11(7):773-780. <doi:10.1109/34.192473>
allindexes
,
cl
,
cs
,
cwb
,
fs
,
kpbm
,
kwon
,
mcd
,
mpc
,
pbm
,
pc
,
pe
,
sc
,
si
,
tss
,
ws
,
xb
# Load the dataset iris and use the first four feature columns data(iris) x <- iris[,1:4] # For 3 clusters, run FCM algorithm in the package ppclust res.fcm <- ppclust::fcm(x, centers=3) # Compute the APD using ppclust object idx <- apd(res.fcm) print(idx) # Compute the APD using X,U and V matrices idx <- apd(res.fcm$x, res.fcm$u, res.fcm$v, m=2) print(idx)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.