Orthogonal Neighborhood Preserving Projection (ONPP) is an unsupervised linear dimension reduction method. It constructs a weighted data graph from LLE method. Also, it develops LPP method by preserving the structure of local neighborhoods. For the more details on type see Rdimtools::aux.graphnbd().

basis_onpp(data, d = 2, type = c("knn", sqrt(nrow(data))))

Arguments

data

Numeric matrix or data.frame of the observations, coerced to matrix.

d

Number of dimensions in the projection space.

type

A vector specifying the neighborhood graph construction. Expects; c("knn", k), c("enn", radius), or c("proportion",ratio). Defaults to c("knn", sqrt(nrow(data))), nearest neighbors equal to the square root of observations.

Value

Orthogonal matrix basis that distinguishes the levels of classbased on local and non-local variation as weighted against the neighborhood graph.

References

He X (2005). Locality Preserving Projections. PhD Thesis, University of Chicago, Chicago, IL, USA.

See also

Rdimtools::do.onpp

Rdimtools::aux.graphnbd for details on type.

Other basis producing functions: basis_guided(), basis_half_circle(), basis_odp(), basis_olda(), basis_pca()

Examples

dat_std <- scale_sd(wine[, 2:6])
basis_onpp(data = dat_std)
#>                  ONPP1       ONPP2
#> Alcohol     0.08811409 -0.08526245
#> Malic       0.90904502  0.06770106
#> Ash        -0.06596202  0.74711881
#> Alcalinity  0.16090873  0.59603640
#> Magnesium  -0.36828040  0.27331478