# 資料滲漏

資料滲漏代表用來訓練機器學習演算法的資料包括您嘗試預測的資訊。這會導致訓練時的模型效能優於實際運作的效能，讓人誤信模型執行良好。瞭解如何識別並預防資料滲漏以取得更可靠的預測。

一般而言，資料滲漏是由於以下至少一個原因：

* 訓練集的一個或多個特徵可用來衍生您嘗試預測的目標變數。例如，您的目標是 Sales 欄位，且其中一個特徵是從 Sales 計算的 Sales Tax 欄位。

* 訓練集的一個或多個特徵包括預測時不會知道的資訊。

在下表，欄 Stage 是您要預測的欄 Stage (Binary) 的重複欄。若在訓練資料集納入 Stage，我們會向預期結果提供答案，導致模型分數很高。

表格的「滲漏欄」StageStage 包含關於目標欄 Stage (Binary)Stage (Binary) 的資訊

| Total Employees | Annual Revenue (M$) | Lead Source | Forecast Deal ($) | Stage | Stage (Binary) |
| --- | --- | --- | --- | --- | --- |
| 12078 | 2705 | Partner | 369,000 | 6 - Closed/Lost | LOST |
| 10076 | 1783 | Inside sales | 71,000 | 6 - Closed/Won | WON |
| 8518 | 2114 | Inside sales | 294,000 | 6 - Closed/Lost | LOST |
| 3978 | 1159 | Sales rep | 214,000 | 6 - Closed/Won | WON |
| 3517 | 2285 | Marketing promo | 154,000 | 6 - Closed/Lost | LOST |
| 3370 | 97 | Customer referral | 41,000 | 6 - Closed/Won | WON |

## 目標外洩

目標外洩是資料滲漏的形式。特徵資料參考可能用於預測的目標資料時，會發生目標外洩。這種參考或「滲漏」可以是直接或間接。

透過智慧模型最佳化，Qlik Predict 可識別目標外洩並防止在您的模型中採用。會自動偵測並從模型訓練中移除指示目標外洩的特徵。如需更多關於智慧模型最佳化的資訊，請參閱 [智慧模型最佳化](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/intelligent-model-optimization.htm)。

## 識別資料滲漏

若要識別資料滲漏，請考慮「您是否有與預期預測時間相同的記錄資訊？」或「記錄是否在 30 天後相同？」等問題。請記住，訓練資料集的所有資料必須與商務問題中的時間限制相關。

若您已訓練某個模型，可以在模型指標中尋找下列線索。

* 高分：分數真的很高嗎？例如，F1 分數是否高於 85？

* 特徵重要性：某個特徵是否比其他特徵更加重要？

* 鑑效組分數：鑑效組分數是否大幅高於交叉驗證分數？

表格顯示可能造成資料滲漏的常見特徵範例。

| 商務使用案例 | 目標 | 可能滲漏的特徵 |
| --- | --- | --- |
| 銷售商機是否已結束？ | 結束 (是或否) | 階段、結束日期、發票詳細資訊、已支付的佣金 |
| 預測未來交易金額 | 下一筆交易的金額 | 稅務、訂單詳細資訊 |
| 潛在客戶是否會轉換為商機？ | 轉換 (是或否) | 商機詳細資訊、轉換日期 |
| 客戶是否會流失？ | 流失 (是或否) | 流失原因、流失日期、靜止客戶使用期、客戶溫度 |
| 員工是否自願離職？ | 離職 (是或否) | 結束面試詳細資訊、離職日期、辭職信資訊 |

## 預防資料滲漏

預防資料滲漏的最佳方式是使用結構化架構，以取得良好的商務問題和資料集。如需詳細資訊，請參閱[定義機器學習問題](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/machine-learning-framework.htm)。

提示備註若您發現了不應該用於模型訓練的滲漏欄，仍然可以保留在資料集中。只要在機器學習實驗中從訓練資料排除此特徵即可。