Scikit-learn: t-SNE рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде infs рдпрд╛ NaNs (OSX рд╡рд┐рд╢рд┐рд╖реНрдЯ) рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  108рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: scikit-learn/scikit-learn

Darwin-15.0.0-x86_64-i386-64bit
('Python', '2.7.11 |Anaconda custom (x86_64)| (default, Dec  6 2015, 18:57:58) \n[GCC 4.2.1 (Apple Inc. build 5577)]')
('NumPy', '1.11.0')
('SciPy', '0.17.0')
('Scikit-Learn', '0.17.1')

рдЬрдм рдЯреА-рдПрд╕рдПрдирдИ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ

proj = TSNE().fit_transform(X)
ValueError: array must not contain infs or NaNs

рддрдерд╛рдкрд┐

np.isfinite(X).all() # True 
np.isnan(X).all() # False
np.isinf(X).all() # False

рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕:


ValueError                                Traceback (most recent call last)
<ipython-input-16-c25f35fd042c> in <module>()
----> 1 plot(X, y)

<ipython-input-1-72bdb7124d13> in plot(X, y)
     74 
     75 def plot(X, y):
---> 76     proj = TSNE().fit_transform(X)
     77     scatter(proj, y)

/Users/joelkuiper/anaconda/lib/python2.7/site-packages/sklearn/manifold/t_sne.pyc in fit_transform(self, X, y)
    864             Embedding of the training data in low-dimensional space.
    865         """
--> 866         embedding = self._fit(X)
    867         self.embedding_ = embedding
    868         return self.embedding_

/Users/joelkuiper/anaconda/lib/python2.7/site-packages/sklearn/manifold/t_sne.pyc in _fit(self, X, skip_num_points)
    775                           X_embedded=X_embedded,
    776                           neighbors=neighbors_nn,
--> 777                           skip_num_points=skip_num_points)
    778 
    779     def _tsne(self, P, degrees_of_freedom, n_samples, random_state,

/Users/joelkuiper/anaconda/lib/python2.7/site-packages/sklearn/manifold/t_sne.pyc in _tsne(self, P, degrees_of_freedom, n_samples, random_state, X_embedded, neighbors, skip_num_points)
    830         opt_args['momentum'] = 0.8
    831         opt_args['it'] = it + 1
--> 832         params, error, it = _gradient_descent(obj_func, params, **opt_args)
    833         if self.verbose:
    834             print("[t-SNE] Error after %d iterations with early "

/Users/joelkuiper/anaconda/lib/python2.7/site-packages/sklearn/manifold/t_sne.pyc in _gradient_descent(objective, p0, it, n_iter, objective_error, n_iter_check, n_iter_without_progress, momentum, learning_rate, min_gain, min_grad_norm, min_error_diff, verbose, args, kwargs)
    385     for i in range(it, n_iter):
    386         new_error, grad = objective(p, *args, **kwargs)
--> 387         grad_norm = linalg.norm(grad)
    388 
    389         inc = update * grad >= 0.0

/Users/joelkuiper/anaconda/lib/python2.7/site-packages/scipy/linalg/misc.pyc in norm(a, ord, axis, keepdims)
    127     """
    128     # Differs from numpy only in non-finite handling and the use of blas.
--> 129     a = np.asarray_chkfinite(a)
    130 
    131     # Only use optimized norms if axis and keepdims are not specified.

/Users/joelkuiper/anaconda/lib/python2.7/site-packages/numpy/lib/function_base.pyc in asarray_chkfinite(a, dtype, order)
   1020     if a.dtype.char in typecodes['AllFloat'] and not np.isfinite(a).all():
   1021         raise ValueError(
-> 1022             "array must not contain infs or NaNs")
   1023     return a
   1024 

ValueError: array must not contain infs or NaNs

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА, рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

conda remove numpy --force -y
pip uninstall numpy -y
conda install numpy

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 108 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

('рд╕реНрдХрд┐рдЯрд┐рдЯ-рд▓рд░реНрди', '0.18.dev0') рдХреЗ рд╕рд╛рде рднреА

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдПрдХреНрд╕ рдХреЛ рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдорди рдмрдирд╛рддреЗ рд╣реИрдВ?

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрд╣рд╛рдБ рдФрд░ рдХрд┐рд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ?

17 рдЕрдкреНрд░реИрд▓ 2016 рдХреЛ 09:11 рдмрдЬреЗ, ith ith рд╕реВрдЪрдирд╛рдПрдБ @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдПрдХреНрд╕ рдХреЛ рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдорди рдмрдирд╛рддреЗ рд╣реИрдВ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдереНрд░реЗрдб рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд┐рдпрд╛ рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -210968577 рдкрд░

рдореЗрд░рд╛ рдИрдореЗрд▓ [email protected] рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдПрдХ рд╕рд░рдгреА рдХреЛ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ .npy рдкреНрд░рд╛рд░реВрдк ~~ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди numpy.save рд╣реИ

