PPCI (version 0.1.5)

ncuth: Minimum Normalised Cut Hyperplane

Description

Finds minimum normalised cut hyperplane(s) for clustering.

Usage

ncuth(X, v0, s, minsize, verb, labels, maxit, ftol)

Arguments

X

a numeric matrix (num_data x num_dimensions); the dataset to be clustered.

v0

(optional) initial projection direction(s). a matrix with ncol(X) rows. each column of v0 is used as an initialisation for projection pursuit. if omitted then a single initialisation is used; the first principal component.

s

(optional) positive numeric scaling parameter (sigma). if omitted then s = 100*eigen(cov(X))$values[1]^.5*nrow(X)^(-0.2).

minsize

(optional) the minimum cluster size allowable. if omitted then minsize = 1.

verb

(optional) verbosity level of optimisation procedure. verb==0 produces no output. verb==1 produces plots illustrating the progress of projection pursuit via plots of the projected data. verb==2 adds to these plots additional information about the progress. verb==3 creates a folder in working directory and stores all plots for verb==2. if omitted then verb==0.

labels

(optional) vector of class labels. not used in the actual clustering procedure. only used for illustrative purposes for values of verb>0.

maxit

(optional) maximum number of iterations in optimisation. if omitted then maxit=50.

ftol

(optional) tolerance level for convergence of optimisation, based on relative function value improvements. if omitted then ftol = 1e-8.

Value

a named list with class ppci_hyperplane_solution with the following components

$cluster

cluster assignment vector.

$v

the optimal projection vector.

$b

the value of b making H(v, b) the minimum normalised cut hyperplane.

$fitted

data projected into two dimensional subspace defined by $v and the principal component in the null space of $v.

$data

the input data matrix.

$fval

the normalised cut across H(v, b).

$method

=="NCutH".

$params

list of parameters used to find H(v, b).

$alternatives

an unnamed list. If more than one initilisation is considered, the alternatives to the best are stored in this field.

References

Hofmeyr, D. (2016) Clustering by Minimum Cut Hyperplanes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(8), 1547 -- 1560.

Examples

Run this code
# NOT RUN {
## load breast cancer dataset
data(breastcancer)

## find minimum normalised cut hyperplane
sol <- ncuth(breastcancer$x)

## visualise the solution
plot(sol)

## evaluate the performance of the solution
success_ratio(sol$cluster, breastcancer$c)
# }

Run the code above in your browser using DataLab