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)