ошибка математического домена при использовании PCA

Я использую пакет Python Scikit-Learn для реализации PCA. Я получаю математику

domain error :
C:\Users\Akshenndra\Anaconda2\lib\site-packages\sklearn\decomposition\pca.pyc in _assess_dimension_(spectrum, rank, n_samples, n_features)
     78         for j in range(i + 1, len(spectrum)):
     79             pa += log((spectrum[i] - spectrum[j]) *
---> 80                       (1. / spectrum_[j] - 1. / spectrum_[i])) + log(n_samples)
     81 
     82     ll = pu + pl + pv + pp - pa / 2. - rank * log(n_samples) / 2.

ValueError: math domain error

Я уже знаю, что ошибка математической области вызвана, когда мы берем логарифм отрицательного числа, но я не понимаю здесь, как может быть отрицательное число внутри логарифма? потому что этот код отлично работает для других наборов данных. возможно, это связано с тем, что написано на веб-сайте sci-kitlearn: «Эта реализация использует реализацию разложения по сингулярным значениям scipy.linalg. Она работает только для плотных массивов и не масштабируется для данных больших размеров». количество 0 значений)

Ответы на вопрос(2)

Ваш ответ на вопрос