# U9401066 Automl Stat MCP MCP Ml Training

> ML Training Workflow 技能 (機器學習訓練流程)

- Skill: `tomevault-io/u9401066-automl-stat-mcp-mcp-ml-training` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/u9401066-automl-stat-mcp-mcp-ml-training`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/u9401066-automl-stat-mcp-mcp-ml-training/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/u9401066-automl-stat-mcp-mcp-ml-training

---


# ML Training Workflow 技能 (機器學習訓練流程)

## 描述
使用 AutoML MCP 工具進行機器學習模型訓練的完整流程。

## 觸發條件
- 「訓練模型」「train model」
- 「用 {dataset} 預測 {target}」
- 「AutoML」「機器學習」

---

## 🎯 訓練流程總覽

```
┌─────────────────────────────────────────────────────────────────────┐
│                    ML Training Workflow                              │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│   [1] 資料準備        →  upload_dataset / register_dataset          │
│         ↓                                                           │
│   [2] 提交訓練        →  submit_automl_job / quick_train            │
│         ↓                                                           │
│   [3] 監控進度        →  get_job_status / wait_for_job              │
│         ↓                                                           │
│   [4] 取得結果        →  get_model_leaderboard / get_job_result     │
│         ↓                                                           │
│   [5] 使用模型        →  predict                                     │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘
```

---

## 📋 Step 1: 資料準備

### 1.1 列出可用資料

```python
# 列出本地檔案
mcp_automl_list_available_files(
    directory="/data/sample_data"
)
```

### 1.2 上傳/註冊資料集

**方式 A：本地檔案上傳（推薦）**

```python
mcp_automl_upload_dataset(
    name="my_titanic",
    source_type="local",
    source_path="/data/sample_data/titanic.csv",
    storage_mode="permanent",  # permanent: 永久存到 MinIO
    user_id="eric"
)
# 返回: dataset_id
```

**方式 B：從 MinIO 註冊**

```python
mcp_automl_register_dataset(
    name="my_dataset",
    minio_path="datasets/my_data.csv",
    user_id="eric"
)
```

### 1.3 分析資料集特性

```python
mcp_automl_analyze_dataset(
    dataset_id="dataset-xxx"
)
```

---

## 📋 Step 2: 提交訓練工作

### 2.1 完整 AutoML 訓練（推薦）

```python
result = mcp_automl_submit_automl_job(
    dataset_id="dataset-xxx",
    target_column="survived",
    problem_type="binary",      # binary, multiclass, regression
    time_limit=300,             # 秒，預設 300
    presets="medium_quality",   # best_quality, high_quality, medium_quality, optimize_for_deployment
    user_id="eric"
)
job_id = result["job_id"]
```

**presets 選擇指南：**

| Preset | 訓練時間 | 準確度 | 適用場景 |
|--------|----------|--------|----------|
| `best_quality` | 最長 | 最高 | 競賽、論文 |
| `high_quality` | 長 | 高 | 生產環境 |
| `medium_quality` | 中等 | 中等 | 開發測試 |
| `optimize_for_deployment` | 短 | 中等 | 部署優先 |

### 2.2 快速訓練（一鍵完成）

```python
# 簡化版：自動等待完成
result = mcp_automl_quick_train(
    csv_path="/data/sample_data/titanic.csv",
    target_column="survived",
    user_id="eric"
)
# 直接返回 model_id 和結果
```

### 2.3 指定特定演算法

```python
# 列出可用演算法
mcp_automl_list_algorithms()
# 返回: GBM, CAT, XGB, RF, XT, KNN, LR, NN_TORCH, FASTAI

# 指定演算法訓練
mcp_automl_submit_specific_job(
    dataset_id="dataset-xxx",
    target_column="survived",
    algorithms=["XGB", "RF", "GBM"],
    user_id="eric"
)
```

### 2.4 比較多個演算法

```python
mcp_automl_submit_compare_job(
    dataset_id="dataset-xxx",
    target_column="survived",
    algorithms=["XGB", "GBM", "RF", "NN_TORCH"],
    user_id="eric"
)
```

---

## 📋 Step 3: 監控訓練進度

### 3.1 查詢工作狀態

```python
mcp_automl_get_job_status(
    job_id="job-xxx",
    user_id="eric"
)
```

**狀態說明：**

| 狀態 | 說明 |
|------|------|
| `pending` | 等待中 |
| `running` | 訓練中 |
| `completed` | 完成 |
| `failed` | 失敗 |

### 3.2 等待訓練完成

```python
# 同步等待（會阻塞直到完成）
result = mcp_automl_wait_for_job(
    job_id="job-xxx",
    timeout=600,  # 最長等待秒數
    user_id="eric"
)
```

### 3.3 列出所有工作

```python
mcp_automl_list_jobs(
    user_id="eric"
)
```

### 3.4 取消工作

```python
mcp_automl_cancel_job(
    job_id="job-xxx",
    user_id="eric"
)
```

---

## 📋 Step 4: 取得訓練結果

### 4.1 取得模型排行榜

```python
mcp_automl_get_model_leaderboard(
    model_id="model-xxx"
)
```

**輸出範例：**
```json
{
  "leaderboard": [
    {"model": "WeightedEnsemble_L2", "score_val": 0.87},
    {"model": "XGBoost", "score_val": 0.85},
    {"model": "LightGBM", "score_val": 0.84}
  ],
  "best_model": "WeightedEnsemble_L2",
  "metrics": {
    "accuracy": 0.82,
    "roc_auc": 0.87,
    "f1": 0.79
  }
}
```

### 4.2 取得訓練摘要

```python
mcp_automl_get_training_summary(
    model_id="model-xxx"
)
```

### 4.3 列出所有模型

```python
mcp_automl_list_models(
    user_id="eric"
)
```

---

## 📋 Step 5: 使用模型預測

### 5.1 使用已訓練模型預測

```python
mcp_automl_predict(
    model_id="model-xxx",
    dataset_id="new-data-xxx",  # 新資料集
    user_id="eric"
)
```

**或直接用 CSV 路徑：**

```python
mcp_automl_predict(
    model_id="model-xxx",
    csv_path="/data/projects/my_project/new_data.csv",
    user_id="eric"
)
```

---

## 🎯 完整範例

### 範例 1：Titanic 二元分類

```
User: "用 titanic.csv 預測 survived"

