gpt4 book ai didi

python - Keras 拟合忽略 nan 值

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:51 25 4
gpt4 key购买 nike

我正在训练神经网络进行回归(1 个输入和 1 个输出)。让我们将 xy 分别作为通常的输入和输出数据集。

我的问题是 y 数据集(不是 x)有一些值设置为 nan,所以拟合为 nan。我想知道是否有一个选项可以忽略拟合中的 nan 值,类似于 numpy 函数 np.nanmean 来计算忽略 nans 等的平均值。

如果该选项不存在,我想我必须找到 nan 值并手动删除它们,同时删除 x 对应的值y 中的 nan 位置。

x       y
2 4
3 2
4 np.nan
5 7
6 np.nan
7 np.nan

在这个简单的示例中,应该删除 y 列中的 nan 值,同时删除 x 列中的相应值 (4, 6, 7)。

谢谢。

编辑:好的,我在过滤 nans 时遇到问题,我这样做:

for index, x in np.ndenumerate(a):
if x == np.nan:
print index, x

它不打印任何东西,我确定有 nan 值...

编辑( self 回答):好的,我找到了一种本地化 nans 的方法:

for index, x in np.ndenumerate(a):
if x != x:
print index, x

最佳答案

如评论中所述,只需删除 nan 作为预处理步骤:

import numpy as np

x = range(2,8)
y = [4,2,np.nan,7,np.nan,np.nan]

for a,b in zip(x,y):
if str(b) == 'nan':
x.remove(a)
y.remove(b)

print x,y

产生 [2, 3, 5] [4, 2, 7]

如果您正在使用某种工具来预处理为您提供 np.nan 的数据,请检查 API 是否允许您禁用此行为并花点时间思考这是否是 真正你想要的行为(或者如果你想将其映射到常量,因为你发现你的输入很有值(value),即使它们没有标签)。

关于python - Keras 拟合忽略 nan 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37747886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com