Skip to contents

An S4 Class implementing Hessian Locally Linear Embedding (HLLE)

Details

HLLE uses local hessians to approximate the curvines and is an extension to non-convex subsets in lowdimensional space.

Slots

fun

A function that does the embedding and returns a dimRedResult object.

stdpars

The standard parameters for the function.

General usage

Dimensionality reduction methods are S4 Classes that either be used directly, in which case they have to be initialized and a full list with parameters has to be handed to the @fun() slot, or the method name be passed to the embed function and parameters can be given to the ..., in which case missing parameters will be replaced by the ones in the @stdpars.

Parameters

HLLE can take the following parameters:

knn

neighborhood size

ndim

number of output dimensions

Implementation

Own implementation, sticks to the algorithm in Donoho and Grimes (2003). Makes use of sparsity to speed up final embedding.

References

Donoho, D.L., Grimes, C., 2003. Hessian eigenmaps: Locally linear embedding techniques for high-dimensional data. PNAS 100, 5591-5596. doi:10.1073/pnas.1031596100

Examples

if(requireNamespace(c("RSpectra", "Matrix", "RANN"), quietly = TRUE)) {

dat <- loadDataSet("3D S Curve", n = 300)
emb <- embed(dat, "HLLE", knn = 15)
plot(emb, type = "2vars")

}
#> 2023-03-21 13:05:24: Finding nearest neighbors
#> 2023-03-21 13:05:24: Calculating Hessian
#> 1/300
2/300
3/300
4/300
5/300
6/300
7/300
8/300
9/300
10/300
11/300
12/300
13/300
14/300
15/300
16/300
17/300
18/300
19/300
20/300
21/300
22/300
23/300
24/300
25/300
26/300
27/300
28/300
29/300
30/300
31/300
32/300
33/300
34/300
35/300
36/300
37/300
38/300
39/300
40/300
41/300
42/300
43/300
44/300
45/300
46/300
47/300
48/300
49/300
50/300
51/300
52/300
53/300
54/300
55/300
56/300
57/300
58/300
59/300
60/300
61/300
62/300
63/300
64/300
65/300
66/300
67/300
68/300
69/300
70/300
71/300
72/300
73/300
74/300
75/300
76/300
77/300
78/300
79/300
80/300
81/300
82/300
83/300
84/300
85/300
86/300
87/300
88/300
89/300
90/300
91/300
92/300
93/300
94/300
95/300
96/300
97/300
98/300
99/300
100/300
101/300
102/300
103/300
104/300
105/300
106/300
107/300
108/300
109/300
110/300
111/300
112/300
113/300
114/300
115/300
116/300
117/300
118/300
119/300
120/300
121/300
122/300
123/300
124/300
125/300
126/300
127/300
128/300
129/300
130/300
131/300
132/300
133/300
134/300
135/300
136/300
137/300
138/300
139/300
140/300
141/300
142/300
143/300
144/300
145/300
146/300
147/300
148/300
149/300
150/300
151/300
152/300
153/300
154/300
155/300
156/300
157/300
158/300
159/300
160/300
161/300
162/300
163/300
164/300
165/300
166/300
167/300
168/300
169/300
170/300
171/300
172/300
173/300
174/300
175/300
176/300
177/300
178/300
179/300
180/300
181/300
182/300
183/300
184/300
185/300
186/300
187/300
188/300
189/300
190/300
191/300
192/300
193/300
194/300
195/300
196/300
197/300
198/300
199/300
200/300
201/300
202/300
203/300
204/300
205/300
206/300
207/300
208/300
209/300
210/300
211/300
212/300
213/300
214/300
215/300
216/300
217/300
218/300
219/300
220/300
221/300
222/300
223/300
224/300
225/300
226/300
227/300
228/300
229/300
230/300
231/300
232/300
233/300
234/300
235/300
236/300
237/300
238/300
239/300
240/300
241/300
242/300
243/300
244/300
245/300
246/300
247/300
248/300
249/300
250/300
251/300
252/300
253/300
254/300
255/300
256/300
257/300
258/300
259/300
260/300
261/300
262/300
263/300
264/300
265/300
266/300
267/300
268/300
269/300
270/300
271/300
272/300
273/300
274/300
275/300
276/300
277/300
278/300
279/300
280/300
281/300
282/300
283/300
284/300
285/300
286/300
287/300
288/300
289/300
290/300
291/300
292/300
293/300
294/300
295/300
296/300
297/300
298/300
299/300
300/300

#> as(<dsCMatrix>, "dgCMatrix") is deprecated since Matrix 1.5-0; do as(., "generalMatrix") instead
#> 2023-03-21 13:05:24: Embedding
#> Eigenvalues:  5.515692e-04  4.675215e-05 -5.137594e-17
#> 2023-03-21 13:05:24: DONE