我正在訓練一個神經網絡做迴歸,(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