Как я могу решить значение слишком большое для ошибки dtype ('float32')? Pandas - PullRequest
0 голосов
/ 22 января 2020

У меня есть набор данных, который содержит числа. Но когда я пытаюсь соответствовать этой команде:

model.fit(X_train, y_train)

я получаю эту ошибку:

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

Но в моем наборе данных нет пустых ячеек. Не масштабированный data_X

[[0 0 4 ... 0 -21.4 6]
 [1 0 2 ... 0 0.0 0]
 [0 0 2 ... 0 805.9 7]
 ...
 [1 0 2 ... 1 -20.2 0]
 [1 0 3 ... 1 1031.0 5]
 [0 1 3 ... 1 0.0 0]]

масштабированный X_train выглядит следующим образом:

 [[ 0.64649731 -0.63390308  0.74842646  0.41698984 -0.65263096]
 [-1.54679684 -0.63390308 -0.6061627   0.41698984 -0.65263096]
 [ 0.64649731  1.57752823  0.07113188  0.41698984  0.7140774 ]
 ...
 [ 0.64649731 -0.63390308 -0.6061627   0.41698984 -0.65263096]
 [-1.54679684 -0.63390308  0.07113188  0.41698984  0.7140774 ]
 [ 0.64649731 -0.63390308  0.74842646  0.41698984 -0.65263096]]

Когда я сбрасываю числа с плавающей точкой из этого набора данных, проблема решается. Но это не решение. Что я могу сделать, чтобы избежать этого?

Спасибо.

1 Ответ

1 голос
/ 22 января 2020

Попробуйте изменить значение для числа с плавающей точкой 32:

X_train= np.float32(X_train)

И / или заменить Nan и inf:

X_train=np.nan_to_num(X_train, nan=-9999, posinf=33333333, neginf=33333333)
...