Neighborhood based discriminant coordinates
Neighborhood based discriminant coordinates as defined in Hastie and Tibshirani (1996) and a robustified version as defined in Hennig (2003). The principle is to maximize the projection of a between classes covariance matrix, which is defined by averaging the between classes covariance matrices in the neighborhoods of all points.
ncoord(xd, clvecd, nn=50, weighted=FALSE, sphere="mcd", orderall=TRUE, countmode=1000, ...)
xd |
the data matrix; a numerical object which can be coerced to a matrix. |
clvecd |
integer vector of class numbers; length must equal
|
nn |
integer. Number of points which belong to the neighborhood of each point (including the point itself). |
weighted |
logical. |
sphere |
a covariance matrix or one of
"mve", "mcd", "classical", "none". The matrix used for sphering the
data. "mcd" and "mve" are robust covariance matrices as implemented
in |
orderall |
logical. By default, the neighborhoods are computed by
ordering all points each time. If |
countmode |
optional positive integer. Every |
... |
no effect |
List with the following components
ev |
eigenvalues in descending order. |
units |
columns are coordinates of projection basis vectors.
New points |
proj |
projections of |
Hastie, T. and Tibshirani, R. (1996). Discriminant adaptive nearest neighbor classification. IEEE Transactions on Pattern Analysis and Machine Intelligence 18, 607-616.
Hennig, C. (2004) Asymmetric linear dimension reduction for classification. Journal of Computational and Graphical Statistics 13, 930-945 .
Hennig, C. (2005) A method for visual cluster validation. In: Weihs, C. and Gaul, W. (eds.): Classification - The Ubiquitous Challenge. Springer, Heidelberg 2005, 153-160.
plotcluster
for straight forward discriminant plots.
discrproj
for alternatives.
rFace
for generation of the example data used below.
set.seed(4634) face <- rFace(600,dMoNo=2,dNoEy=0) grface <- as.integer(attr(face,"grouping")) ncf <- ncoord(face,grface) plot(ncf$proj,col=grface) ncf2 <- ncoord(face,grface,weighted=TRUE) plot(ncf2$proj,col=grface) # ...done in one step by function plotcluster.
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.