值对于 dtype('float64') sklearn.preprocessing 来说太大了。标准缩放器()



当我尝试在python中执行此操作时:

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)

我收到此错误:

值错误:输入包含 NaN、无穷大或值太大 dtype('float64'(

我知道有些帖子具有相同的标题,但大多数时候问题是因为数据是NaN,这在我的情况下并非如此,因为我尝试了下面的函数来判断是否有NaN或无穷大数字:

import numpy
numpy.isfinite(X_train).all()

其中X_train是我的浮点数组
(https://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.isfinite.html(

这是X_train中的数据类型。也许这些数据的范围从 -15 到 4000 左右太宽而无法进行缩放?

4068.725
4035.808
4067.000
4051.697
412761.343
101.905
4050.460
4067.000
-15.303
1.099
52.363
56.739
68.997
72.410
62.171
4052.077
4033.867
33.385
4050.690
4031.547
19.143
13.494
11.298
43.261

我的错,我想

numpy.isfinite(X_train).all()

如果所有值都是有限的而不是 NaN,则应返回 True,但它是假的。 找到偷偷摸摸的值的好方法太过像下面的代码:

numpy.argwhere(numpy.isnan(X_train))

(我在我的数组中发现了一些 NaN(。 感谢您顺便纠正我的问题,user3666197,我在这里退出了新手。