.sum(),把「每個波長各自的貢獻」提早壓成同一個數字——
結果 228 個波長全部得到一模一樣的 VIP 值,腳本印出來的「VIP 前 20 名波長」其實完全沒有意義。
其實有三個簡單的檢查就能抓到這個 bug:
今天這堂課,我們用會驗證自己的方法,重新走一遍 VIP、分類、離群值判斷。
入門 不用寫程式:Orange OR14(PCA+邏輯斯迴歸分類、Apply Domain 找模型外樣品) 進階 Colab NB12(VIP、PLS-DA、Q 殘差)
| 時間 | 內容 |
|---|---|
| 0:00–0:25 | 講解:W13 回顧(w、t、b)、VIP 原理與手算一次 |
| 0:25–1:15 | 讀 VIP:VIP vs 係數、VIP>1 篩選、選擇偏誤(NB12 示範) |
| 1:15–1:40 | 講解:分類原理(one-hot/argmax、PLS-DA、邏輯斯迴歸、混淆矩陣) |
| 1:40–2:30 | Orange OR14 上半:六種油 PCA+邏輯斯迴歸,讀混淆矩陣 |
| 2:30–2:55 | 講解:Hotelling T² 與 Q 殘差、影響圖 |
| 2:55–3:30 | Orange OR14 下半:Apply Domain 找模型外樣品+Corn 離群值模組 |
| 3:30–4:00 | 各組分享:VIP 高的波段是否符合化學?哪兩種油最容易搞混? |
假設 SSY=[8, 2](LV1 解釋 8、LV2 解釋 2,共 10);J=3
| 波長 | LV1 占比 | LV2 占比 | Σ SSY×占比 | VIP²=J×…÷ΣSSY | VIP |
|---|---|---|---|---|---|
| 波長 1 | 0.64 | 0.00 | 8×0.64+2×0.00=5.12 | 3×5.12÷10=1.536 | 1.24 |
| 波長 2 | 0.36 | 0.20 | 8×0.36+2×0.20=3.28 | 3×3.28÷10=0.984 | 0.99 |
| 波長 3 | 0.00 | 0.80 | 8×0.00+2×0.80=1.60 | 3×1.60÷10=0.480 | 0.69 |
| NB12 | VIP | 係數 b |
|---|---|---|
| 1200 nm(醋酸 C–H,示意) | 2.57 | +4.96 |
| 1450 nm(水 O–H 第一倍頻,示意) | 1.82 | -4.01 |
NB12 示範資料(模擬光譜,非本班實測)建立的 4-LV PLS 模型;藍線=VIP(永遠 ≥0),橘線=係數 b。
| NB12 模型 | 波長數 | LV | RMSECV | RMSEP |
|---|---|---|---|---|
| 全波段 | 81 | 4 | 0.1756 | 0.1658 |
| VIP>1 | 18 | 3 | 0.2256 ↑ | 0.1329 ↓ |
NB12 示範資料(模擬):訓練集 60、測試集 20;紅線=VIP=1。單位:醋酸 %。
| CAN | COC | EVOO | PEA | ROO | SOY | 結果 | |
|---|---|---|---|---|---|---|---|
| EVOO 的 one-hot(答案) | 0 | 0 | 1 | 0 | 0 | 0 | 第 3 欄=1 |
| NB12 測試樣品 ŷ(實際 COC) | -0.13 | 0.91 | -0.17 | 0.22 | 0.37 | -0.21 | argmax → COC ✓ |
| 被判錯的樣品 ŷ(實際 CAN) | 0.25 | -0.07 | 0.25 | 0.10 | -0.13 | 0.60 | argmax → SOY ✗ |
代碼:CAN=芥花油、COC=椰子油、EVOO=特級初榨橄欖油、PEA=花生油、ROO=精製橄欖油、SOY=大豆油。
| 實際\預測 | CAN | COC | EVOO | PEA | ROO | SOY |
|---|---|---|---|---|---|---|
| CAN | 4 | 0 | 0 | 0 | 0 | 1 |
| COC | 0 | 4 | 0 | 0 | 0 | 0 |
| EVOO | 0 | 0 | 4 | 0 | 0 | 0 |
| PEA | 0 | 0 | 0 | 5 | 0 | 0 |
| ROO | 0 | 0 | 1 | 0 | 2 | 1 |
| SOY | 0 | 0 | 0 | 0 | 0 | 5 |
NB12 示範資料(模擬光譜,非本班實測)。
| 預測是 ROO | 預測不是 ROO | |
|---|---|---|
| 實際是 ROO | TP=2 抓到 | FN=2 漏抓 |
| 實際不是 ROO | FP=0 誤抓 | TN=23 正確排除 |
把 6×6 矩陣壓成「是 ROO/不是 ROO」的 2×2。
NB12 示範資料(模擬 PCA,40 個校正樣品、2 個主成分;不是 Corn 真實數值)。虛線=95% 界限。
📖 離群值偵測教學模組(Corn 資料集,T²/Q 影響圖)→ ——用 Corn 資料集(80 樣品×700 波長,m5/mp5/mp6 三台儀器)實際操作 T²/Q 影響圖。
在 Colab 開啟 NB12 ↗ ・入門(不用寫程式):Orange 流程 OR14 ↗。報告也請附上各組分享時的結論:VIP 高的區域是否符合化學、哪兩種油最容易搞混。
點一下打勾——確認自己真的會了。