Learn R Programming

DatabionicSwarm (version 1.2.0)

DelaunayClassificationError: Delaunay Classification Error (DCE)

Description

DCE searches for the k-nearest neighbors of the first delaunay neighbors weighted by the Euclidean Distances of the Inputspace. DCE evaluates these neighbors in the Output space. A low value indicates a better two-dimensional projection of the high-dimensional Input space.

Usage

DelaunayClassificationError(Data,ProjectedPoints,Cls,LC)

Value

list of

DCE

DelaunayClassificationError NOTE the rest is just for development purposes

DCEperPoint

[1:n] unnormalized DCE of each point: DCE = mean(DCEperPoint)

nn

the number of points in a relevant neghborhood: 0.5 * 85percentile(AnzNN)

AnzNN

[1:n] the number of points with a delaunay graph neighborhood

NNdists

[1:n,1:nn] the distances within the relevant neighborhood, 0 for inner cluster distances

HD

[1:nn] HD = HarmonicDecay(nn) i.e weight function for the NNdists: DCEperPoint = HD*NNdists

Arguments

Data

[1:n,1:d] Numeric matrix

ProjectedPoints

[1:n,1:2]

Cls

[1:n,1]

LC

Optional, if toroid, please set c(Lines,Columns)

Author

Michael Thrun

Details

Delaunay classification error (DCE) makes an unbiased evaluation of distance and densitiybased structure which ma be even non-linear seperable. First, DCE utilizes the information provided by a prior classification to assess projected structures. Second, DCE applies the insights drawn from graph theory. Details are described in [Thrun/Ultsch, 2018]

References

[Thrun/Ultsch, 2018] Thrun, M. C., & Ultsch, A. : Investigating Quality measurements of projections for the Evaluation of Distance and Density-based Structures of High-Dimensional Data, Proc. European Conference on Data Analysis (ECDA), pp. accepted, Paderborn, Germany, 2018.

Examples

Run this code
data(Hepta)
# \donttest{
InputDistances=as.matrix(dist(Hepta$Data))
projection=Pswarm(InputDistances)
DelaunayClassificationError(Hepta$Data,projection$ProjectedPoints,Hepta$Cls,LC=projection$LC)$DCE
# }
# \dontshow{
n=nrow(Hepta$Data)
DelaunayClassificationError(Hepta$Data,cbind(runif(n),runif(n)),Hepta$Cls)$DCE
# }

Run the code above in your browser using DataLab