рдореИрдВ ubuntu 14.04 LTS рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реВрдВ
рдЕрдЬрдЧрд░ == 2.7.6
scikit рд╕реАрдЦрдиреЗ == 0.17.1
numpy == 1.8.2
scipy == 0.13.3
рдпрд╣ рдареАрдХ рд╣реИ рдФрд░ ValueError рдирд╣реАрдВ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рд╣реИ:
`рдЖрдпрд╛рдд рд╕реБрдиреНрди
a = numpy.load ('/ root / test.npy')
a.shape рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
рдкреНрд░рд┐рдВрдЯ numpy.isnan (a) .all () #False
numpy.isfinite (a) .all () #True рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
рдкреНрд░рд┐рдВрдЯ numpy.isinf (a) .all () #False

sklearn.manifold рд╕реЗ TSNE рдЖрдпрд╛рдд рдХрд░реЗрдВ
proj = TSNE ()ред fit_transform (a) # [[2.35503527e + 00 1.15976751e + 01] .... [3.29832591e + 00 8.98212513e + 00]]
рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ


рдлрд┐рд░ рдореИрдВ numpy рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реВрдВ, 1.11.0, 0.17.0 рдкрд░ рд╕реНрдХрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рд╣реА рдХреЛрдб рдХреЗ рд╕рд╛рде рдЯреЗрд╕реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдУрдПрд╕ рдПрдХреНрд╕ рдПрд▓ рдХреИрдкрд┐рдЯрд╛рди рдХреЗ рддрд╣рдд рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде 3.5 рдХреЗ рд▓рд┐рдП рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред

Darwin 15.4.0
Python 3.5.1 :: Anaconda custom (x86_64)
numpy 1.10.4
scipy 0.17.0
scikit-learn 0.17.1

рдЙрджрд╛рд╣рд░рдг рд░рди:

import random
from sklearn.manifold import TSNE
random.seed(1)
a = np.random.uniform(size=(100,20))
TSNE(n_components=2).fit_transform(a)

рдзрдиреНрдпрд╡рд╛рдж @ ivan-krukov, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╛рдпрдерди 3.3 рдореЗрдВ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реВрдВред 3.5 рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ

рдпрд╣ 3.5 рдХреЗ рддрд╣рдд рд╕рдорд╛рди рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде linux (4.4.0-21, Ubuntu 16.04) рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рдПрд▓-рдХреИрдкрд┐рдЯрди рдкрд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╛рдпрдерди 3.5 рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЪрд▓рдиреЗ рдореЗрдВ рдЕрд╕рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?

рдПрдирд╛рдХреЛрдВрдбрд╛, Py 3.5, sklearn 0.17.1, OSX El Capitan рдкрд░ рдореЗрд░рд╛ рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдореБрджреНрджрд╛ рд╣реИред
рдореИрдВ @ ivan-krukov рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рд╡рд╣реА рдореБрджреНрджрд╛ред 0.17 рдкрд░ OS X El Capitan рдкрд░ рдкрд╛рдпрдерди 2.7.6ред рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкрд╛рдпрдерди 2.7.6 рдФрд░ 0.17 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рди рдХреЛрдб рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╡рд╣реА рдореБрджреНрджрд╛ред
OSX El Capitan рдкрд╛рдпрдерди 3.5.1
scikit рд╕реАрдЦрдиреЗ == 0.17.1
scipy == 0.17.1

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдлрд┐рдХреНрд╕ (рдпрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб) рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ?
рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг: OS X 10.11.5
рдкрд╛рдпрдерди 3.5.1 :: рдПрдирд╛рдХреЛрдВрдбрд╛ 4.0.0 (x86_64)
numpy.version.version 1.11.0
scipy.version 0.17.1
sklearnред рд╕рдВрд╕реНрдХрд░рдг 0.17.1

рдореИрдВ ivan-krukov рд╕реЗ рдХреЛрдб рдирдореВрдиреЗ рдХреЗ рд╕рд╛рде рдмрдЧ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдкрд╛рдпрдерди 3.5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдУрдПрд╕ рдПрдХреНрд╕ рдИрдЖрдИ рдХреИрдкрд┐рдЯрди рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛

рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг: OS X 10.11.5
рдкрд╛рдпрдерди 3.5.1 :: рдХреЙрдиреНрдЯрд┐рдирдо рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕, рдЗрдВрдХред
numpyред рд╕рдВрд╕реНрдХрд░рдг 1.11.1
scipyред рд╕рдВрд╕реНрдХрд░рдг 0.16.0
sklearnред рд╕рдВрд╕реНрдХрд░рдг 0.17.1

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдореЗрд░реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рди рдХрд┐ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде ред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдкреВрд░реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкрд░ TSNE рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

o_O ;; рдпрд╣ рдмрд╕ рдореЗрдВ рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдЙрд╕реА 'рдЯреВрдЯреА' рд╕рдмрд╕реЗрдЯ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд╕реВрдЪреА * 10 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╡реЗрдХреНрдЯрд░ рдХреЛ 10 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрд╛рд░реАрдЦ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред рд╕реВрдЪреА рдХреА рд▓рдВрдмрд╛рдИ рджреЛрдЧреБрдиреА рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдЬрд╛рдВрдЪ рд░рди рдПрдореЛрдХ рдХреА рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдбрд┐рдЧреНрд░реА рд╣реИ?

@ ivan-krukov рдореИрдВрдиреЗ рдЖрдЬ рдмреБрд▓реЗрдЯ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╣рд┐рд▓рд╛рдпрд╛ рдФрд░ рдПрдХ рдПрд▓ рдХреИрдкрд┐рдЯрди рд╡реАрдПрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

@ рд╕рдВрдпреЛрдЬрдХ рдХреНрдпрд╛ рдЖрдк https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -218365487 рдореЗрдВ рджрд┐рдП рдЧрдП рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдЙрджрд╛рд╣рд░рдг рдкрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдПрд▓-рдХреИрдкрд┐рдЯрди рдкрд░ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╛рдпрдерди 3.5 рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдЪрд▓рдиреЗ рдореЗрдВ рдЕрд╕рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реВрдВред

@ рдЬреИрдирдорди рдпрд╣ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 3.5 рдкрд░ рд╣реА рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдкрд╛рдпрдерди 2.7 (рд╕реНрдирд┐рдкреЗрдЯ: https://github.com/scikit-learn/scikit-learn/issues-6665#issuecomment-218365487) рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ) рд╡рд╣ рдорд╣рд╛рди рд╣реЛрдЧрд╛ред

@lesteve рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

import numpy as np
import random
from sklearn.manifold import TSNE
random.seed(1)
a = np.random.uniform(size=(100,20))
TSNE(n_components=2).fit_transform(a)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/dshank/miniconda3/envs/python3/lib/python3.5/site-packages/sklearn/manifold/t_sne.py", line 866, in fit_transform
    embedding = self._fit(X)
  File "/Users/dshank/miniconda3/envs/python3/lib/python3.5/site-packages/sklearn/manifold/t_sne.py", line 777, in _fit
    skip_num_points=skip_num_points)
  File "/Users/dshank/miniconda3/envs/python3/lib/python3.5/site-packages/sklearn/manifold/t_sne.py", line 832, in _tsne
    params, error, it = _gradient_descent(obj_func, params, **opt_args)
  File "/Users/dshank/miniconda3/envs/python3/lib/python3.5/site-packages/sklearn/manifold/t_sne.py", line 387, in _gradient_descent
    grad_norm = linalg.norm(grad)
  File "/Users/dshank/miniconda3/envs/python3/lib/python3.5/site-packages/scipy/linalg/misc.py", line 115, in norm
    a = np.asarray_chkfinite(a)
  File "/Users/dshank/miniconda3/envs/python3/lib/python3.5/site-packages/numpy/lib/function_base.py", line 1033, in asarray_chkfinite
    "array must not contain infs or NaNs")
ValueError: array must not contain infs or NaNs

рдПрдХ рд╣реА рдХреЛрдб рдХреЗ рдмрд╛рдж, рд╣рд╛рд▓рд╛рдВрдХрд┐:

>>> a = np.random.uniform(size=(10000,20))
>>> TSNE(n_components=2).fit_transform(a)
array([[  3.25766047e+11,  -2.74708004e+11],
       [  2.43498802e+11,  -7.68189047e+10],
       [ -6.00107639e+09,  -1.13548763e+11],
       ..., 
       [  3.02794039e+10,   6.64402020e+11],
       [  2.55855781e+10,   5.67932400e+10],
       [  1.42040378e+11,  -7.55188994e+10]])

рд╡рд┐рдЪрд┐рддреНрд░ред

рдореИрдВ OSX El Capitan рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдкрд░ minthonda (MKL рдХреЗ рд╕рд╛рде) рд╕реЗ 0.17.1, рдбрд░рд╛рд╡рдирд╛ 1.11.1, рдбрд░рд╛рд╡рдирд╛ 0.17.1 рдФрд░ рд╕реНрдХрд┐рдЯрд┐рдЯ-рд▓рд░реНрдирд┐рдВрдЧ 0.17.1 рдХреЗ рд╕рд╛рде рдпрд╛ рддреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВ рдмрд╛рдж рдореЗрдВ рдПрдХ рдЕрд╕рд▓реА рдореИрдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ @joelkuiper рдФрд░ @Concomitant рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк scikit-learn рдорд╛рд╕реНрдЯрд░ рдмреНрд░рд╛рдВрдЪ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ рд▓реЗрд╕реНрдЯрд╡реЗ рдФрд░ рдЕрдиреНрдп рдореИрдВ рдкрд╣рд▓реЗ рдкрд╛рдпрдерди 2.7 рдХреЗ рд╕рд╛рде рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рдкрд░

рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рд╕реВрдЪрдирд╛:

Darwin-15.0.0-x86_64-i386-64bit
('Python', '2.7.10 (v2.7.10:15c95b7d81dc, May 23 2015, 09:33:12) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]')
('NumPy', '1.11.0')
('SciPy', '0.17.0')
('Scikit-Learn', '0.18.dev0')

рдореИрдВрдиреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореИрдХ рдкрд░ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ OSX El Capitan 10.11.3 (рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рдирд╡реАрдирддрдо рд╕реБрдиреНрди рдЪреАрдЦрд╝ рдФрд░ рд╢рд┐рдХрд╡реЗ рдХреЗ рд╕рд╛рде, рдЙрд╕реА рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ https://github.com/scikit-learn/scikit-learn/issues рдкрд░ @Concomitant рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ / 6665 # рдЬрд╛рд░реА рдХрд░рдиреЗ -229703129) рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдпрд╛ рддреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ (рдХрдИ рдмрд╛рд░ рд╕реНрдирд┐рдкреЗрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА)ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ np.random.seed(1) рд▓рд╛рдЗрди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдореБрдЭреЗ fit_transform рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдмрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрдЬреАрдм рд╣реИ рдХрд┐ np.random.seed (1) рд▓рд╛рдЗрди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдореБрдЭреЗ fit_transform рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдмрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВрдиреЗ @Concomitant рдХрд╛ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдкрдврд╝рд╛: random.seed(1) рдмрдЬрд╛рдп рдЗрд╕реЗ np.random.seed(1) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдиреНрдпрдерд╛ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд RNG рдХреЛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореБрдЭреЗ рдЕрдм рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВрдиреЗ рдкреВрд░реА рдЪрд░реНрдЪрд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдкрдврд╝ рд▓реА рдФрд░ рдмрдЧ рдХреЗрд╡рд▓ рдЕрдЬрдЧрд░ 2.7 рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред

рдореИрдВ OSX 10.11.3 рдкрд░ рдХреЛрдВрдбрд╛ рд╕реЗ рдЕрдЬрдЧрд░ 2.7.12 рдХреЗ рд╕рд╛рде рдпрд╛ рддреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ @ рдИрдХреНрд▓рд┐рдкреНрдЯрд░ рдХреЛрдВрдбрд╛ рд╕реЗ рдЕрдЬрдЧрд░ 3.5.1 рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╢рд╛рдпрдж рдкрд╛рдпрдерди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ OSX рдХреЗ рдорд╛рдореВрд▓реА рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЕрдкрдЧреНрд░реЗрдб рдФрд░ рд░рд┐рдЯрд╛рдпрд░ рд╣реЛрдЧрд╛ред

рдореИрдВ OSX 10.11.5 рдХреЗ рд╕рд╛рде рдпрд╛ рддреЛ рджреЛрд╣рд░рд╛ рдирд╣реАрдВ рд╕рдХрддрд╛ред рдореИрдВрдиреЗ рдкрд╛рдпрдерди 2.7.12 рдФрд░ 3.5.2 рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рдХреЛрдВрдкрд╛ рдХреЗ рд╕рд╛рде 1.11.1, рд╕реНрдХрд┐рдкреА 0.17.1 рдФрд░ рд╕реНрдХрд┐рдЯрд┐рдЯ-рд▓рд░реНрди 0.17.1 рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмреАрдЬ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреЛ рдХрд┐ рдореБрджреНрджреЗ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ (рдЙрдкрд░реЛрдХреНрдд рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ random.seed(1) рдмрдЬрд╛рдп np.random.seed(my_seed) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдФрд░ рдпрд╣рд╛рдВ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВ OSX рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЖрдк рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬ)ред

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИ рд╣реИред рдореИрдВ рдЕрдм рдЗрд╕реЗ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИ:
numpy.version.version 1.11.1

Tensorflow рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рдореИрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдБ:
рдЬрдм рдореИрдВ рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдирдореВрдирд╛ (<200 рдЕрдВрдХ) рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдХрднреА-рдХрднреА рдЗрд╕ рддреНрд░реБрдЯрд┐ рдореЗрдВ рднрд╛рдЧ рдЬрд╛рддрд╛ рд╣реВрдВред рдирдореВрдирд╛ рдЖрдХрд╛рд░ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ tsne.fit_transform () рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред

рдпрд╣ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @Ekliptor рдзрдиреНрдпрд╡рд╛рдж рдХрд┐ рдпрд╣ scikit-learn рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред @joelkuiper рдФрд░ @Concomitant рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╢рд┐рдХреНрд╖рд╛рдкреНрд░рдж-рдЧреБрд░реБ рднреА рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдорд╛рд╕реНрдЯрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдЕрдм рд╕рдлрд╛рдИ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред

рдЕрдм рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред рд╕рдорд╛рдкрдиред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ Python 3.5.1, scikit 0.17, scikit-learn 0.18 (9e913c04d748 рдХреЗ рд▓рд┐рдП), рдФрд░ рдореИрдХ рдУрдПрд╕ 10.11.5 рдкрд░ Numpy 1.11.1 рдкрд░ рдорд┐рд▓рддрд╛ рд╣реИред

@dmyersturnbull рдХреНрдпрд╛ рдЖрдкрдХреЛ https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -218365487 рд╕реЗ рд╕реНрдирд┐рдкреЗрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ?

@ рд▓реЗрд╕реНрддрд╡реЗ рдореИрдВрдиреЗ рдЙрд╕ рд╕рдЯреАрдХ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛, рд╣рд╛рдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рдЕрдкрдиреЗ рдПрдирд╛рдХреЛрдВрдбрд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рдХреНрд▓реАрдпрд░ рдХрд░рдиреЗ рдФрд░ рдкрд╛рдпрдерди 3.5.2 рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдм рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ Mac OS X El Capitan 10.11.3 рдкрд░ Python 3.5.2, scikit-learn 0.17.1, scipy 0.17.1, numpy 1.11.1 рдХреЗ рд╕рд╛рде рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рддрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ 2100 рд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдо рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдореБрдЭреЗ Mac OS X El Capitan 10.11.3 рдкрд░ Python 3.5.2, scikit-learn 0.17.1, scipy 0.17.1, numpy 1.11.1 рдХреЗ рд╕рд╛рде рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рддрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ 2100 рд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдо рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдирд┐рдореНрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реВрдк рд░реВрдк рд╕реЗ

рд░реЛрдкреЗрди, рдХреГрдкрдпрд╛

рдореБрдЭреЗ OS X 10.11.6, рдЕрдЬрдЧрд░ 3.5.1, рд╕реНрдХреЗрд▓реЗрдирд░ 0.17.1 рдФрд░ рдЕрдВрдХ 1.11.1 рдкрд░ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред
рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░: https://dl.dropboxusercontent.com/u/103591/vals.out (np.sctt рдХреЗ рд╕рд╛рде)

рдирд┐рдореНрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реВрдк рд░реВрдк рд╕реЗ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

@ рд▓реНрдпреВрд╕реАрдбреИрди рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

рдореБрдЭреЗ OS X 10.11.6, рдЕрдЬрдЧрд░ 3.5.1, рд╕реНрдХреЗрд▓реЗрдирд░ 0.17.1 рдФрд░ рдЕрдВрдХ 1.11.1 рдкрд░ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред
рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░: https://dl.dropboxusercontent.com/u/103591/vals.out (np.sctt рдХреЗ рд╕рд╛рде)

@pbnsilva рдЖрдк рдиреАрдЪреЗ рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ np.random.seed рдмрдЬрд╛рдп random.seed )ред

import random
from sklearn.manifold import TSNE
random.seed(1)
a = np.random.uniform(size=(100,20))
TSNE(n_components=2).fit_transform(a)

рдмреЛрдирд╕ рдЕрдВрдХ рдпрджрд┐ рдЖрдк рдмреАрдЬ рддрд░реНрдХ np.random.seed рдФрд░ random_state рддрд░реНрдХ TSNE рдЬреЛ рд╕реНрдирд┐рдкреЗрдЯ рдирд┐рд░реНрдзрд╛рд░рдХ рдмрдирд╛рддрд╛ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдмрдЧ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрдпрд╛ рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдХреНрдпрд╛ рдЖрдк рд╢рд┐рдХреНрд╖рд╛рдкреНрд░рдж рдЧреБрд░реБ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ рд▓реЗрд╕реНрдЯрд╡реЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕рдорд╛рди рд╕рд┐рд╕реНрдЯрдо рдкреИрд░рд╛рдореАрдЯрд░ (Python 3.5.2, scikit-learn 0.17.1, scipy 0.17.1, numpy 1.11.1) рдХреЗ рд╕рд╛рде Mac OS El Capitan рдкрд░ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред 10.11.3)

@pbnsilva рдЖрдк рдиреАрдЪреЗ рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдпрд╛, рдФрд░ рдпрд╣ X_SIZE <= 1750 (Y_SIZE = 20, n_compenders = 2 рд╕реНрдерд┐рд░рд╛рдВрдХ рдмрди рдЧрдпрд╛) рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ред рдЕрдЧрд░ рдореИрдВ рд╕реНрдерд┐рд░ X_SIZE = 1750 рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░рд╛рдВрдХ (рд╡реГрджреНрдзрд┐) рдмрджрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

@ рд▓реНрдпреВрд╕реАрдбреИрди рдЖрдк рдПрдХ рд╣реА рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ?

рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ (рд╕рдВрдЦреНрдпрд╛ 1.11.1, рдПрд▓ рдХреИрдкрд┐рдЯрд╛рди 10.11, рд╕реНрдХреЗрд▓реЗрд░ 0.17.1, рдЕрдЬрдЧрд░ 3.5.2) рдирд╛рд░рд╛рдЬ рд╣реЛрдХрд░ рдЙрд╕рдиреЗ рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛ред рддреБрдо рд▓реЛрдЧ рдХреНрдпрд╛ рдмрджрд▓ рдЧрдП ...?

@ act65 рд╣рдо рдЗрд╕ рдХреА рддрд╣ рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рдкрд╛рдП рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЕрдм рддрдХ рдорд┐рд╢реНрд░рд┐рдд рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╣реАрдВ рд╣реИрдВ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд╣рдо рдкрд╛рдардХреЛрдВ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ "рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ" рд╣рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХреНрдпрд╛ рдХреЛрд╢рд┐рд╢ рдХреА рдереА) рдХреНрдпрд╛ рдЖрдк https://github.com/scikit-learn рдореЗрдВ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдпрджрд┐ рдЖрдк 0.18 рд░рд┐рд▓реАрдЬ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЬреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЪреБрдЕрди рдпрд╛ рдХреЛрдВрдбрд╛ env рдореЗрдВ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИ) рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛:

pip install --pre scikit-learn -U

рд╕рдВрдкрд╛рджрд┐рдд: 0.18 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдмрд╕ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ ( --pre рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ):

pip install scikit-learn -U

рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ 0.18 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИред

реж.рез if рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдпрджрд┐ рджрд┐рди рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рдБ рдореЗрд░реЗ рдмреБрд░реЗ, рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред (рдореИрдВ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рдмрд╛рдд рджреВрд╕рд░реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА, рд╕рд┐рд░реНрдл MNIST рдкрд░)ред

рд╡реИрд╕реЗ рднреА, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж :)
pip install --pre scikit-learn -U рдЗрд╕реЗ рддрдп рдХрд┐рдпрд╛

рдареАрдХ рд╣реИ, рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдпрд╣ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП 0.18 рд░рд┐рд▓реАрдЬ рдЙрдореНрдореАрджрд╡рд╛рд░ рдореЗрдВ рддрдп рд╣реИ! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рджреВрд╕рд░реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рджреВрд╕рд░реЗ рдиреЗ рдХреНрдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП, рдЙрддреНрдкрд╛рджрди рдХреЛрдб рдХреЗ рд▓рд┐рдП рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ 0.18 рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рддрдХ рдереЛрдбрд╝рд╛ рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

@lesteve
рдореИрдВрдиреЗ рд╕рдВрд╕реНрдХрд░рдг 0.18rc2 рдкрд░ рд╕реНрдирд┐рдкреЗрдЯ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд - scikit-learn -U

рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ! рдЪреАрдпрд░реНрд╕!

рдзрдиреНрдпрд╡рд╛рдж @Lucidyan рдЗрд╕реЗ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде scikit-learn 0.18 ( pip install --pre scikit-learn -U ) рдореЗрдВ рдЙрдиреНрдирдпрди рдХреЗ рдмрд╛рдж рдорд┐рд▓ рд░рд╣реА рд╣реИред

рдпрд╣рд╛рдБ рдореЗрд░реА рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ:
OS X El Capitan рд╕рдВрд╕реНрдХрд░рдг 10.11.4
рдкрд╛рдпрдерди 2.7.12
sklearn 0.18 (sklearn 0.17.1 рдкрд░ рднреА рдпрд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА)
numpy 1.11.1 (numpy 1.11.2 рдкрд░ рднреА рдпрд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА)
scipy 0.18.1

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рдорд╛рди рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдЪрд▓рд╛рдпрд╛, рдореБрдЭреЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓реАред
рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рд┐рд╕реНрдЯрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИ:
Ubuntu 14.04.5 LTS (GNU / Linux 3.13.0-91-рдЬреЗрдиреЗрд░рд┐рдХ x86_64)
рдЕрдЬрдЧрд░ 2.7.6
sklearn 0.18
рд╕реБрдиреНрди 1.11.2
scipy 0.13.3

рд╕реБрдиреНрди, рдбрд░рд╛рд╡рдирд╛ рдФрд░ рдбрд░рд╛рд╡рдирд╛ рдЬрд╛рдирдиреЗ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░рдиреЗ рдФрд░ рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрджрд┐ рд╡рд╣ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рдпрдерди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЪреБрдЕрдирд╡ (рдпрд╛ рдЕрдЧрд░ рдЖрдк рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рддреЛ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

рдЕрднреА рднреА рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ ( ValueError: array must not contain infs or NaNs ) рд╕реНрдХреЗрд▓реЗрд░ 0.18 ( 0.18-np111py35_0 ) рдореЗрдВ рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдкрд╛рдЗрдк рдкрд╣рд┐рдпреЛрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ!

рдЕрднреА рднреА рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (ValueError: рд╕рд░рдгреА рдореЗрдВ рдХрдВрдХрд╛рд▓ 0.18 (0.18-np111py35_0) рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде infs рдпрд╛ NaNs рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдкрд╛рдЗрдк рдкрд╣рд┐рдпреЛрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ!

рд╣рдореНрдореН рджрд┐рд▓рдЪрд╕реНрдк ... рдХреНрдпрд╛ рдЖрдк рдПрдордХреЗрдПрд▓ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдВрдбрд╛ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд conda create -n sklearn_nomkl python scikit-learn nomkl рдЬреИрд╕рд╛ рдХреБрдЫ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдордХреЗрдПрд▓ рдмрдирд╛рдо рдУрдкрдирдмреНрд▓рд╛рд╕ рдЪреАрдЬ рд╣реИ?

рдпрджрд┐ рдЖрдк рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдмреАрдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдП рд╕реНрдирд┐рдкреЗрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рддреЛ np.random.RandomState(some_int) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЬреЛ рдХрд┐ рдПрдХ рд╕рдВрджрд░реНрдн рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕реНрдирд┐рдкреЗрдЯ рдЧреИрд░-рдирд┐рдпрддрд╛рддреНрдордХ рд╣реИ ( random.seed рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдВрдХреБрд░рд┐рдд рдмреАрдЬ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ)ред

рдмрд┐рд▓рдХреБрд▓ рдХреЛрдИ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ BLAS рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, conda create -n sklearn_nomkl python scikit-learn nomkl env рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ... рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,

from sklearn.manifold import TSNE
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_digits

digits = load_digits()

X_train, X_test, y_train, y_test = train_test_split(digits.data, 
                                                    digits.target, 
                                                    random_state=1)

tsne = TSNE(random_state=1)
digits_tsne_train = tsne.fit_transform(X_train)

рдореЗрд░реА рдорд╢реАрди рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдореИрдВ digits_tsne_train = tsne.fit_transform(X_train) рдХреА рдЬрдЧрд╣ digits_tsne_train = tsne.fit_transform(digits.data) рд▓реЗрддрд╛ рд╣реВрдБ рддреЛ рдпрд╣ рдареАрдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдЯреНрд░реИрд╡рд┐рд╕ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рдЕрдзрд┐рдХ рд╣рд▓реНрдХреЗ рд╡рдЬрди рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдвреВрдВрдврдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

EDIT: рдЖрдИрд░рд┐рд╕ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣реА рд╕рдЪ рд╣реИред iris.data fit_transform рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╕реНрдкреНрд▓рд┐рдЯреЗрдб рдбреЗрдЯрд╛рд╕реЗрдЯ ( X_train ) рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╢рд╛рдпрдж train_test_split ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рджреЛрдиреЛрдВ X_train рдФрд░ iris.data 64 рд╕рд░рдгрд┐рдпрд╛рдБ рд▓рдЧрддреЗ рд╣реИрдВ ...

Https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -243782185 рд╕реЗ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдФрд░ рдЕрднреА рднреА рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рд╡рд┐рдлрд▓ рд╣реИ?

рд╕реНрдирд┐рдкреЗрдЯ

import numpy as np
from sklearn.manifold import TSNE

np.random.seed(1)

a = np.random.uniform(size=(100, 20))
TSNE(n_components=2, random_state=1).fit_transform(a)

рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдпрд╣ рдирд╛рдорд╛рдВрдХрд┐рдд рдПрдирд╡реА рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)

рдареАрдХ рд╣реИ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдХрдо рд╕реЗ рдХрдо рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рдПрдХ рдирд┐рд░реНрдгрд╛рдпрдХ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИред рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

import platform; print(platform.platform())
import sys; print("Python", sys.version)
import numpy; print("NumPy", numpy.__version__)
import scipy; print("SciPy", scipy.__version__)
import sklearn; print("Scikit-Learn", sklearn.__version__)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд┐рд░реНрдл рдкрд╡рд┐рддреНрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рддрд╛рдЬрд╛ рдХреЛрдВрдбрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╕реЗ рдХрд╣рд╛рдБ рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рддрдм рд╕реЗ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрд▓ рдХреИрдкрд┐рдЯрд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдмреЙрдХреНрд╕ рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛, @ogrisel OSX рд▓реИрдкрдЯреЙрдк рдкрд░ рдпрд╛ рддреЛ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрд╕ рд╕рдордп рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЬрд╝рд░реВрд░,

рдорд╢реАрди рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ:

Darwin-16.1.0-x86_64-i386-64bit
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:52:12) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)]
NumPy 1.11.2
SciPy 0.18.1
Scikit-Learn 0.18

(рдпрд╣ рдПрдХ рддрд╛рдЬрд╛ conda рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛)

рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк sth рдкрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ! рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рджреВрд╕рд░реЗ рдореИрдХ рдкрд░ рдЖрдЬрд╝рдорд╛рдпрд╛, рдФрд░ рдпрд╣ рд╡рд╣рд╛рдБ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдлрд░реНрдХ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреЗ рдХрд░реНрдиреЗрд▓ ( Darwin-15.6.0-x86_64-i386-64bit ) рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред MacOS рд╕рд┐рдПрд░рд╛ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдореИрдХ рдХреЛ рдЕрднреА рддрдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рдкреВрд░реНрд╡ рдорд╢реАрди рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред OS рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЕрдЧрд▓реЗ рдорд╣реАрдиреЗ рдпрд╛ рддреЛ (рдореИрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╣реВрдВ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛) рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реА рдорд╢реАрди рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд┐рдПрд░рд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рджреВрд╕рд░реА рдорд╢реАрди (рдпрд╛ рд╢рд╛рдпрдж macOS Sierra рдХреЗ рд╕рд╛рде рдХреЛрдИ рдФрд░ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдЕрдм рдЕрдЧрд░ рдпрд╣ OS рдЪреАрдЬ рд╣реИ)

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди OSX рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ OSX рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд╕реНрдпрд╛ рд╣реИред IIRC @ogrisel рдХрд╛ рдХреВрдмрдбрд╝ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рд╕реАрдкреАрдпреВ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ (рдЕрдзрд┐рдХ рд╕рдордп-рдЧрд╣рди) рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЛрдб рдореЗрдВ NaNs рджрд┐рдЦрд╛рдИ рджреЗрдВред

IIRC @ogrisel рдХрд╛ рдХреВрдмрдбрд╝ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рд╕реАрдкреАрдпреВ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ред

рд╣рдореНрдо, рдкрд╛рдЗрдк рдХреЗ рдкрд╣рд┐рдП рд╕реЗ рднрд┐рдиреНрди рдХреЛрдВрдбрд╛-рд╕реНрдХрд┐рдЯ-рд╡рд░реНрдЬрди рд╕рдВрд╕реНрдХрд░рдг рдХреИрд╕реЗ рд╣реЛрдЧрд╛? рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдж рд╡рд╛рд▓реЗ рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдбрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ (рдЕрдзрд┐рдХ рд╕рдордп-рдЧрд╣рди) рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЛрдб рдореЗрдВ NaNs рджрд┐рдЦрд╛рдИ рджреЗрдВред

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/manifold/t_sne.py#L387 рдореЗрдВ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рддрдм рддрдХ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдПрдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ -inf рд╣реЛ рдЬрд╛рдПред https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/manifold/t_sne.py#L386 рдореЗрдВ 25 рд╡реЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐-рдкрд╛рд╢ рдХреЗ рд▓рд┐рдП

...
   0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
   0.00000000e+00   0.00000000e+00   6.06587795e+32  -1.10699515e+33
  -1.55245133e+34              inf  -1.52569936e+33  -3.43926080e+33
  -1.92332051e+32  -2.73996151e+32  -2.57570880e+33  -3.64962271e+33
...

рдЕрдиреНрдп рдорд╢реАрди рдкрд░ (рдЬреЛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ), рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рд╕рднреА рдПрдХ рд╣реА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рдмрд╛рдж <0 рд╣реИрдВред рддреЛ, рдХрд┐рд╕реА рднреА рддрд░рд╣ _gradient_descent рдлрд╝рдВрдХреНрд╢рди рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдХрд┐рд╕реА BLAS рдЪреАрдЬ рдХреЗ рдХрд╛рд░рдг)ред

рд╣рдореНрдо, рдкрд╛рдЗрдк рдХреЗ рдкрд╣рд┐рдП рд╕реЗ рднрд┐рдиреНрди рдХреЛрдВрдбрд╛-рд╕реНрдХрд┐рдЯ-рд╡рд░реНрдЬрди рд╕рдВрд╕реНрдХрд░рдг рдХреИрд╕реЗ рд╣реЛрдЧрд╛? рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдж рд╡рд╛рд▓реЗ рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдбрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ

рдкрд╛рдЗрдк рдХреЗ рдкрд╣рд┐рдпреЗ OpenBLAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдХреЛрдВрдмрд╛ рдХреЗ рд╕рд╛рде OpenBLAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ ( nomkl рдЯреНрд░рд┐рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЗрд╕рд▓рд┐рдП рдпрд╣ MKL рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕рдВрднрд╡рддрдГ CPU-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдорд╣рд╛рди рдХрд╛рдо! рдмреЛрдирд╕ рдЕрдВрдХ рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рдФрд░ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ inf рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдЙрдард╛рдХрд░)ред Sklearn / рдореИрдирд┐рдлреЛрд▓реНрдб / _barnes_hut_tsne.pyx рдореЗрдВ рдХреБрдЫ рд╕рд╛рдЗрдерди рдХреЛрдб рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рд┐рдд рд╣реИред

рдХреНрдпрд╛ рдирд╡реАрдирддрдо рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореИрдВрдиреЗ рдЗрд╕реЗ рднреА рд╣рд┐рдЯ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдиреЙрдорд▓ рдЯреНрд░рд┐рдХ рдХреЗ рд╕рд╛рде рдкрд╛рд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рднреА рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдХреНрд░рд┐рдп рдмрдЧ рдмрдирд╛рдо рдПрдХ рдмрдВрдж рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ, рдирд╣реАрдВ?

рдЕрдиреНрдп рд▓реЛрдЧ рдЬреЛ рдЗрд╕реЗ рдорд╛рд░ рд░рд╣реЗ рд╣реИрдВ: https://discussions.udacity.com/t/assignment-5-error-in-the-main-code-valueerror-array-must-not-contain-infs-or-orans/178187 / 7

рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ред рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рдПрдХ рд╣реИ, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдХреЛрд░ рджреЗрд╡реЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдпрд╣ рддрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЖрдЧреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдирд┐рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВред

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдорд╣рд╛рди рдХрд╛рдо! рдпрджрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рдФрд░ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдмреЛрдирд╕ рдЕрдВрдХ (рдЬреИрд╕реЗ рдХрд┐ рд╕реВрдЪрдирд╛ рдХреЗ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рдЙрдард╛рдХрд░)ред Sklearn / рдореИрдирд┐рдлреЛрд▓реНрдб / _barnes_hut_tsne.pyx рдореЗрдВ рдХреБрдЫ рд╕рд╛рдЗрдерди рдХреЛрдб рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рд╕рдВрднрд╛рд╡рд┐рдд рд╣реИред

рдореИрдВ рд╕рднреА рдирд╡рдВрдмрд░ рдХреА рд╕рдордпрд╕реАрдорд╛ рдХреЗ рдмрд╛рдж рджрд┐рд╕рдВрдмрд░ рдореЗрдВ рдЗрд╕реЗ рдЖрдЧреЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реВрдВ ... рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕реЗ рдФрд░ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рддреЛ рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдкрд╡рд╛рдж / рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЙрдард╛рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЛрдЯ рдХреЗ рд╕рд╛рде infs рд╣реИрдВ?

рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдирдпрд╛ conda virtualenv рдмрдирд╛рдпрд╛ рд╣реИ рдФрд░ рд╕реНрдХреЗрдпрд░ рдХреЗ рдПрдХ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рддрд╛рдЬрд╝рдЧреА рд╕реЗ рд╕реНрдХрд┐рдХреА-рд▓рд░реНрди рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреНрд░реБрдЯрд┐ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред рдХреНрдпрд╛ MKL рдХреЗ рдмрдЬрд╛рдп OpenBLAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕реЗ рдбреЗрдк рд╕реНрдХреЗрд▓реЗрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдирд╡рдВрдмрд░ рдХреА рд╕рднреА рдбреЗрдбрд▓рд╛рдЗрди рдХреЗ рдмрд╛рдж рджрд┐рд╕рдВрдмрд░ рдореЗрдВ рдЗрд╕реЗ рдЖрдЧреЗ рджреЗрдЦ рдХрд░ рдореИрдВ рдЦреБрд╢ рд╣реВрдВ ...

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕реЗ рдФрд░ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИред

рдПрдХ рдлрд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рдПрдХ рдЙрдореНрдореАрдж рд╣реЛрдЧреА рдХрд┐ рдЕрдЧрд░ рд╣рдо рдЕрд▓рдЧ-рдерд▓рдЧ рдкрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рд╕рд╛рдЗрдмрд░ рдХреЛрдб рдХреЛ рдХрд╛рд░реНрдп-рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдПрдХ рдУрдкрдирдмреНрд▓рд╕ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдКрдкрд░ рдХреА рдУрд░ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд░реЗрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдкрд╣рд┐рдпреЛрдВ рдореЗрдВ рдУрдкрдирдмреНрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдкрд╡рд╛рдж / рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЙрдард╛рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреЛрдЯ рдХреЗ рд╕рд╛рде infs рд╣реИрдВ?

рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдореЗрдВ рдХреБрдЫ рд╕рд▓рд╛рд╣ рдЬреЛрдбрд╝рдирд╛ (рдХреЗрд╡рд▓ рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░), рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреНрдпрд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╢рд╛рдпрдж "рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдХрд╛-рд╕реАрдЦрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░" рдЗрд╕ тАЛтАЛрддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рдХреНрдпрд╛ MKL рдХреЗ рдмрдЬрд╛рдп OpenBLAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реЛрд░реНрд╕ рдХреЛрдб рд╕реЗ рдбреЗрдк рд╕реНрдХреЗрд▓реЗрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ?

@zhongyuk рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХреМрди рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХреА рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд░реЛрдд рд╕реЗ рд╕реНрдХрд┐рдЯрд┐рдЯ-рд▓рд░реНрди рдмрдирд╛рдпрд╛ рд╣реИ, ldd рдХреЗ рдмрд░рд╛рдмрд░ рдЪрд▓рдирд╛ рд╣реИ (Google otool -L рдкрд░ sklearn/cluster/_k_means.so (рдирд╛рдо рдЕрд▓рдЧ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдкрд╛рдпрдерди 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд sklearn/cluster/_k_means.cpython-35m-x86_64-linux-gnu.so рдЬреИрд╕рд╛ рдХреБрдЫ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдЙрдмрдВрдЯреВ рдорд╢реАрди рдкрд░, рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:

sklearn/cluster/_k_means.so:
        linux-vdso.so.1 =>  (0x00007ffc2312a000)
        libmkl_intel_lp64.so => /home/lesteve/miniconda3/envs/py27/lib/libmkl_intel_lp64.so (0x00007fadc2865000)
        libmkl_intel_thread.so => /home/lesteve/miniconda3/envs/py27/lib/libmkl_intel_thread.so (0x00007fadc0ee4000)
        libmkl_core.so => /home/lesteve/miniconda3/envs/py27/lib/libmkl_core.so (0x00007fadbf483000)
        libiomp5.so => /home/lesteve/miniconda3/envs/py27/lib/libiomp5.so (0x00007fadbf139000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fadbeeeb000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fadbebe1000)
        libpython2.7.so.1.0 => /home/lesteve/miniconda3/envs/py27/lib/libpython2.7.so.1.0 (0x00007fadbe7fa000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fadbe431000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fadbe22c000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fadbe016000)
        /lib64/ld-linux-x86-64.so.2 (0x0000563bdeda1000)
        libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fadbde12000)

рддреЛ рдЖрдк рддреАрд╕рд░реА рдкрдВрдХреНрддрд┐ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐ рдпрд╣ рдПрдордХреЗрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреНрдпрд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "conda рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ MKL рдХреЗ рд╕рд╛рде рд╕реНрдХрд┐рдХрд┐рдЯ-рдЗрдирд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ" рдпрд╛ рдРрд╕рд╛ рд╣реА рдХреБрдЫред

рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдлрд╝реНрд▓рд┐рдк рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ: рдкрд╣рд┐рдпреЛрдВ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рддрдм рд╣реБрдИ рдЬрдм рдореИрдВ рдЗрд╕реЗ рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ ... рдЕрдм, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ: рдореИрдВ рдмрд╕ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЙрдкрд░реНрдпреБрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ

import numpy as np
from sklearn.manifold import TSNE

np.random.seed(1)

a = np.random.uniform(size=(100, 20))
TSNE(n_components=2, random_state=1).fit_transform(a)

рдФрд░ рдореБрдЭреЗ рдЕрдм рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреБрдЫ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рджреВрд╕рд░реЗ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдорд┐рдиреАрдХреЛрдиреНрдбрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреЗ рдХреЙрдиреНрдбрд╛ рдореЗрдВ рдХрд┐рд╕реА рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдХреБрдЫ рдЕрдиреНрдп рд▓реЛрдЧ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдпрд╣ рдореБрджреНрджрд╛ рдерд╛, рд╢рд╛рдпрдж рдХреЙрдиреНрдбрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ / рдкреБрдирдГ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реИред рдЗрд╕ рдмреАрдЪ, рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдПрдХ рдкреБрд░рд╛рдирд╛ рдмреИрдХрдЕрдкрд╕реНрдЯреИрдЯ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХреМрди рд╕рд╛ рдХреЛрдВрдбрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред (рдЕрднреА, рдореЗрд░реЗ рдкрд╛рд╕ conda 4.2.12 рд╣реИ)

рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ otool -L sklearn/manifold/_barnes_hut_tsne.so (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ t_sne.py рд╕рдВрдХрд▓рд┐рдд рдлрд╝рд╛рдЗрд▓ рд╣реИ?), рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ BLAS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдФрд░ рдЬреЛ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджрд┐рдпрд╛, рд╡рд╣ рдПрдордХреЗрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж conda рд╕рдВрд╕реНрдХрд░рдг 4.2.13 рд╣реИ, рджреЛрдиреЛрдВ env рдЬреЛ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХрддреЗ рд╣реИрдВ рдФрд░ env рд╕реНрд░реЛрдд рдирд┐рд░реНрдорд┐рдд рд╕реНрдХреЗрд▓реЗрд░ рдХреЗ рд╕рд╛рде (рдЬреЛ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдлреЗрдВрдХрддреЗ рд╣реИрдВ) conda рдХреЗ рдЕрдВрджрд░ рд╣реИрдВред

рд╣рдореНрдо, рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рдпрд╣ рд╕рдм рдХреЗ рдмрд╛рдж рдПрдХ conda рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ ... рдЙрддреНрд╕реБрдХ рдХреНрдпреЛрдВ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: /
(рд╕рднреА рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ (рдХреЛрдВрдбрд╛ рдХреЛ рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рд░рд┐рдмреВрдЯ рд╣реЛ рд░рд╣рд╛ рдерд╛: рдкреА)

рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдлрд╝реНрд▓рд┐рдк рдХрд░ рдЧрдП: рдкрд╣рд┐рдпреЛрдВ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рддрдм рд╣реБрдИ рдЬрдм рдореИрдВ рдЗрд╕реЗ рдПрдордХреЗрдПрд▓ рдХреЗ рд╕рд╛рде рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛

рд╣рд╛рдБ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЦреЗрдж рд╣реИред рдореИрдВ рдЕрдЧрд▓реА рдмрд╛рд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╢реАрд░реНрд╖рдХ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВрдБрдЧрд╛ред

рд╣рдореНрдо, рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рдпрд╣ рд╕рдм рдХреЗ рдмрд╛рдж рдПрдХ conda рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ ... рдЙрддреНрд╕реБрдХ рдХреНрдпреЛрдВ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: /
(рд╕рднреА рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ (рдХреЛрдВрдбрд╛ рдХреЛ рдкреБрди: рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рд░рд┐рдмреВрдЯ рд╣реЛ рд░рд╣рд╛ рдерд╛: рдкреА)

рд╣рдореНрдо, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреБрдорд╛рди рд╢рд╛рдпрдж mkl рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ conda info mkl рдирд╡реАрдирддрдо mkl рд╕рдВрд╕реНрдХрд░рдг (11.3.3) рдХрд╛ рдЙрддреНрдкрд╛рджрди 2016-05-13 рд╕реЗ рд╣реИред

@zhongyuk рдПрдХ conda env рдХреЗ рдЕрдВрджрд░ scikit-learn рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ mkl рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ mkl рдХреЛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╢рд╛рдпрдж рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ make clean рдФрд░ рдлрд┐рд░ make in рдЦрд░реЛрдВрдЪ рд╕реЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред

@ рд▓реЗрд╕реНрдЯрд╡реЗ I рдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб (рд╢рд╛рдЦрд╛ 0.18 рд░рд┐рд▓реАрдЬ) рд╕реЗ рджреЛ рдХреЙрдиреНрдбрд╛ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди рдмрдирд╛рдпрд╛, рдЬреЛ рдПрдордХреЗрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ; рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ libBLAS рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдлреЗрдВрдХрддрд╛ рд╣реИред

рдЖрдЙрдЯрдкреБрдЯ otool -L sklearn/manifold/_barnes_hut_tsne.so рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдпрджрд┐ MKL рд╕рдВрд╕реНрдХрд░рдг рдХреЛрдИ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ?)

``@rpath/libmkl_intel_lp64.dylib (рд╕рдВрдЧрддрддрд╛ рд╕рдВрд╕реНрдХрд░рдг 0.0.0, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 0.0.0)
@ rpath / libmkl_intel_thread.dylib (рд╕рдВрдЧрддрддрд╛ рд╕рдВрд╕реНрдХрд░рдг 0.0.0, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 0.0.0)
@ rpath / libmkl_core.dylib (рд╕рдВрдЧрддрддрд╛ рд╕рдВрд╕реНрдХрд░рдг 0.0.0, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 0.0.0)
@ rpath / libiomp5.dylib (рд╕рдВрдЧрддрддрд╛ рд╕рдВрд╕реНрдХрд░рдг 5.0.0, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 5.0.0)
/usr/lib/libSystem.B.dylib (рд╕рдВрдЧрддрддрд╛ рд╕рдВрд╕реНрдХрд░рдг 1.0.0, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 1226.10.1)

@zhongyuk рдорд╣рд╛рди! рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдк conda list '(mkl|cython|numpy|scipy)$' (рдЕрдкрдиреЗ MKL conda рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ) рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЬрдмрдХрд┐ рд╣рдо рдЗрд╕рдореЗрдВ рдЖрдкрдХреА CPU рдЬрд╛рдирдХрд╛рд░реА (Google рдХреЗ рдЕрдиреБрд╕рд╛рд░ sysctl -n machdep.cpu.brand_string ) рдФрд░ рдЖрдкрдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреА рдЬрд╛рдирдХрд╛рд░реА ( python -c 'import platform; print(platform.platform())' ) рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╣реЛрдЧреАред

рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ @rabst рдХреЛ рд░реЛрдХрдирд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реИ:
https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -258311980

рдЪреВрдВрдХрд┐ рдпрд╣ рдмреАрдПрд▓рдПрдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдореЗрд░рд╛ рдХреВрдмрдбрд╝ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд▓рд╛рдЗрди рдореЗрдВ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдврд╛рд▓ рдХреБрдЫ рдЧреИрд░-рдкрд░рд┐рдорд┐рдд рдореВрд▓реНрдп рд╣реИред

рдХрдВрдбреЛрдо MKL рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ

Cython                    0.25.1                    <pip>
mkl                       11.3.3                        0  
numpy                     1.11.1                    <pip>
numpy                     1.11.1                   py27_0 
scipy                     0.18.1              np111py27_0 

CPU рдЬрд╛рдирдХрд╛рд░реА: Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЬрд╛рдирдХрд╛рд░реА: Darwin-15.4.0-x86_64-i386-64bit

рдореИрдВ рдзреАрд░реЗ-рдзреАрд░реЗ рд╡рд┐рд╕реНрдлреЛрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдореБрджреНрджреЗ рдкрд░ @rabst рдиреЗ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдФрд░ рдХрднреА-рдХрднреА рдпрд╛ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдИ рдЧрдИ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкрд╛рдпрд╛, рдореИрдВ рд╕рднреА рдХреЛ рдХрд┐рд╕реА рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рд╕рд╛рде рдЕрдкрдбреЗрдЯ рд░рдЦреВрдВрдЧрд╛ред

@zhongyuk рдпрджрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рд╕реЗрдЯрдЕрдк рд╣реИ (рдорд┐рдиреАрдХреЛрдиреНрдбрд╛ рдХреЛ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдм рдФрд░ рдирд╣реАрдВ рджреЛрд╣рд░рд╛ рд╕рдХрддрд╛ рд╣реИ), рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ OS X El Capitan рдХреЗ рдмрдЬрд╛рдп macOS Sierra рд╣реИ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ 1.11.1 рдХреЗ рдмрдЬрд╛рдп 1.11.2 рдЕрдВрдХ рд╣реИред ред

@rasbt рд╣рдореНрдо, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╕рдорд╕реНрдпрд╛ рд╕рд┐рдПрд░рд╛ рдореЗрдВ рдЪрд▓реА рдЬрд╛рддреА рд╣реИ ... рдореИрдВ рдУрдПрд╕ рдХреЛ рдЕрднреА рддрдХ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ b / z рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ TensorFlow рд╕рд┐рдПрд░рд╛ рдХрд╛ рдЕрднреА рддрдХ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрдм рд╕рдЪ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдм рдХреЗ рдмрд╛рдж рд╕реЗ рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдХрд╣рд╛рдБ рдпрд╛ рдХрд┐рддрдиреЗ рд╕рдордп рдкрд╣рд▓реЗ рдкрдврд╝рд╛ рдерд╛)? рдФрд░ рдореИрдВ TF рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛

@ рд╣рдЬрд╝реЛрдВрдЧреНрдпреБрдХ рд╣рдореНрдо, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдорд┐рдиреАрдХреЛрдиреНрдбрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛, рдореБрдЭреЗ macOS рд╕рд┐рдПрд░рд╛ рдореЗрдВ рднреА рд╕рдорд╕реНрдпрд╛ рдереАред рдкреБрдирд╢реНрдЪ: рдЯреЗрдиреНрд╕рд░рд╛рдлрд╝реНрд▓реЛ рд╕рд┐рдПрд░рд╛ рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ рд╕реАрдкреАрдпреВ рдФрд░ рдЕрдкрдиреЗ рдореИрдХ рдкрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рд┐рдПрд░рд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд GPU рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ

@rasbt рд╣рдореНрдо, рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ TF рд╕рд┐рдПрд░рд╛ рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ otool -L sklearn/manifold/_barnes_hut_tsne.so рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕реА рдЧрдгрд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдХреЗрд▓реЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ? рдХрдо рд╕реЗ рдХрдо рдЙрд╕ рддрд░рд╣ рд╕реЗ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ рд╣реИ рдЬрдм рдорд┐рдиреАрдХреЛрдиреНрдбрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ?

рдореИрдВ _barnes_hut_tsne.cpython-35m-darwin.so рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

    @rpath/libmkl_intel_lp64.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libmkl_intel_thread.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libmkl_core.dylib (compatibility version 0.0.0, current version 0.0.0)
    @rpath/libiomp5.dylib (compatibility version 5.0.0, current version 5.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

@rasbt рд╣рдореНрдо, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдпрд╣ рдПрдордХреЗрдПрд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдЧрдгрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ ... @lesteve рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рдкрд╛рдПрдЧрд╛?

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореЗрд░реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ libmkl_intel_lp64.dylib рд▓реЛрдб рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ ... рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдиреЗ?

рд╡рд╛рд╣, рд╣рд╛рдБ! рдпрд╣ libmkl_intel_lp64.dylib рд▓реЛрдб рди рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ !!! рдореБрдЭреЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдпрд╣ рдзрд╛рдЧрд╛ рдорд┐рд▓рд╛ рдФрд░ рдлрд┐рд░ conda install --debug mkl рднрд╛рдЧрд╛, рдлрд┐рд░ otool -L sklearn/manifold/_barnes_hut_tsne.so рдлрд╝рд╛рдЗрд▓ рдкрд░ рднрд╛рдЧрд╛, рдлрд┐рд░ libmkl_intel_lp64.dylib рд▓реЛрдб рд╣реБрдЖ, рдФрд░ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рднрд╛рдЧрд╛ , рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЧрдИ! рдкрд╛рдБрдЪ рдЯреАрдо рдХрд╛рдо рд╣реИ! @rasbt

рдпрджрд┐ рдХреЛрдИ рдФрд░ рдЕрдкрдиреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ libmkl_intel_lp64.dylib рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛ рдЧрдИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!

@lesteve рдЪреВрдБрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реА ppl рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдорд╛рд░рд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ (рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?) conda рдкреВрд░реНрдг MKL рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИ (рдЕрдм рддрдХ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдореЗрд░реА рд╕рдордЭ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ? scikit-learn bug, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ (OS X) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рдЪреЗрддрд╛рд╡рдиреА рдпрд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдЬреЛрдбрд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛? рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рд╡реЗ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдордХреЗрдПрд▓ рдХрд╛ рджрд╛рдпрд┐рддреНрд╡ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдирдХреЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ?

@zhongyuk рднрдпрд╛рдирдХ, рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд╕рдВрдХреАрд░реНрдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ! рдЙрдореНрдореАрдж рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл libmkl_intel_lp64.dylib рдХреА рдЯреВрдЯреА рд╣реБрдИ рдХрдбрд╝реА / рдЕрдзреВрд░реА рд╕реНрдерд╛рдкрдирд╛ рд╣реИ - рдпрд╣ рднрдпрд╛рдирдХ рд╣реЛрдЧрд╛ (рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ) :)ред рдпрд╣ рднреА рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдорд┐рдирд┐рдХреЛрдВрдбрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ... рдпрджрд┐ рдХреЛрдИ рдФрд░ рд╡реНрдпрдХреНрддрд┐ "рдареАрдХ рдХрд░рдиреЗ" рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд libmkl_intel_lp64.dylib рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рд╣реИ, рддреЛ рд╢реЗрд╖ рдкреНрд░рд╢реНрди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯрд╛ рдЬрд╛рдПред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдпрд╣ "рдмрдЧ" рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдШреГрдгрд┐рдд рд╣реИ рдФрд░ рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ libmkl_intel_lp64.dylib ред рдореИрдВ рд╢рд╛рдпрдж рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд "рдЗрдВрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛" рдЕрдЧрд░ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдореЗрдВ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЙрдард╛рдирд╛ + рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИ "рддреЛ рд╕реАрдЦреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рдХрд╖реНрдЯрдкреНрд░рдж рдкреНрд░рджрд░реНрд╢рди-рд╡рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝рдирд╛ рдФрд░ / рдпрд╛ рдЯреА-рдПрд╕рдПрдирдИ рдбреЙрдХреНрд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред

рдмрд╕ рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрдкрдбреЗрдЯ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдореЗрд░реЗ рдкрд╛рд╕ MKL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рджреЛрдиреЛрдВ рдореЗрдВ 2 рд╡рд░реНрдЪреБрдЕрд▓ рдПрдирд╡реАрдпреВ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ numpy 1.11.1 рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ numpy 1.11.2 ред otool -L рдЪрд▓рдирд╛ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдиреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ libmkl_intel_lp64.dylib рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред libmkl_intel_lp64.dylib рднрд░реА рд╣реБрдИ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рддреНрд░реБрдЯрд┐ numpy 1.11.2 рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдПрдирд╡реА рдореЗрдВ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИред рд╣рд╛рд▓рд╛рдБрдХрд┐, env numpy 1.11.1 рд╕рд╛рде рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд░рд╣реАред numpy 1.11.2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрдм conda рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЬрдЯрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рдЯреАрдХ рдХрд╛рд░рдг рдЕрднреА рднреА рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ, рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЕрдкреВрд░реНрдг рдПрдордХреЗрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рд╕реНрдХрд┐рдЯрд┐рдЯ-рдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рд╕рдВрднрд╡рдд: рдЦрд╕реНрддрд╛?) рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рд╡реНрдпреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ MKL рдФрд░ numpy 1.11.1 рд╕рд╛рде рдПрдХ virtualenv рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред)

рдФрд░ рдореИрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреЛрдЯ, рдЯрд┐рдкреНрдкрдгреА рдпрд╛ рдбреЙрдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рджреВрд╕рд░рд╛ @rasbt рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ!

@zhongyuk рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рддрдп рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдХреБрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдХреА рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рдирд╣реАрдВ рд╣реИ :(

рдпрд╣ рдПрдХ рдХреЛрдВрдбрд╛ рдмрдЧ рд╣реИ, рд╣реИ рдирд╛? рдпрд╛ рдХрд┐рд╕реА рдиреЗ рдмрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛?

рдореИрдВ рдПрдХ рдРрд╕рд╛ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЦрд╕реНрддрд╛ рдкрд╣рд┐рдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдФрд░ рдлрд┐рд░ рд╕реНрдХрд┐рдЯрд┐рдЯ-рд╕реАрдЦрддрд╛ рд╣реВрдВ, рдЗрд╕рдХреЗ рдКрдкрд░ рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдЦрддрд╛ рд╣реВрдВ (https://github.com/scikit- рдореЗрдВ conda list рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рд╛ рд╣реИ- learn / scikit-learn / issues / 6665 # рдЬрд╛рд░реАрдХрд░рдг -262800762 рдЬрд╣рд╛рдВ рджреЛ numpy рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ)ред

conda create -n tmp python=3 -y
. activate tmp
pip install numpy -y
conda install scikit-learn -y

рдЙрд╕рдХреЗ рдмрд╛рдж рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -262800762 рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдФрд░ рдХреЛрдВрдбрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдЦрдЯреНрдЯрд╛ рдорд┐рд╢реНрд░рдг рдХрд░рддреЗ рд╕рдордп рдРрд╕рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореЗрд░реА рдкреБрд╕реНрддрдХ рдореЗрдВ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдФрд░ рдХреЛрдВрдбрд╛ рдХреЛ рдорд┐рд▓рд╛рдирд╛ рдХрднреА рднреА рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рд╛рдХрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдк рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ conda рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ scikit-learn )ред

рдРрд╕рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ ... рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ OSX рдкрд░ рд╣реА рд╣реЛрддрд╛ рд╣реИ (рдпрд╛рдиреА рдореЗрд░реЗ рдЙрдмрдВрдЯреВ рдмреЙрдХреНрд╕ рдкрд░ рдирд╣реАрдВ)ред

рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА, рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

conda remove numpy --force -y
pip uninstall numpy -y
conda install numpy

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЧрд╣рд░реА рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж (рдлрд┐рд░ рд╕реЗ!) @Lesteve

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╣рдо рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреА рддрд╣ рддрдХ рдХрднреА рдирд╣реАрдВ рдкрд╣реБрдБрдЪреЗрдВрдЧреЗ :)! рдареАрдХ рд╣реИ рдпрд╣ рдХрд╛рдлреА рдиреАрдЪреЗ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореЗрд░рд╛ рд╕рдВрдмрдВрдз рд╣реИ, рдпрд╣ рдХрд╛рдлреА рдХрдо рд╣реИред

рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдЕрднреА рднреА рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рдЗрдк рдФрд░ рдХреЛрдВрдбрд╛ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд╕реБрдиреНрди рдХреЗ рднреАрддрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ ...

рдирдорд╕реНрддреЗ
рдореИрдВрдиреЗ рджреЛ рд╕реЗрдЯрдЕрдк рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдХрд╣рд╛рдБ

  • TSNE рдПрдХ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ Tensorflow de-рд╕рдХреНрд░рд┐рдп рд╣реИ, Python-3.x), рд╣рд╛рд▓рд╛рдБрдХрд┐,

  • TSNE рджреВрд╕рд░реЗ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ Tensorflow рд╕рдХреНрд░рд┐рдп рд╣реИ, рдкрд╛рдпрдерди 2.x)ред

TSNE рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рдЯрд░реНрдорд┐рдирд▓:

Macbook:~ BG$ which jupyter
/Users/BG/anaconda/bin/jupyter

рдмреГрд╣рд╕реНрдкрддрд┐ рдиреЛрдЯрдмреБрдХ:

import sys
print (sys.version)

>

3.5.2 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:52:12) 
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)]

рдиреЛрдЯ: рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА

conda remove numpy --force -y
pip uninstall numpy -y
conda install numpy

TSNE рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде TSNE рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдирдП рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде (рдЬрд╣рд╛рдБ рдореБрдЭреЗ Tensorflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ), рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрдзрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
-------------------------------

рд╡рд╣ рд╕реЗрдЯ рдЬрд╣рд╛рдВ TSNE рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

рдЯрд░реНрдорд┐рдирд▓:

Macbook:~$ source activate tensorflow
(tensorflow) Macbook:~$ which jupyter
/Users//anaconda/envs/tensorflow/bin/jupyter
(tensorflow) Macbook:~$ 

рдмреГрд╣рд╕реНрдкрддрд┐ рдиреЛрдЯрдмреБрдХ:

import sys
print (sys.version)

>

2.7.13 |Continuum Analytics, Inc.| (default, Dec 20 2016, 23:05:08) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]

рддреНрд░реБрдЯрд┐ :
ValueError: array must not contain infs or NaNs

рдХреЛрдИ рд╕реБрдЭрд╛рд╡ ? рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж

рджрд┐рд▓рдЪрд╕реНрдкред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЯреЗрдВрд╕реЛрдлрд╝реНрд▓реЛ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ; рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐

[GCC 4.2.1 рд╕рдВрдЧрдд Apple LLVM 4.2 (рдХреНрд▓реИрдВрдЧ -425.0.28)]

рдмрдирд╛рдо

[GCC 4.2.1 рд╕рдВрдЧрдд Apple LLVM 6.0 (рдХреНрд▓реИрдВрдЧ -600.0.57)]

рдЕрдкрд░рд╛рдзреА рд╣реИ ?!

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :) рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╕рдорд╛рдзрд╛рди / to_do_list?

рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рдФрд░
TSNE
рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ ...ред

BTW: рд╕рд┐рд░реНрдл рдкрд╛рдпрдерди 2.x рдореЗрдВ "__future__ рдЖрдпрд╛рдд рдбрд┐рд╡реАрдЬрди рд╕реЗ" рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рд╣рдореНрдо, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд┐ рдЕрдЧрд░ рдорджрдж рдХрд░рддрд╛ рд╣реИ - рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдпрд╣ рд░рд╣рд╕реНрдпрдордп рдореБрджреНрджрд╛ рдЕрдм рдФрд░ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ

Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 20:51:01) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin

рдореИрдВ Tf (рдЕрдм 1.0) рдкрд░ рднреА рд╣реВрдВ, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ Error: ValueError: array must not contain infs or NaNs рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ

import numpy as np
from sklearn.manifold import TSNE

np.random.seed(1)

a = np.random.uniform(size=(100, 20))
TSNE(n_components=2, random_state=1).fit_transform(a)

рдЬреЛ рдкрд╣рд▓реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рдЕрдЬрдЧрд░ 3.5 рдПрдирд╡реА рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдЙрдкрд░реНрдпреБрдХреНрдд рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

conda create -n yourenv python=3.5 numpy scipy scikit-learn
source activate yourenv
pip install tensorflow(-gpu)

рд╣рд╛рдп рд░рд╕рдм,
рд╣рд╛рдБ рдореИрдВрдиреЗ рдкрд╛рдпрдерди 3.5 рдкрд░ TSNE рдХрд╛рдо рдХрд┐рдпрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░рдг рд╕реЗ рдореИрдВ рдмреЗрд╣рддрд░ рдкрд╛рдпрдерди 2.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рд╣реЛрдЧрд╛

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреБрд░рд╛рдирд╛ (рдПрд░) рдорд┐рдирд┐рдХреЛрдВрдбрд╛ / рдПрдирд╛рдХреЛрдВрдбрд╛ 2.7 рдбрд┐рд╕реНрдЯреНрд░реЛ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХрд┐рд╕реА рдПрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рдпрд╛ рдЕрдкрдиреЗ рдХреЛрдВрдбрд╛ рд░реВрдЯ рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдЬрдЧрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдФрд░ рдкреНрд░рдпрд╛рд╕ рджреЗрдВ (рдпрд╛ 3.5% conda create -n yourenv python=3.5 numpy scipy scikit-learn 2.7 рдореЗрдВ LLVM 4.2 (clang-425.0.28) рдПрдХ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; рдХреНрдпреЛрдВрдХрд┐ рддреНрд░реБрдЯрд┐ [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)

рдЕрдкрдбреЗрдЯ: TSNE (perplexity = 30, n_compenders = 2, init = 'pca', n_iter = 1000, method = 'exact' ) рдЗрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ ...
рд╡рд┐рдзрд┐ = 'рд╕рдЯреАрдХ' рдЪрд╛рд▓ рдереАред

рд╕рд╛рде рд╣реА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд░рд╣реА рд╣реИред рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ = 'рд╕рдЯреАрдХ' рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рджрд░реНрджрдирд╛рдХ рд░реВрдк рд╕реЗ рдзреАрдорд╛ рд╣реИред рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд╛рдпрд╛ рд╣реИ?

рдХреНрдпрд╛ рдЖрдкрдиреЗ https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -264029983 рдФрд░ https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -264087057 рдкрдврд╝рд╛ рд╣реИред ?

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд╡рд╣ рдПрдХ рд╣реА рдХреЛрдВрдбрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд╛рдЗрдк рдФрд░ рдХреЛрдВрдбрд╛ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕реБрдкреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рдпрджрд┐ рдЖрдк рдЦрд░реЛрдВрдЪ рд╕реЗ рдПрдХ рдХреЛрдВрдбрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рд╡рд┐рд╡рд░рдг рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдХреЙрдиреНрдбрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдП рдЧрдП рд╕рдЯреАрдХ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирдорд╕реНрддреЗ,
рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдкрд╣рд▓реЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдЕрдм рдпрд╣ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЕрдм рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ:

from sklearn.manifold import TSNE
a = [[1,2,3],[4,5,6], [7,8,9]]
TSNE(n_components=2,).fit_transform(a)

рдФрд░ рдХрд╛ рдЙрддреНрдкрд╛рджрди

import platform; print(platform.platform())
import sys; print("Python", sys.version)
import numpy; print("NumPy", numpy.__version__)
import scipy; print("SciPy", scipy.__version__)
import sklearn; print("Scikit-Learn", sklearn.__version__)

рд╣реИ

Darwin-16.5.0-x86_64-i386-64bit
Python 3.6.0 |Anaconda 4.3.0 (x86_64)| (default, Dec 23 2016, 13:19:00) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]
NumPy 1.12.1
SciPy 0.19.0
Scikit-Learn 0.18.1

рдлрд┐рд░, рд╕рдЯреАрдХ ( TSNE(method='exact') ) рд╡рд┐рдзрд┐ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИред

рдЕрдзрд┐рдХ рдЖрдо рддреМрд░ рдкрд░, рдореИрдВрдиреЗ рд▓реЛрд░реЗрдВрд╕ рд╡реИрди рдбреЗрд░ рдорд╛рддреЗрди рдФрд░ MATLAB рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд bh рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕реНрдХреЗрд▓реЗрд░ рдХреЗ TSNE (рдкрд╣рдЪрд╛рди рдХреА рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдФрд░ рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдмреЗрддрд╣рд╛рд╢рд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╕рдВрдмрдВрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдЖрдкрдиреЗ https://github.com/scikit-learn/scikit-learn/issues/6665#issuecomment -264087057 рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛

рдпрд╣ рддрдп рд╣реИред рдореЗрд░реА рдХреНрд╖рдорд╛рдпрд╛рдЪрдирд╛ - рдореИрдВрдиреЗ рдЕрд▓рдЧ рд╕реЗ рдПрдХ рдкреБрдирдГ рд╕рдВрдХрд▓рд┐рдд рд╕реБрдиреНрдирдд, рд╕реНрдХрд┐рдХрд┐рдЯ рд╕реАрдЦреЗрдВ рдФрд░ рдбрд░рд╛ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди 6665 рдореЗрдВ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдмрддрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рди рд╣реА рдерд╛, рдФрд░ рдореИрдВ рдХреЙрдиреНрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред

рдореЗрд░рд╛ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг macOS Sierra 10.12.4 рдкрд░ рдХрд╛рдврд╝рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

Python 3.6.1
scipy==0.19.0
scikit-learn==0.18.1
numpy==1.11.1

mode='exact' рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

@ рд▓реЗрд╕реНрдЯрд╡реЗрд╡ : рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА (рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП)ред рдмрд╕ рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЦрд╕рдЦрд╕ тАЛтАЛрдХреЗ conda рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд (1.12.1) рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЪрд╛рд▓ рдЪрд▓реАред рдореИрдВ рдкрд╛рдЗрдк рдЦрд╕реНрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рд╣рдЯрд╛ рджрд┐рдпрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛ :)

@lesteve : рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдФрд░ рдлрд┐рд░ рдореБрдЭреЗ рдпрд╣ рдЪрд░реНрдЪрд╛ рдорд┐рд▓реАред рд╕реБрдиреНрди рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯреЗрдб рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВред

рджреЛрд╣рд░рд╛рдпрд╛ рдореИрдВ numpy рдФрд░ рдЕрджреНрдпрддрди conda рдХреА рдирд┐рдХрд╛рд▓реА рдЧрдИ рдкрд┐рдк рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рд╣реИред

рдбрд╛рд░реНрд╡рд┐рди-16.7.0-x86_64-i386-64bit
('рдкрд╛рдпрдерди', '2.7.13 | рдПрдирд╛рдХреЛрдВрдбрд╛ рдкреНрд░рдерд╛ (x86_64) | (рдбрд┐рдлрд╝реЙрд▓реНрдЯ, 20 рджрд┐рд╕рдВрдмрд░ 2016, 23:05:08) \ n [GCC 4.2.1 рд╕рдВрдЧрдд Apple LLVM 6.0 (рдХреНрд▓реИрдВрдЧ -600.0.57)]')
('NumPy', '1.13.1')
('SciPy', '0.19.0')
('рд╕реНрдХрд┐рдЯ-рд▓рд░реНрди', '0.18.1')

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрди рд▓рд┐рдирдХреНрд╕ рдкрд░ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ:
рд▓рд┐рдирдХреНрд╕ 3.0.101-0.47.71-default-x86_64-рд╕рд╛рде-SuSE-11-x86_64
('рдкрд╛рдпрдерди', '2.7.12 | рдПрдирд╛рдХреЛрдВрдбрд╛ 2.3.0 (64-рдмрд┐рдЯ)) (рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рдЬреБрд▓рд╛рдИ 2 2016, 17:42:40) \ n [GCC 4.4.7 20120313 (Red Hat 4.4.7-1) ] ')
('NumPy', '1.12.1')
('рд╕рд╛рдЗрдкреАрдкреА', '0.19.1')
('рд╕реНрдХрд┐рдХрд┐рдЯ-рд▓рд░реНрди', '0.18.1')

@wolfiex рддреЛ рдЖрдкрдиреЗ рдХрд┐рдпрд╛

conda remove numpy --force -y
pip uninstall numpy -y
conda install numpy

рдХреБрдЫ рд╣рдж рддрдХ рдореИрдВ рдЖрдкрдХреЛ scikit-0.19 рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ t-SNE рдореЗрдВ рдХреБрдЫ рд╕реБрдзрд╛рд░ рд╣реИрдВ

рдЕрдм рд╡рд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рд╣реИ

рд╣рд╛рдп @rahulsnair , рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреЛрдИ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХрд╛ рдорди рд╣реИ, рдЬреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреЛрдб, рдЖрдкрдХреЗ рдЯреНрд░реЗрд╕рдмреИрдХ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИ? рдпрд╣ рдореБрджреНрджрд╛ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдХреЛрдб рдмрд╣реБрдд рдмрджрд▓ рдЧрдпрд╛ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

yinruiqing picture yinruiqing  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dfee picture dfee  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

trchan picture trchan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

celiafish picture celiafish  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jrbourbeau picture jrbourbeau  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