Agent 執行：

1. 列出檔案確認存在
   mcp_automl_list_available_files(directory="/data/sample_data")

2. 上傳資料集
   mcp_automl_upload_dataset(
       name="titanic_train",
       source_type="local",
       source_path="/data/sample_data/titanic.csv",
       storage_mode="permanent",
       user_id="eric"
   )
   → dataset_id: "dataset-abc123"

3. 提交訓練
   mcp_automl_submit_automl_job(
       dataset_id="dataset-abc123",
       target_column="survived",
       problem_type="binary",
       time_limit=300,
       presets="medium_quality",
       user_id="eric"
   )
   → job_id: "job-xyz789"

4. 等待完成
   mcp_automl_wait_for_job(
       job_id="job-xyz789",
       user_id="eric"
   )
   → model_id: "model-def456"

5. 取得結果
   mcp_automl_get_model_leaderboard(model_id="model-def456")

回報使用者：
"✅ 訓練完成！
最佳模型：WeightedEnsemble_L2
準確率：82%
AUC-ROC：0.87

排行榜：
1. WeightedEnsemble_L2 (0.87)
2. XGBoost (0.85)
3. LightGBM (0.84)"
```

### 範例 2：快速訓練

```
User: "快速訓練一個模型，用 iris.csv 預測 species"

Agent 執行：

mcp_automl_quick_train(
    csv_path="/data/sample_data/iris.csv",
    target_column="species",
    user_id="eric"
)

回報使用者：
"✅ 快速訓練完成！
最佳模型：{model_name}
準確率：{accuracy}%"
```

### 範例 3：比較演算法

```
User: "比較 XGBoost、LightGBM、Random Forest 在 heart_disease 上的表現"

Agent 執行：

1. mcp_automl_upload_dataset(
       name="heart_disease",
       source_path="/data/sample_data/heart_disease.csv",
       ...
   )

2. mcp_automl_submit_compare_job(
       dataset_id="...",
       target_column="target",
       algorithms=["XGB", "GBM", "RF"],
       user_id="eric"
   )

3. mcp_automl_wait_for_job(...)

4. mcp_automl_get_model_leaderboard(...)

回報使用者：
"📊 演算法比較結果：

| 演算法 | AUC | 準確率 |
|--------|-----|--------|
| XGBoost | 0.89 | 85% |
| LightGBM | 0.88 | 84% |
| Random Forest | 0.86 | 83% |

建議使用 XGBoost 作為最終模型。"
```

---

## 📊 可用演算法

| 代碼 | 演算法 | 說明 |
|------|--------|------|
| GBM | LightGBM | 梯度提升（快速） |
| CAT | CatBoost | 類別特徵友好 |
| XGB | XGBoost | 梯度提升（經典） |
| RF | Random Forest | 隨機森林 |
| XT | Extra Trees | 極端隨機樹 |
| KNN | K-Nearest Neighbors | K 近鄰 |
| LR | Linear Model | 線性模型 |
| NN_TORCH | Neural Network | PyTorch 神經網路 |
| FASTAI | FastAI NN | FastAI 神經網路 |

---

## ⚠️ 常見錯誤

### 1. 未等待訓練完成

```python
# ❌ 錯誤：提交後直接取結果
submit_automl_job(...)
get_model_leaderboard(...)  # 會失敗！

# ✅ 正確：等待完成
job = submit_automl_job(...)
wait_for_job(job["job_id"])  # 等待
get_model_leaderboard(...)   # 成功
```

### 2. 目標欄位名稱錯誤

```python
# 先確認欄位名稱
mcp_automl_get_column_info(csv_path="...")
# 再使用正確名稱
```

### 3. 忘記 user_id

```python
# 大多數操作都需要 user_id
submit_automl_job(..., user_id="eric")
```

---
> Source: [u9401066/automl-stat-mcp](https://github.com/u9401066/automl-stat-mcp) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-16 -->

