【发布时间】:2020-01-22 23:25:57
【问题描述】:
我有一个包含数字的数据集。但是当我尝试适应这个命令时:
model.fit(X_train, y_train)
我收到此错误:
输入包含 NaN、无穷大或对于 dtype('float32') 来说太大的值。
但我的数据集中没有空单元格。 未缩放数据_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]]
当我从这个数据集中删除浮点数时,问题就解决了。 但这不是解决方案。 我该怎么做才能避免这种情况?
谢谢。
【问题讨论】:
-
你的最大值和最小值是多少?
float32是否太大/太小??? -
错误已经提示了该怎么做:imputation,即你需要用其他一些值替换
NaN。 -
没有数字,我修复了@QuangHoang
-
None和NaN是两个不同的东西。 -
当然我修复了 self.data[self.data==np.inf]=np.nan self.data.fillna(0, inplace=True)
标签: python pandas scikit-learn dtype