2017-10-19 50 views
1

我構建了一個用於預測Y'值的機器學習算法。爲此,我使用Y的Log值來進行數據縮放。 由於我得到了預測的Y'和實際Y值,我必須將Y & Y'的Log值轉換爲指數值。從Log值到指數值,用於預測機器學習算法的巨大失真

但是,從exp7(= ln1098)的值出現如此巨大的失真......這使得很多MSE(錯誤)。

我該如何避免這種巨大的失真?(一般情況下,我需要的值超過1000)

謝謝!

+0

如果您有乘法噪聲(即噪聲與因變量的大小成比例),取因變量的對數是有意義的。如果情況並非如此,那麼不要這樣做。標準化爲0和方差1(即,通過標準差減去均值和除數)可以幫助避免數值問題,也許您可​​以嘗試。您可能會在stats.stackexchange.com或datascience.stackexchangecom獲得更多有用的回覆。 –

回答

0

爲此,我使用Y的Log值來進行數據縮放。 不用於縮放,但要使目標變量分佈正常。

如果您的MSE在實際目標值出現時就會出現 - 這意味着該模型根本無法滿足大值。通常可以通過清理數據來解決(刪除異常值)。或者採取另一個ML模型。

UPDATE 您可以運行KFold併爲每個摺疊計算預測值與實際值之間的MSE/MAE。然後採取大錯誤,並看看這些案件有哪些參數/功能。

你可以消除大錯誤的情況,但通常是危險的。

一般來說,大值不合適意味着您沒有從原始數據集中刪除異常值。繪製直方圖和散點圖,並確保你沒有它們。

檢查分類變量:可能您的值很小(< = 5%)。如果是這樣,分組他們。

或者您需要創建2個模型:一個用於較小的值,一個用於較大的值。

+0

謝謝。 ML模型對Log值有很好的適應性。如果是這樣,我怎麼能找到導致失真的大值的異常值? – Daeun

+0

我更新了我的答案。 – avchauzov