我正在训练一个神经网络做回归,(1个输入和1个输出)。我们的x
和y
分别是通常的输入和输出数据集。Keras拟合忽略nan值
我的问题是,y
数据集(而不是x
)有一些值设置为nan,所以拟合到nan。我想知道是否有一个选项可以忽略拟合中的nan值,类似于numpy函数np.nanmean
来计算忽略nans的平均值等等。
如果该选项不存在,我想我会找到NaN值并手动删除它们,,并在同一时间擦除对应楠位置y
在x
值。
x y
2 4
3 2
4 np.nan
5 7
6 np.nan
7 np.nan
在这个简单的例子在y列中的NaN值应被删除,并在同一时间在x列中的相应的值(4,6,7)。
谢谢。
编辑:好吧,我有一个问题过滤NaN的,我做的:
for index, x in np.ndenumerate(a):
if x == np.nan:
print index, x
,它不显示任何信息,我相信有NaN值...
EDIT(SELF回答):好吧,我已经找到一种方法,以本地化的NaN:
for index, x in np.ndenumerate(a):
if x != x:
print index, x
NAN真的有关联吗?否则,只需从训练数据中移除它们或将它们映射到特定的常量(如0或-1)。方式更容易,但结果与您的建议相同。 – runDOSrun
是的,我在想,但是应该在两列中删除这些值,所以你必须在阵列中找到nans的位置,然后擦除它们。然后你将不得不在x列中找到相应的位置并删除它们。 – David
我没有看到问题?如果你在y的第n行找到NAN,你也可以在x的第n行删除它。 – runDOSrun