詞彙表
邊做專案邊學的查閱字典:每個詞一句白話 + 為什麼重要;要系統學習順序見快速版的學習地圖。
本頁內容
查閱用字典,Ctrl+F 找詞最快。想按順序補基礎 → 快速版的學習地圖。
一、資料與任務的基本詞
| 詞 | 白話 |
|---|---|
| 特徵(Feature / X) | 用來做判斷的線索;表格裡每一個欄位就是一個特徵(預測房價的「坪數、屋齡、地段」) |
| 目標(Target / Label / y) | 你要預測的東西(房價)。有 target = 有標資料(train),沒 target = 無標資料(test) |
| 樣本 / 列(Sample / Row) | 一筆資料,表格裡的一行 |
| 訓練集 / 測試集(Train / Test) | train 有答案拿來學;test 沒答案,是你要預測、主辦方拿來算分的對象 |
| 類別不平衡(Class Imbalance) | 正例 1%、負例 99%:模型全猜「否」也有 99% 準確率,所以這時不能用準確率當指標 |
任務型別
| 型別 | 意思 | 例子 |
|---|---|---|
| 二分類 | 預測是/否 | 客戶會不會流失 |
| 多分類 | 預測屬於哪一類 | 這是貓/狗/鳥 |
| 迴歸 | 預測一個數字 | 房價是多少 |
| 排序 | 預測優先順序 | 推薦哪些商品 |
二、訓練與驗證(最重要的一組)
| 詞 | 白話 |
|---|---|
| 模型(Model) | 把「特徵」轉換成「預測」的數學函式,可想成一個學生 |
| 訓練 / 擬合(Train / Fit) | 把有答案的資料餵給模型,讓它調參數到預測儘量接近答案 |
| 預測 / 推理(Predict / Inference) | 把新資料餵給訓練好的模型,得到答案 |
| 過擬合(Overfitting)⭐ | 模型把訓練資料連雜訊一起「背」下來,換一批資料就失靈。症狀:訓練分數極高、驗證分數很差。機器學習的頭號敵人 → 在階段 1 學會怎麼防它 |
| 欠擬合(Underfitting) | 反過來,模型太笨連訓練資料都學不好。較少見 |
| 泛化(Generalization) | 在「沒見過的資料」上表現好的能力——這才是真正的目標 |
| 驗證集(Validation Set) | 從訓練資料切出、假裝沒答案的一塊,用來評估模型 |
| 交叉驗證(CV)⭐ | 切 K 份(常 5)輪流當驗證集做 K 次。比單次切分穩定得多,是沒有正解時唯一能信的成績 → 階段 1:選對切法 |
| 折(Fold) | CV 切出來的每一份;「5-fold CV」= 切 5 份 |
| OOF(Out-Of-Fold)⭐⭐ | 每筆訓練資料「被當驗證集」時得到的預測,拼成完整一份。它是誠實的成績單(每筆預測來自沒看過它的模型),也是整合的原料——沒有它就不能做 hill climbing / stacking → 階段 1 的落盤協議、階段 4 拿它做集成 |
| 資料洩漏(Leakage)⭐ | 訓練時用到「預測當下不該知道的資訊」(未來資訊、目標編碼沒在 fold 內做、ID 帶答案順序)。症狀:CV 高得不合理,一上線就崩 → 階段 0 診斷時就要查 |
| 隨機種子(Seed) | 控制隨機性的編號。固定 seed 結果才可重現;框架要求所有實驗共用同一 seed 與同一組 fold,原因就是這個 |
| 超參數(Hyperparameter) | 訓練前要自己設的旋鈕(樹深、學習率);調參=找最好的組合。收益通常遠小於特徵工程,別一開始就花時間在這 → 階段 2:先別調參,先選對家族 |
切分策略
| 名稱 | 用在什麼時候 |
|---|---|
| KFold | 一般情況,隨機切 |
| StratifiedKFold | 分類任務,確保每折正負例比例一致 |
| GroupKFold | 同一使用者/病人的資料不可同時出現在訓練和驗證 |
| TimeSeriesSplit | 時間序列。永遠「用過去預測未來」,絕不能隨機切 |
三、評估指標(Metric)
指標決定你的所有戰術,每場比賽第一件事就是搞懂指標。
分類用
| 指標 | 白話 | 特性 |
|---|---|---|
| 準確率 Accuracy | 猜對幾成 | 類別不平衡時會騙人 |
| AUC (ROC-AUC) | 模型把正例排在負例前面的能力 | 只在乎排序,不在乎絕對機率。0.5 = 瞎猜,1.0 = 完美 |
| LogLoss | 懲罰「很有自信但答錯」 | 在乎機率準不準,需要校準 |
| Precision / Recall | 精確率:抓出來的有幾成是對的 召回率:該抓的抓到幾成 | 兩者互相拉扯 |
| F1 | Precision 和 Recall 的調和平均 | 需要搜尋最佳閾值 |
| Brier Score | 「機率準不準」的均方誤差版:預測 0.9 但沒發生,罰得比預測 0.6 重 | 校準好不好的直接量尺,越低越好 |
排序 / 推薦用
| 指標 | 白話 |
|---|---|
| MAP@k(Mean Average Precision) | 前 k 個推薦裡,對的答案有沒有排在越前面越好,而不只是有沒有出現 |
| NDCG | 跟 MAP@k 類似,但把「有多對」也算進去(不只對/錯,還有幾分對) |
| Recall@k | 前 k 個推薦裡,涵蓋了幾成「該推薦的東西」 |
迴歸用
| 指標 | 白話 | 特性 |
|---|---|---|
| RMSE | 均方根誤差 | 對大錯誤懲罰重,怕離群值 |
| MAE | 平均絕對誤差 | 對離群值寬容 |
| MAPE | 百分比誤差 | 目標接近 0 時會爆炸 |
| 詞 | 白話 |
|---|---|
| 閾值(Threshold) | 把機率(0.73)變成「是/否」的那條線。預設 0.5 通常不是最好,應在 OOF 上搜尋最佳閾值 |
| 校準(Calibration) | 讓輸出的「0.7」真的代表 70% 會發生。AUC 評分不需要;LogLoss 很重要。常見做法:Platt scaling(用一條 S 型曲線修正)、isotonic regression(更彈性但要更多資料) |
四、特徵工程(Feature Engineering)
編碼(Encoding)= 把文字類別變成數字
| 方法 | 做法 | 注意 |
|---|---|---|
| Label Encoding | 每個類別給一個編號 | 樹模型可用,線性模型會誤解成有大小順序 |
| One-Hot Encoding | 每個類別開一個 0/1 欄位 | 類別太多會爆炸 |
| Frequency Encoding | 用「出現次數」代替類別 | 便宜好用 |
| Target Encoding | 用「該類別的目標平均值」代替 | 很強,但極易洩漏,必須在 fold 內計算 + 平滑 |
| 詞 | 白話 |
|---|---|
| 聚合特徵(Aggregation) | 按某鍵分組算統計量(每個使用者的平均消費、次數、標準差);算完再做「這筆 ÷ 該使用者平均」這類比值,常比原始聚合更有訊號 |
| 互動特徵(Interaction) | 兩個特徵組合(身高/體重 = BMI)。樹學不好除法和比值,手動餵效果很好 |
| 缺失值(NaN) | 填平均/中位數、填特殊值、或讓模型自己處理(LightGBM 支援)。「有沒有缺」本身常是訊號,可另開一欄記錄 |
| 特徵重要性(Importance) | Gain(預設)會高估高基數特徵別盲信;Permutation(打亂某欄看掉分)更可靠但慢;Null importance(打亂 target 當基準)只留明顯贏過基準的 |
| 標準化 / 正規化 | 把數值縮到相近範圍。線性模型、神經網路必做;樹模型不需要(只看大小順序) |
五、模型家族
| 模型 | 白話 |
|---|---|
| GBDT 梯度提升樹 | 一堆淺樹接力,每棵修正前面累積的錯。表格資料的長期霸主 |
| 隨機森林(Random Forest) | 一群獨立深樹投票。比 GBDT 弱一些但穩,不易過擬合 |
| 線性模型(Logistic / Ridge / Lasso) | 只能畫直線/平面,單獨用弱,但犯錯方式和樹完全不同,在整合裡價值高。Ridge/Lasso = 加正則化(防過擬合懲罰項) |
| 神經網路(NN / MLP) | 多層運算堆疊;MLP = 最基本全連線。表格上通常打不贏 GBDT,但提供多樣性 |
| KNN | 看最像的 K 個鄰居怎麼答。樸素,整合裡偶有驚喜 |
| SVM / SVR / SVC | 支援向量機,用數學技巧畫複雜分界線。資料量大時很慢 |
| TabPFN | 2025 後的新物種:海量合成資料上預訓練過的基礎模型,幾乎不用訓練直接給預測;中小型資料(≤5 萬筆)非常強 |
| AutoML(AutoGluon) | 自動試模型與組合(k-fold bagging 產 OOF、多層 stacking、加權集成)。不是「弱但方便」,是「不做人工特徵能到哪」的誠實錨點(見框架 §4.0) |
GBDT 三個主流實作
| 名稱 | 特點 |
|---|---|
| LightGBM | 最快,首選起手式 |
| XGBoost | 老牌穩定 |
| CatBoost | 類別特徵多時常最強,預設參數就很好 |
六、整合(Ensemble)
| 詞 | 白話 |
|---|---|
| 整合 / 融合(Ensemble / Blending) | 把多個模型的預測合起來。核心原理:犯不同的錯會互相抵消,所以模型間的差異性比單模分數更值錢 |
| 平均(Averaging) | 最簡單的整合:算術平均(直接平均機率)、Rank 平均(轉名次再平均,只在成員分數尺度差很多時才有利;尺度相近反而略差——C11 實測)、加權平均(強者權重高) |
| Hill Climbing(爬山法) | 從最強模型開始,反覆試「加誰、給多少權重」,只留讓 OOF 上升的動作,直到無法進步 |
| Stacking(堆疊) | 訓練「第二層模型」(Meta Model),輸入是第一層各模型的 OOF,學會「什麼情況信誰」。防洩漏關鍵:第二層必須用與第一層完全相同的 fold |
| Pseudo-labeling(偽標籤) | 用最強模型預測無標資料,把預測當「假答案」加回訓練。軟標籤 = 用機率(0.83)而非硬答案(1),資訊更多雜訊更少 |
| 知識蒸餾(Distillation) | 用強大笨重模型(老師)的輸出教輕巧模型(學生);可把整個整合濃縮成一個單模 |
| Seed Averaging | 同一組設定換多個 seed 各跑一次再平均。永遠不虧,但增益視模型的 seed 方差而定——確定性模型(如未開 subsample 的 LGBM)上是空操作 |
七、競賽專有詞
| 詞 | 白話 |
|---|---|
| Leaderboard(LB) | Public LB:比賽中看得到,只用一小部分 test;Private LB:結束才揭曉,這才是最終名次 |
| Shake-up(跳水) | 結束時名次大洗牌,幾乎都是有人過度擬合 public LB。防範:迭代決策以 CV 為準(見 LB 使用教條),最終選一個 CV 高分 + 一個穩健方案 |
| Adversarial Validation(對抗驗證) | 訓練分類器區分「這筆來自 train 還是 test」:分不出(AUC≈0.5)= 同分布可隨機切;分很清楚(AUC>0.8)= 有漂移,找出漂移特徵再決定去留 |
| 分布漂移(Distribution Shift) | train 和 test 長得不一樣,造成「CV 很好但實戰失靈」 |
| Baseline(基線) | 最簡單的可行方案,當比較基準;任何新做法要贏過它才有意義 |
| Submission(提交) | 交上去的預測檔;多數比賽可選 2 個作最終計分 |
| Notebook / Kernel | Kaggle 的線上程式筆記本,附免費 GPU |
八、工具與函式庫
競賽核心競爭力是「你能跑多少次實驗」——同一實驗 CPU 2 小時、GPU 5 分鐘,一天差 20 倍以上。
| 名稱 | 用途 |
|---|---|
| pandas | Python 處理表格資料的標準工具 |
| NumPy | 數值運算基礎,.npy 是它的檔案格式 |
| scikit-learn | 通用 ML 工具箱,切 fold、算指標靠它 |
| Polars | 比 pandas 快很多的新一代替代品 |
| cuDF / cuML | pandas / sklearn 的 GPU 加速版,幾乎不用改程式碼 |
| CuPy | NumPy 的 GPU 版 |
| PyTorch | 寫神經網路用 |
| Optuna | 自動調超參數 |