View Source Scholar.Manifold.MDS (Scholar v0.3.0)
Multidimensional scaling (MDS) seeks a low-dimensional representation of the data in which the distances respect well the distances in the original high-dimensional space.
Summary
Functions
Fits MDS for sample inputs x
. It is simpyfied version of fit/3
function.
Options
:num_components
(pos_integer/0
) - Dimension of the embedded space. The default value is2
.:metric
(boolean/0
) - Iftrue
, use dissimilarities as metric distances in the embedding space. The default value istrue
.:normalized_stress
(boolean/0
) - Iftrue
, normalize the stress by the sum of squared dissimilarities. Only valid ifmetric
isfalse
. The default value isfalse
.:eps
(float/0
) - Tolerance for stopping criterion. The default value is0.001
.:max_iter
(pos_integer/0
) - Maximum number of iterations for the optimization. The default value is300
.:key
- Determines random number generation for centroid initialization. If the key is not provided, it is set toNx.Random.key(System.system_time())
.:n_init
(pos_integer/0
) - Number of times the embedding will be computed with different centroid seeds. The final embedding is the embedding with the lowest stress. The default value is8
.
Return Values
Returns struct with embedded data, stress value, and number of iterations for best run.
Examples
iex> x = Nx.iota({4,5})
iex> key = Nx.Random.key(42)
iex> Scholar.Manifold.MDS.fit(x, key: key)
%Scholar.Manifold.MDS{
embedding: Nx.tensor(
[
[13.072145462036133, -10.424199104309082],
[5.13038969039917, -2.341259479522705],
[-5.651908874511719, 1.7662434577941895],
[-12.550626754760742, 10.999215126037598]
]
),
stress: Nx.tensor(
0.36994707584381104
),
n_iter: Nx.tensor(
20
)
}
Fits MDS for sample inputs x
. It is simpyfied version of fit/3
function.
Options
:num_components
(pos_integer/0
) - Dimension of the embedded space. The default value is2
.:metric
(boolean/0
) - Iftrue
, use dissimilarities as metric distances in the embedding space. The default value istrue
.:normalized_stress
(boolean/0
) - Iftrue
, normalize the stress by the sum of squared dissimilarities. Only valid ifmetric
isfalse
. The default value isfalse
.:eps
(float/0
) - Tolerance for stopping criterion. The default value is0.001
.:max_iter
(pos_integer/0
) - Maximum number of iterations for the optimization. The default value is300
.:key
- Determines random number generation for centroid initialization. If the key is not provided, it is set toNx.Random.key(System.system_time())
.:n_init
(pos_integer/0
) - Number of times the embedding will be computed with different centroid seeds. The final embedding is the embedding with the lowest stress. The default value is8
.
Return Values
Returns struct with embedded data, stress value, and number of iterations for best run.
Examples
iex> x = Nx.iota({4,5})
iex> init = Nx.reverse(Nx.iota({4,2}))
iex> Scholar.Manifold.MDS.fit(x, init)
%Scholar.Manifold.MDS{
embedding: Nx.tensor(
[
[11.858541488647461, 11.858541488647461],
[3.9528470039367676, 3.9528470039367676],
[-3.9528470039367676, -3.9528470039367676],
[-11.858541488647461, -11.858541488647461]
]
),
stress: Nx.tensor(
0.0
),
n_iter: Nx.tensor(
3
)
}
Fits MDS for sample inputs x
. It is simpyfied version of fit/3
function.
Options
:num_components
(pos_integer/0
) - Dimension of the embedded space. The default value is2
.:metric
(boolean/0
) - Iftrue
, use dissimilarities as metric distances in the embedding space. The default value istrue
.:normalized_stress
(boolean/0
) - Iftrue
, normalize the stress by the sum of squared dissimilarities. Only valid ifmetric
isfalse
. The default value isfalse
.:eps
(float/0
) - Tolerance for stopping criterion. The default value is0.001
.:max_iter
(pos_integer/0
) - Maximum number of iterations for the optimization. The default value is300
.:key
- Determines random number generation for centroid initialization. If the key is not provided, it is set toNx.Random.key(System.system_time())
.:n_init
(pos_integer/0
) - Number of times the embedding will be computed with different centroid seeds. The final embedding is the embedding with the lowest stress. The default value is8
.
Return Values
Returns struct with embedded data, stress value, and number of iterations for best run.
Examples
iex> x = Nx.iota({4,5})
iex> key = Nx.Random.key(42)
iex> init = Nx.reverse(Nx.iota({4,3}))
iex> Scholar.Manifold.MDS.fit(x, init, num_components: 3, key: key)
%Scholar.Manifold.MDS{
embedding: Nx.tensor(
[
[9.682458877563477, 9.682458877563477, 9.682458877563477],
[3.2274858951568604, 3.2274858951568604, 3.2274858951568604],
[-3.2274863719940186, -3.2274863719940186, -3.2274863719940186],
[-9.682458877563477, -9.682458877563477, -9.682458877563477]
]
),
stress: Nx.tensor(
9.094947017729282e-12
),
n_iter: Nx.tensor(
3
)
}