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

Я пытаюсь запустить алгоритм 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()и вышло Ложь, и я тоже пытался da.isinf(data_scaled).any()Достоевский тоже был Ложным.

Проблема возникла, когда я пытался 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)

0 ответов

Другие вопросы по тегам