DS 201 實作中心
使用合成的服務需求預測資料,練習預測問題框架、leakage 抓漏、baseline 挑戰、指標選擇、threshold 取捨與錯誤切片檢視。
資訊
DS 201 實作資料為合成教學資料,所有服務據點、案例與數值皆為示例,不代表任何真實對象或機構。
注意
請只使用課程提供的合成檔案進行練習。除非獲得授權,切勿將機密的機構或公司資料、個人資料或敏感資料貼入 AI 工具;使用真實營運資料前,請先確認所屬機構的規範。
下載實作檔案
服務需求資料(乾淨版)
DS201_Service_Demand_Clean.csv
一份服務需求預測資料:case_id、created_at、features_*、target_numeric、target_binary、group_attribute、split_time。用於 Guided Lab。
服務需求資料(實作版,含挑戰)
DS201_Service_Demand_Practice.csv
相同欄位結構,但刻意設計了判斷挑戰:一個看似有用但其實是 leakage 的欄位、一個容易被誤用的 baseline 情境,以及一個特定子群誤差明顯偏高的模式。用於實作中心與 Independent Lab。
資料字典(繁體中文)
DS201_Data_Dictionary_zh-TW.csv
服務需求資料檔案的欄位型態、單位、粒度、允許值與來源說明(繁體中文)。
Data dictionary (English)
DS201_Data_Dictionary_en.csv
英文版資料字典,欄位與單位與中文版一致。
Guided Lab 起始 Notebook
DS201_Guided_Lab_Starter.ipynb
附有指引與待完成項目的起始 Notebook,可從全新 kernel 由上而下執行,產出 baseline 與第一個模型的比較。
Independent Lab 起始 Notebook
DS201_Independent_Lab_Starter.ipynb
用於 Predictive Analytics Use Case + Model Card 的起始 Notebook 與檢核清單範本。
實作任務
實作 A:Prediction Framing Canvas
針對實作資料,寫下一個明確的預測問題:預測單位、target、決策,以及 prediction time 當下可用的欄位。
使用檔案: 服務需求資料(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 選定 target_numeric 或 target_binary 其中一個作為預測目標,並說明對應的業務決策。
- 列出所有 features_* 欄位,逐一標註它們是否在 split_time 之前就已存在。
- 寫下這個預測單位(case_id)具體代表什麼:哪個服務據點、哪個時間範圍。
- 用一句話說明:如果這個預測錯了,會造成什麼後果?
要完成的產出
- 一份填寫完整的 Prediction Framing Canvas
- features 是否可用於 prediction time 的逐項標註
- 一句話的錯誤後果說明
實作 B:Leakage Hunt
實作資料中有一個欄位看起來很有預測力,但其實是 target leakage。請找出它,並說明為什麼不能使用。
使用檔案: 服務需求資料(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 檢查每個 features_* 欄位的資料字典說明,找出「產生時間」晚於 split_time 的欄位。
- 用相關係數或簡單模型,確認這個欄位的預測力是否高到不合理。
- 寫下這個欄位為什麼構成 leakage,以及移除後模型表現預期會如何變化。
- 提出至少一個判斷「這個欄位能不能用」的檢查清單項目,可用於未來其他專案。
要完成的產出
- 被找出的 leakage 欄位與判斷依據
- 移除前後模型表現的比較
- 一份可重複使用的 leakage 檢查清單
實作 C:Baseline Challenge
為實作資料的兩個 target(target_numeric 與 target_binary)各建立至少一個 baseline,並說明選擇理由。
使用檔案: 服務需求資料(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 為 target_numeric 建立 mean baseline,計算其 MAE。
- 為 target_binary 建立 majority-class baseline,計算其 accuracy。
- 嘗試至少一個規則型 baseline(例如依 group_attribute 分組後取各組平均),比較它與 mean baseline 的差異。
- 寫一段說明:一個新模型至少要達到什麼表現,才算是「值得使用」?
要完成的產出
- 兩個 target 各自的 baseline 表現
- 規則型 baseline 與 mean baseline 的比較
- 「值得使用」門檻的書面說明
實作 D:Metric Selection
針對一個分類情境,說明你會優先看 precision 還是 recall,並用資料證明你的選擇是合理的。
使用檔案: 服務需求資料(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 選定一個業務情境(例如:漏抓一個真的會超過容量的據點,代價遠高於誤報)。
- 計算這個情境下,不同 threshold 對 precision 與 recall 的影響。
- 說明為什麼這個情境應該優先重視 recall 或 precision 其中一個。
- 寫下如果選錯了優先指標,最壞情況會造成什麼後果。
要完成的產出
- 不同 threshold 下的 precision/recall 表
- 指標選擇的理由說明
- 選錯指標的最壞情況分析
實作 E:Threshold Trade-off
畫出至少三個 threshold 下的 confusion matrix,說明 threshold 改變如何影響誤報與漏抓的數量。
使用檔案: 服務需求資料(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 在至少三個 threshold(例如 0.3、0.5、0.7)下,各自計算 confusion matrix。
- 整理成一張表,比較不同 threshold 下的 False Positive 與 False Negative 數量。
- 根據 Metric Selection 任務中定義的業務情境,推薦一個 threshold,並說明理由。
- 寫下這個推薦的 threshold 在什麼情況下應該重新檢視(例如資料分布改變時)。
要完成的產出
- 至少三個 threshold 的 confusion matrix
- 推薦 threshold 與理由
- 重新檢視 threshold 的觸發條件
實作 F:Error Slice Review
依 group_attribute 或案件量區間,檢查模型誤差是否集中在特定子群,並提出部署前需要進一步調查的問題。
使用檔案: 服務需求資料(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 訓練一個簡單模型,計算 validation 上每筆案例的誤差。
- 依 group_attribute 分組,比較各組的平均誤差是否一致。
- 找出誤差最大的子群或情境,並寫下至少一個可能的原因假設。
- 列出這個發現對部署判斷(成本、監測、人工 fallback)的具體影響。
要完成的產出
- 依子群拆解的誤差表
- 誤差最大子群的原因假設
- 對部署判斷的具體建議
完成標記只記錄在這個瀏覽器(加入梯次後會同步)。實作成果請保存在你自己的檔案或 Notebook。
同步我的進度加入梯次後,進度可跨裝置保存,講師也能看到