模擬標準 · V0.1

資料、模型與實驗要準備什麼?

之後不管是你自己,或其他會員要放資料、登記 Python 模型、跑模擬,都照這一套。目的是讓每次結果都知道「用了哪一版資料、哪一版模型、哪些參數」,之後才真的比得起來、重跑得出來。

English version →

1. 先準備資料

目前先支援 CSV、XLSX、XLS。以後再接 Database、API、Data Warehouse、SAP / MES 等來源,但不需要改掉這套資料規則。

要準備的東西怎麼填最簡單
Dataset ID / 版本幫這份資料取一個固定編號;資料一變,就開新版本。
資料來源 / 期間資料從哪裡來、涵蓋哪段時間、使用哪個時區。
欄位說明每個重要欄位寫清楚名稱、意思、型態、單位和用途。
主鍵 / 時間欄位如果有設備 ID、事件 ID、時間戳記,要明確標出來。
預測目標監督式模型要寫清楚 target;沒有 target 也要說明。
缺值怎麼處理空白代表什麼?要刪掉、補值,還是保留 Unknown?
資料品質狀態Draft、Checked、Approved 或 Rejected。
來源追蹤保留檔案 hash 或來源系統版本,另外記 owner 和備註。

請不要把密碼、API key 或個人識別資料直接丟進 Lab。 如果之後真的要處理 PII、機密製造資料或受法規限制資料,要先另外做權限與儲存設計。

2. 重要欄位要有「資料字典」

不要讓下一個使用者看到欄位名稱還要猜意思。跟模型有關的欄位,至少寫清楚下面幾項。

欄位要說明什麼
Column name檔案或資料庫裡真正的欄位名稱。
Business meaning用一般人看得懂的方式說這欄代表什麼。
Data type文字、整數、小數、布林、類別、日期時間等。
RoleID、時間、Feature、Target、Group、Weight 或不用。
Unit / range單位、允許值或合理範圍。
Missing rule缺值要刪、要補、保留 Unknown,或其他規則。

3. Python 模型要登記哪些資料?

模型程式由 Git / Codex 管理版本。一般會員未來只會選「已核准的模型版本」,不會直接在網頁上傳任意 Python 程式來執行。

要準備的東西怎麼記
Model ID / 版本模型固定編號,以及這次使用的版本。
模型任務分類、回歸、預測、異常偵測、最佳化、模擬、RL 等。
Framework例如 scikit-learn、CatBoost、TensorFlow/Keras、PyTorch。
Python 環境Python 版本,以及 requirements / lockfile / container。
EntrypointRunner 真正呼叫哪個 function。
Git 版本Repository 和精確的 commit SHA。
輸入 / 輸出格式模型吃什麼欄位、回傳什麼結果。
參數 / Random seed預設參數與 seed 規則要能重跑。
評估指標例如 Accuracy、F1、AUC、MAE、R²,加上需要的商業 KPI。
限制哪些資料不適用、漂移風險、模型不能拿來做什麼。
核准狀態Draft → Tested → Validated → Member-ready → Archived。

4. 每跑一次實驗,都要留下完整紀錄

每次 Run 至少要能追到:

資料版本 + 模型版本 + Git commit + 流程版本 + 情境 + 參數 + Seed + 執行環境 + 時間 + Output + Metrics + 備註

舊結果不要覆蓋。重新跑一次,就是新的 Run ID。這樣之後你才知道模型真的變好,還是只是資料或參數換了。

5. Decision Cycle 可以自己拖拉

預設會先提供這些積木:

問題 → 資料 → 資料準備 → 模型 → 情境 → 評估 → 比較 → 決定 → 行動 → 回來檢查

之後使用者可以拖動順序、增加、刪除、複製或改名稱。畫面流程可以很彈性,但背景還是會保留資料版本、模型版本、參數和 Run 紀錄,所以不會因為你改了流程就失去可重現性。

6. 什麼時候才能給其他會員使用?

狀態代表什麼適合誰用
Draft剛登記,還沒檢查。Lab Owner / Contributor。
Tested技術上已經可以跑。Lab 團隊內部。
Validated指標、限制、資料與結果已經檢查。經 Reviewer 核准的人。
Member-ready確認可以提供給其他會員做受控使用。符合權限的會員。
Archived保留歷史,但不建議再拿來做新的判斷。歷史查詢 / Audit。

目前還是 Private Beta;未來即使增加 Contributor、Reviewer、Viewer 或其他會員等級,也沿用同一套資料、模型與實驗標準。

7. 之後其他會員怎麼分權限?

角色之後可以做什麼
Member Viewer只能使用已經標成 Member-ready 的資料、模型與流程。
Lab Contributor可以新增資料、資料字典、流程和 Draft 模型,但不能自己把模型核准上線。
Reviewer負責看驗證結果、指標、限制與可重現性,再決定能不能往下一階段。
Lab Owner管理權限、核准模型、封存版本,以及調整 Lab 設定。

目前 Private Beta:先只開 Lab Owner。其他角色現在先定義好,未來新增使用者時,不用再重做整個資料架構。

版本規則

已核准的 Dataset、Model 或 Cycle 不要直接偷偷改掉。只要有實質變更,就開新版本。每一次 Run 都要固定記住當時使用的資料版本、模型版本、Git commit 和流程版本。