SpectralClustering ValueError: Вход содержит NaN, бесконечность или слишком большое значение dtype ('float64') - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь запустить алгоритм Dask SpectralClustering.Это дает мне следующую ошибку:

ValueError: Вход содержит NaN, бесконечность или слишком большое значение dtype ('float64')

Код, который я запускаю, это:

data = pd.read_csv('2017-06_FXR_1.tgz_clean.csv')
data_nonan=data.fillna(0)
from sklearn.preprocessing import StandardScaler
data_scaled = StandardScaler().fit_transform(data_nonan)
data_scaled_clusters=dask_ml.cluster.SpectralClustering(n_clusters=3).fit_predict(data_scaled)

Я избавился от всех значений NaN, но инфы нет, потому что я применил скалер к моим данным.

Я попытался data_scaled.isnull().any(), и получилось False, и ятакже пытался da.isinf(data_scaled).any(), это также было False.

Проблема возникла, когда я попытался da.isnull(data_scaled).any().Результатом этого был пустой массив.Эта последняя часть - то, что делает k_means, чтобы проверить массив, и я думаю, что это где проблема, но я не знаю, как ее решить.

Код, который выдает ошибку в проверочном массиве k_means, следующий:

if isinstance(X, np.ndarray):
        X = da.from_array(X, chunks=(max(1, len(X) // cpu_count()), X.shape[-1]))

    bad = (da.isnull(X).any(), da.isinf(X).any())
    if any(*compute(bad)):
        msg = (
            "Input contains NaN, infinity or a value too large for "
            "dtype('float64')."
        )
        raise ValueError(msg)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...