当我尝试在python中执行它时:
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
我收到此错误:
ValueError:输入包含NaN,无穷大或太大的值 D型细胞(' float64&#39)
我知道有些帖子的标题相同,但大多数时候问题都是因为数据是 NaN
,这不是我的情况,因为我试过下面的函数告诉我是否有NaN
或无穷大数字:
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
答案 0 :(得分:1)
我的坏,我想
numpy.isfinite(X_train.all())
如果所有的值都是有限的而不是NaN,那么应该返回True,但它是假的。 找到偷偷摸摸的价值观的好方法太容易理解下面的代码:
np.argwhere(np.isnan(X_train))
(我在我的阵列中发现了一些NaN)。 谢谢你顺便纠正我的问题,user3666197,我在这里退出了一个新手。