資料前處理百百樣,以下簡單整理各大項目來跟大家說明:
資料類別數量不平衡,某一個類別的資料量特別多。可以處理的方法如下:
資料常態分配條件下,如果數據位於三個標準差之外,可以識別為離群值來處理。如果資料非常態分配,可採用盒鬚法來做離群值的處理。盒鬚法會定義所謂的四分位差(IQR),是第三分位數(第75百分位數=Q3)減第一分位數(第25百分位數=Q1)的差值,而離群值就是大於第三分位數加上1.5IQR以及小於第一份位數扣除1.5IQR的數值。
透過數值的區間定義,讓一些資料可以被定義成相同的特徵。透過數據分箱,可以滿足簡化模型的需求。
將資料數值丟入一個函數中,所得到的新的數值,讓模型可以更好的學習特徵。例如,透過log transform,能讓數據分佈更貼近常態分佈,滿足許多模型的常態分佈前提假設,讓模型在學習時,可以更加穩定。此外,log transform能讓數據區間更加集中,減少異常數據帶來負面影響。
類別資料無法直接被讀取,因此需要另外去做編碼。Onehot encoding是最常見的編碼方式之一。
如其他文章所述,資料的正規化,可以避免模型過度方大特定的特徵值、給予不合理的權重。
此外,一些模型要求訓練集資料是常態分佈,因此需要去做資料的normalization。
資料之間如果有次序性,模型訓練時候,會學到這個次序。然而,實際的應用場景,並沒有這種次序性,這會導致模型預測的誤判。因此,我們需要先將資料隨機打散,讓模型更具備通用性。
问题 1: 在进行机器学习模型的训练之前,你决定对数据进行洗牌以随机化数据顺序。在这种情况下,为什么洗牌是重要的?
A. 洗牌有助于提高数据的可解释性
B. 洗牌可以减少模型的复杂性
C. 洗牌有助于模型更好地泛化到新数据
D. 洗牌可以降低模型的方差
答案 1: C. 洗牌有助于模型更好地泛化到新数据
解释 1: 洗牌有助于模型学习数据的独立性,从而更好地泛化到新的未见数据。
问题 2: 当你想要将一组连续数值转换为一组符合正态分布的数值时,你应该采取哪种数据变换方法?
A. 对数变换(Log Transformation)
B. 标准化(Normalization)
C. 区间缩放(Min-Max Scaling)
D. 指数变换(Exponential Transformation)
答案 2: A. 对数变换(Log Transformation)
解释 2: 对数变换常用于将偏态分布的数据转换为接近正态分布的数据,有助于改善模型的性能。