:py:mod:`evomap.mapping._tsne` ============================== .. py:module:: evomap.mapping._tsne .. autoapi-nested-parse:: T-Distributed Stochastic Neighborhood Embedding, as propsoed in: Van der Maaten, L., & Hinton, G. (2008). Visualizing data using t-SNE. Journal of machine learning research, 9(11). Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: evomap.mapping._tsne.TSNE Functions ~~~~~~~~~ .. autoapisummary:: evomap.mapping._tsne._calc_p_matrix evomap.mapping._tsne._check_prepare_tsne evomap.mapping._tsne.sqeuclidean_dist evomap.mapping._tsne.calc_q_matrix evomap.mapping._tsne._kl_divergence evomap.mapping._tsne._kl_divergence_grad evomap.mapping._tsne.cond_to_joint Attributes ~~~~~~~~~~ .. autoapisummary:: evomap.mapping._tsne.EPSILON .. py:data:: EPSILON :value: 1e-12 .. py:class:: TSNE(n_dims=2, perplexity=15, n_iter=2000, stop_lying_iter=250, early_exaggeration=4, initial_momentum=0.5, final_momentum=0.8, eta='auto', 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:: _calc_p_matrix(X, included, input_type, perplexity) .. py:function:: _check_prepare_tsne(model, X) Check and, if necessary, prepare data for t-SNE. :param model: Model object. :type model: TSNE or EvoMap :returns: Prepared input data :rtype: ndarray of shape (n_samples, n_samples) .. py:function:: sqeuclidean_dist(Y) .. py:function:: calc_q_matrix(Y, inclusions) Calculate Q-Matrix of joint probabilities in low-dim space. :param Y {np.ndarray} --: :type Y {np.ndarray} --: n,2 :param exclusions {np.ndarray} -- condensed-dist-mat indices for exclusions: :returns: Q {np.ndarray} -- (n,n) array of joint probabilities in low-dim space. dist {np.ndarray} -- (n,n) array of squared euclidean distances .. py:function:: _kl_divergence(Y, P, compute_error=True, compute_grad=True) .. py:function:: _kl_divergence_grad(Y, P, Q, dist) Calculate gradient of KL-divergence dC/dY. :param Y {np.ndarray} --: :type Y {np.ndarray} --: n,2 :param P {np.ndarray} -- condensed-matrix of joint probabilities: :type P {np.ndarray} -- condensed-matrix of joint probabilities: high dim :param Q {np.ndarray} -- condensed-matrix of joint probabilities: :type Q {np.ndarray} -- condensed-matrix of joint probabilities: low dim :param dist {np.ndarray} -- condensed-matrix of sq.euclidean distances: :returns: dY {np.ndarray} -- (n,2) array of gradient values .. py:function:: cond_to_joint(P) Take an asymmetric conditional probability matrix and convert it to a symmetric joint probability matrix. Symmetrizes and normalizes the matrix.