建立決策樹狀結構的範例

此範例顯示如何在 ADULT 範例資料集上建置決策樹狀結構。

您可以將 ADULT 範例資料集分割成訓練資料集及驗證資料集,如下所示:

CALL IDAX.SPLIT_DATA('intable=ADULT, traintable=ADULTTRAIN, testtable=ADULTTEST, id=ID, fraction=0.35');

若要建置決策樹狀結構,您可以在樹狀結構的不同參數上使用限制項。最常見的限制項是樹狀結構的深度、每個樹狀結構節點的最小記錄數,以及每個樹狀結構節點的最小不純度提升。

下列呼叫會對 ADULTTRAIN 資料集執行演算法,並建置決策樹狀結構。

CALL IDAX.GROW_DECTREE('model=adult_dect, intable=ADULTTRAIN, id=ID, target=MARITAL_STATUS, maxdepth=8, minsplit=10, minimprove=0.01');

決策樹狀結構具有下列屬性:

  1. 樹狀結構最多有八個層次
  2. 每個非葉節點模式至少有 10 筆記錄
  3. 其不純度比其子節點的不純度至少高 1% 的非葉節點

若要刪改模型的過適節點,您可以將此模型套用至驗證資料集。

下列呼叫顯示如何刪改決策樹狀結構的過適節點。

CALL IDAX.PRUNE_DECTREE('model=adult_dect, valtable=ADULTTEST');

藉由刪改過適節點,adult_dect 模型的決策樹狀結構中的節點數會從 69 降低至 25。

若要檢查建置模型,請使用 PRINT_MODEL 儲存程序,如下列範例所示:

CALL IDAX.PRINT_MODEL('model=adult_dect');

PREDICT_DECTREE 儲存程序預測 MARITAL_STATUS 直欄的值。

下列呼叫顯示如何使值與新交易相關聯。

CALL IDAX.PREDICT_DECTREE('model=adult_dect, intable=ADULTTEST, outtable=adult_dect_out');