:py:mod:`evomap.mapping._mds`
=============================

.. py:module:: evomap.mapping._mds

.. autoapi-nested-parse::

   Stress-Based Multidimensional Scaling.



Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   evomap.mapping._mds.MDS



Functions
~~~~~~~~~

.. autoapisummary::

   evomap.mapping._mds._normalized_stress_function
   evomap.mapping._mds._normalized_stress_gradient



Attributes
~~~~~~~~~~

.. autoapisummary::

   evomap.mapping._mds.EPSILON


.. py:data:: EPSILON
   :value: 1e-10

   

.. py:class:: MDS(n_dims=2, mds_type=None, n_iter=2000, n_iter_check=50, init=None, verbose=0, input_type='distance', max_halves=5, tol=0.001, n_inits=1, step_size=1)


   .. py:method:: fit(X)


   .. py:method:: fit_transform(X)



.. py:function:: _normalized_stress_function(positions, disparities, mds_type=None, compute_error=True, compute_grad=True)

   Compute normalized stress as a measure of goodness-of-fit between
   input distances and the distances among the estimated positions.

   :param positions: estimated positions
   :type positions: np.array of shape (n_samples, n_dims)
   :param disparities: input distances (or transform disparities)
   :type disparities: np.array of shape (n_samples, n_samples)
   :param inclusions: array of 0/1 entries indicating if an object should be included
                      in the estimation, by default None
   :type inclusions: np.array of shape (n_samples), optional
   :param compute_error: indicates if cost funciton value should be computed, by default True
   :type compute_error: bool, optional
   :param compute_grad: indicates if gradient should be computed, by default True
   :type compute_grad: bool, optional

   :returns: cost function value and gradient
   :rtype: float, array of shape (n_samples, n_dims)


.. py:function:: _normalized_stress_gradient(positions, distances, disparities)

   Calculate gradient of normalized stress function.

   :param positions: estimated postiions
   :type positions: np.array of shape (n_samples, n_dims)
   :param distances: euclidean distances among estimated positions
   :type distances: np.array of shape (n_samples, n_samples)
   :param disparities: input distance (or disparity) matrix
   :type disparities: np.array of shape (n_samples, n_samples)

   :returns: gradient
   :rtype: np.array of shape (n_samples, n_dims)


