簡體   English   中英

“輸入包含 NaN、無窮大或對於 dtype 來說太大的值('float32')我的數據集中沒有 Nan 或空白,但仍然不允許我繼續

[英]"Input contains NaN, infinity or a value too large for dtype('float32')There are no Nan or blanks in my data set but still wont let me proceed

嘗試運行隨機森林回歸器 model 時,不斷收到錯誤“輸入包含 NaN、無窮大或對於 dtype('float32') 而言太大的值”。 我搜索了我的數據集,但看不到任何無限值或 NaN。 有什么建議么?

    [96]  df.replace([np.inf, -np.inf], np.nan, inplace=True)

    [98] df.fillna('mean', inplace=True)

    [100] model = RandomForestRegressor()
          model.fit(X_train, y_train)

任何建議將不勝感激,如果需要,請索取更多詳細信息。

謝謝

你檢查過這個答案嗎? https://datascience.stackexchange.com/questions/11928/valueerror-input-contains-nan-infinity-or-a-value-too-large-for-dtypefloat32

或者,錯誤表明數字對於 dtype('float32') 可能太大,您可以嘗試將它們轉換為 dtype('float64'),因為這樣可以將更大的數字存儲在 memory 中。

如果數據集中最大的數是91,我會嘗試重新定義X_train和y_train來排查問題。

X_train_new = []
for num in X_train:
    if num > 91 or num < -100:
        print('X_train', str(num))
        break
    X_train_new.append(float(num))

y_train_new = []
for num in y_train:
    if num > 91 or num < -100:
        print('y_train', str(num))
        break
    y_train_new.append(float(num))

model.fit(X_train_new, y_train_new)

根據 X_train 和 y_train 的形狀(我現在假設是一維的),您可能需要將上述代碼自定義為正確的形狀。 但你明白嗎?

此外,您可能還需要定義下限,例如,如果數字小於 -100

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM