iT邦幫忙

0

機器學習 訓練集與測試集如何處理 outlier 值

目前希望透過機器學習預測生產數據的產出量,
但是歷史數據中可能會發生當日有地震異常情形,導致機台數據與生產數據都偏低的狀況
機器學習的訓練集是否需要排除該日的資料?
還是這類的突發狀況也屬於機器需要學習的資料?

你的模型會自己從資料庫中學習,會將不重要的特徵的權重降低。況且大不了做兩次,選好的那個做為結果。
lokcyi iT邦新手 4 級 ‧ 2021-04-23 08:11:16 檢舉
但是偏低的特徵其實是重要的,但是某幾天有可能導致 幾筆的資料特別異常,會不會導致,模型會被這幾筆的噪音干擾,把整體的權重都條差了

2 個回答

0
gracecat
iT邦新手 5 級 ‧ 2021-04-23 19:31:08

樓主如果是使用supervised learning,資料不用排除,除非是資料蒐集錯誤,只要是真實資料,都 應該留著。
如果樓主是用Neuron network supervised learning 就算是突發狀況,只要這些突發狀況資料量不要太大,都不會影響深度學習。樓主不需要擔心。
如果貿然刪除任何資料,人為的保留,反而容易造成overfitting。
比方學一個簡單函數,研究顯示加一點error,反而會更好學。

有問題再討論

0
I code so I am
iT邦高手 1 級 ‧ 2021-04-24 00:59:30

Outlier 發生原因很多:

  1. 輸入錯誤(typo)。
  2. 零件故障或感測器異常,造成收集的資料均為0或負值。
  3. 設備故障前的重要徵兆。
    個人建議還是需要作EDA,再作處置。

要找出Outlier有很多種:

  1. 假設資料是常態分配,超出平均數+-1.96倍標準差或更嚴格,即為Outlier。
  2. 使用Boxplot,可以觀察有無Outlier,條件近似第一項。
  3. 以上只考慮單變數,若要考慮多變數,可使用DBScan演算法,找出雜訊點(Noise Points),即為Outlier。

我要發表回答

立即登入回答