# Regression Problem ### MSE : Mean Squared Error,「預測誤差的大小」指標,衡量模型預測的數值和真實數值之間的距離有多大 (預測差值越多逞罰越重) 。數值越小,越準。 ### R值 (R²) : 決定係數,是一個衡量模型預測準確度的指標, 它表示「你的模型可以解釋目標變數變異的比例」。 ### MAE : Maen Absolute Error,預測的平均跟實際質差多少,越低越好。 ### MAPE : 平均百分比誤差,預測值與實際值之間百分比誤差的平均值,越低越好。 ### MedAE : 中位數絕對誤差,對於極值的對抗性比較好,他是看中位數的差距,故不會被極值所拉鋸。越高代表預測誤差偏高。 ### Pearson correlation coefficient (R值): 皮爾森相關係數(R),代表變數 X 與變數 Y 是否同步變化 (正或負),range : -1 ~ 1 , R = 1 (正相關) , R = 0 (無關) , R = -1 (負相關)。 # Classification Problem ### Accuracy : 預測正確比例 ### Precision : 真正 / (真正 + 假正) , 代表假陽性的比例。 ### Recall : 真正 / (真正 + 假負) , 代表真正被預測出來的機率。 ### F1-score : precision 與 recall 的加權平均。 # Feature Engineering ### P值 : 「變數是否有顯著影響」的統計指標。P值越小,影響越大; 反之越大,整體影響越小。 > - P < 0.05 : 統計上顯著 → 這個變數對模型是有意義的。 > - P > 0.05 : 統計上不顯著 → 這個變數可能沒有太大貢獻。 ### Importance : #### a. Impurity-based Feature Importance (基於樹模型): 每當某個 feature 被用來進行分類時,模型會計算並記錄該節點的 impurity。同時也會為這個 feature 累積一個「此次分裂中讓 impurity 降低多少」的分數。 在整個樹模型建立完成後,系統會將各 feature 在所有分裂中累積的分數加總並正規化。最後,某個 feature 的總分越高,就代表它在整個模型中越重要——也就是它在降低 impurity 方面的貢獻越大。 > Impurity(imp) : 「節點混亂度」的分數,數字越小,分類越容易(越集中某類);數字越大,分類越困難。 #### b.permutation importance: 在 Permutation Importance 中,每次實驗會將某個 feature 的值隨機打亂,再用模型進行預測。這樣等於破壞了該 feature 與目標的關係。 這個步驟會重複多次(例如 10 次、30 次),並在每次測試中記錄模型性能的下降幅度。最後,將所有特徵的影響分數做平均並標準化,標準化後的分數通常會落在 -1 到 1 之間。 >分數越高 → 代表該 feature 對模型影響越大(打亂後模型變差很多)。 分數接近 0 → 表示該 feature 幾乎沒有影響。 分數小於 0 → 表示打亂該 feature 反而讓模型變好,可能是 干擾特徵。 ### 標準化方法 : --- Z-score 標準化 (StandardScaler): 一種標準化的方法,使資料集轉換為平均值為0,標準差為1。將資料集標準化後,會呈現常態分佈(高斯分布)。 >優 : 對異常值不敏感、適合不同單位的特徵。 >缺 : 標準化後的數據分佈可能會被異常值拉伸或壓縮、收斂較慢。 最小-最大正規化 (MinMaxScaler): 定義最大及最小值,其餘特徵值會在此區間縮放並保有原來的比例。 >優 : 數值會保持等比例、原本分布,較適合神經網路or對特徵比例關係敏感的模型。 >缺 : 對離群值(outliers)非常敏感,最大值會被拉大。數據分布沒有明確的最大範圍(如指數分布、重尾分布),縮放後效果不佳。 穩健縮放 (RobustScaler): 以中位數及四分位距去縮放資料。 >優 : 對異常值不敏感 。 >缺 : 無法保證縮放結果範圍固定。不適合原本就接近常態分布的資料集。 最大絕對值縮放 (MaxAbsScaler): 定義最大值(絕對值後的最大值),將所有特徵除以該最大值。 >優 : 透過最大值來縮放,不會改變分布,只做比例縮放,不會把 0 變成非 0。 >缺 : 對異常值非常敏感、特徵間的尺度仍存在。 # Legend * ### Histogram : 頻率為出現頻率,越集中在前段代表資料預測越穩定 ; 尾巴出現越多、越高,代表極值出現機率越高。 > 以下為圖例 : >![Histogram_none](https://hackmd.io/_uploads/BJqRxUVYge.png) * ### Boxplot (箱型圖) : - 箱子內的線為中位數,箱上線為 75% 的值,箱下線為 25% 的值,最上的線為最大值(不是代表資料中的最大值),最下的線為最小值(不是代表資料中的最小值)。 - IQR = Q3(75%) - Q1(25%):IQR越小意指中間 50% 的資料非常集中,模型穩定; IQR越大,表示誤差變動大,預測不穩定。 - 其他的點,異常值(離群值),離群值越少,代表訓練出的模型,出現極端值的機會越少。 > 以下為圖例 : > ![boxplot_none](https://hackmd.io/_uploads/rkGKZ8EYxl.png) * ### Learning Curve (學習曲線) : - Good Fit(正常情況): Training score : 一開始高,但隨著資料增加會稍微下降,最後穩定在一個高值。 Validation score:隨資料量增加而上升,最後接近 Training score。 => 兩條線收斂,差距小 → 模型有良好泛化能力。 - Overfitting (過擬合): Training score:非常高 (接近 1.0)。 Validation score:遠低於 Training score,差距大。 => 特模型把訓練集背下來,但對新資料泛化差。 Underfitting / High Bias (欠擬合): Training score:偏低。 Validation score:同樣偏低,和 Training score 接近。 => 模型簡單,訓練資料也學不好。 - High Variance (高方差, 一種過擬合的形式): Training score:很高。 Validation score:明顯比 Training score 低,波動大(不穩定。 => 模型對資料切分敏感,表示樣本數不足或模型過複雜。 >以下為 Good Fit 圖例 : >![Figure_1](https://hackmd.io/_uploads/BkXgGUNYle.png)