Leaderboard(gluon_train)#

See also

本節は、TabularPredictor.leaderboard をベースにしている。

Note

Feature Importance は、export_leaderboard オプションを指定した時にテーブルとして出力される。

model

score_val

pred_time_val

fit_time

pred_time_val_marginal

fit_time_marginal

stack_level

can_infer

fit_order

num_features

num_models

num_models_w_ancestors

memory_size

memory_size_w_ancestors

memory_size_min

memory_size_min_w_ancestors

num_ancestors

num_descendants

model_type

child_model_type

hyperparameters

hyperparameters_fit

ag_args_fit

features

child_hyperparameters

child_hyperparameters_fit

child_ag_args_fit

ancestors

descendants

LightGBMLarge_BAG_L1

-0.3866731304

0.02031469345

3.35344696

0.02031469345

3.35344696

1

TRUE

11

24

1

1

8879884

8879884

8879884

8879884

0

0

StackerEnsembleModel

LGBModel

{“use_orig_features”: True, “max_base_models”: 25, “max_base_models_per_type”: 5, “save_bag_folds”: True}

{}

{“max_memory_usage_ratio”: 1.0, “max_time_limit_ratio”: 1.0, “max_time_limit”: None, “min_time_limit”: 0, “ignored_type_group_special”: None, “ignored_type_group_raw”: None, “get_features_kwargs”: None, “get_features_kwargs_extra”: None, “drop_unique”: False}

[“passanger”, “tocoupon_geq15min”, “coffeehouse”, “car”, “restaurantlessthan20”, “expiration”, “y”, “tocoupon_geq25min”, “direction_same”, “age”, “maritalstatus”, “bar”, “weather”, “restaurant20to50”, “has_children”, “occupation”, “destination”, “carryaway”, “income”, “gender”, “direction_opp”, “temperature”, “time_hour”, “education”]

{“num_boost_round”: 10000, “num_threads”: -1, “learning_rate”: 0.03, “objective”: “multiclass”, “verbose”: -1, “boosting_type”: “gbdt”, “two_round”: True, “num_leaves”: 128, “feature_fraction”: 0.9, “min_data_in_leaf”: 3}

{“num_boost_round”: 131}

{“max_memory_usage_ratio”: 1.0, “max_time_limit_ratio”: 1.0, “max_time_limit”: None, “min_time_limit”: 0, “ignored_type_group_special”: None, “ignored_type_group_raw”: [“object”], “get_features_kwargs”: None, “get_features_kwargs_extra”: None}

[]

[]

WeightedEnsemble_L2

-0.4978609895

0.7392261028

193.6493859

0.002149343491

2.073774338

2

TRUE

12

10

1

17

5644

61412191

5644

6688247

2

0

WeightedEnsembleModel

GreedyWeightedEnsembleModel

{“use_orig_features”: False, “max_base_models”: 25, “max_base_models_per_type”: 5, “save_bag_folds”: True}

{}

{“max_memory_usage_ratio”: 1.0, “max_time_limit_ratio”: 1.0, “max_time_limit”: None, “min_time_limit”: 0, “ignored_type_group_special”: None, “ignored_type_group_raw”: None, “get_features_kwargs”: None, “get_features_kwargs_extra”: None, “drop_unique”: False}

[“XGBoost_BAG_L1/T0_4”, “XGBoost_BAG_L1/T0_0”, “XGBoost_BAG_L1/T0_1”, “LightGBM_BAG_L1/T0_3”, “XGBoost_BAG_L1/T0_3”, “LightGBM_BAG_L1/T0_1”, “LightGBM_BAG_L1/T0_0”, “LightGBM_BAG_L1/T0_2”, “XGBoost_BAG_L1/T0_2”, “LightGBM_BAG_L1/T0_4”]

{“ensemble_size”: 100}

{“ensemble_size”: 57}

{“max_memory_usage_ratio”: 1.0, “max_time_limit_ratio”: 1.0, “max_time_limit”: None, “min_time_limit”: 0, “ignored_type_group_special”: None, “ignored_type_group_raw”: None, “get_features_kwargs”: None, “get_features_kwargs_extra”: None, “drop_unique”: False}

[“LightGBM_BAG_L1/T0”, “XGBoost_BAG_L1/T0”]

[]

model#

The name of the model

score_val#

eval_metric によるモデルの検証スコア。

Note

メトリクスのスコアは常に高い方が良いという形で表示される。これは log_lossroot_mean_squared_error のような小さい方が良いとみなされるメトリクスは符号が反転し、値が負になることを意味する。これは、Leaderboard を見るときに混同させないためである。

pred_time_val#

validation データにおける予測にかかる推論時間。そのモデルおよびすべてのベースモデルの pred_time_val_marginal 値の合計に相当する。

fit_time#

モデルをエンドツーエンドでトレーニングするのに必要な時間(モデルがスタックアンサンブルの場合はベースモデルも含む)。 そのモデルとすべてのベースモデルの fit_time_marginal 値の合計に相当する。

pred_time_val_marginal#

validation データの予測計算に必要な推論時間(ベースモデルの推論時間は無視)。 bagging が無効な場合、モデルをメモリにロードするのに必要な時間は無視されることに注意。

fit_time_marginal#

モデルのトレーニングに必要なフィット時間(ベースモデルは無視)。

stack_level#

モデルのスタックレベル。

can_infer#

モデルが新しいデータに対して推論を実行できるかどうか。False の場合、モデルが保存されていないか、削除されているかなどで推論できない。

fit_order#

モデルの適合順序。最初のモデルの適合は fit_order=1 で、N番目のモデルの適合は fit_order=N である。この順序は、bagging されたアンサンブルの場合、最初の子モデルの適合に対応する。

num_features#

モデルが使用する入力特徴の数。モデルによっては、前処理されたデータの、特定の特徴を無視することがあるため数が異なる。

num_models#

この「モデル」オブジェクトを実際に構成するモデルの数。 non-bagged models の場合、これは1となる。bagged model の場合、これは bagged されたアンサンブルに含まれる子モデルの数に等しい。

num_models_w_ancestors#

モデルとその祖先の num_models 値の合計に相当する。

memory_size#

モデルがメモリに永続化される際に必要とするバイト単位のメモリ量。これは推論中にモデルが使用するメモリ量とは異なる。bagged model の場合、これはすべての子モデルの memory_size の合計となる。

memory_size_w_ancestors#

このモデルとその祖先の memory_size 値の合計に相当する。これは、このモデルから予測を得るために推論を呼び出す間にモデルをロードしないようにするために必要なメモリ量です。オンライン推論では、これは非常に重要となる。オンライン推論を実行するマシンは、この値の2倍以上のメモリを持つことが重要で、モデルをメモリに永続化することで、推論を呼び出すたびにモデルをロードすることを避けることができる。

memory_size_min#

モデルが推論を実行するために最低限必要なメモリの量(バイト)。 non-bagged model の場合、これは memory_size と等価である。bagged model の場合、これは最大の子モデルの memory_size_min と等価である。

メモリ使用量を最小化するために、子モデルを1つずつロードしたりアンパースしたりして推論を行うことができる。これは、推論前にバッグされたモデルがまだメモリに保持されていない場合のデフォルトの動作である。

memory_size_min_w_ancestors#

モデルとその祖先の memory_size_min 値の最大値に相当する。これは、一度に1つのモデルだけをロードして推論を行うために必要な最小のメモリである。レイテンシが気にならないオフライン推論では、memory_size_w_ancestors が大きすぎる場合、これを使用してマシンに必要なメモリを決定する。

num_ancestors#

指定されたモデルの祖先モデルの数。

num_descendants#

与えられたモデルの子孫モデルの数。

model_type#

指定されたモデルのタイプ。モデルがアンサンブル型の場合、child_model_type は内部モデルの型を示す。LightGBM モデルをベースにしたスタックアンサンブルの場合、モデルタイプは StackerEnsembleModel となる。

child_model_type#

子モデルのタイプ。モデルがアンサンブルでない場合はなし。

LightGBM モデルのスタック・アンサンブルは、子モデル・タイプとして LGBModel を持つ。 子モデルは、指定された bagged ensemble model の予測を生成するためにグループとして使用されるモデルである。これらは、bagged ensemble の各フォールドでトレーニングされたモデルである。10-fold bagging では、bagged ensemble model は10個の子モデルを持つことになる。3回繰り返しの 10-fold bagging では、bagged ensemble model は30個の子モデルを持つことになる。子モデルは、祖先や子孫とは異なることに注意。

hyperparameters#

モデルに指定されたハイパーパラメーター値。このdictに表示されないハイパーパラメーターは、すべてデフォルト値のままである。

hyperparameters_fit#

フィット時にモデルが設定するハイパーパラメーター。 これは、hyperparameters_fit に特定のキーの hyperparameters 値がある場合、それを上書きして、 フィットしたモデルの最終的なハイパーパラメーターを決定する。これは、モデルトレーニングの反復回数やエポックを示すハイパーパラメーターに設定するのが最も一般的である。このような場合、hyperparameters で指定されたハイパーパラメーターがモデルの最大値として使用されるが、モデルはより良い検証スコアを達成するため、または時間的制約を満たすために、トレーニング中により小さい値で早期停止することができる。例えば、あるNNモデルにハイパーパラメーターとして epochs=500 が与えられたが、訓練中に epochs=60 が最適な検証スコアをもたらすことがわかった場合、そのモデルは epoch=60 を使用し、hyperparameters_fit={'epoch': 60} が設定されます。

ag_args_fit#

モデルのフィットに影響する AutoGluon の特別な引数。 詳細については、TabularPredictor.fit() の hyperparameters 引数のドキュメントを参照。

features#

モデルが使用する feature 名のリスト。

child_hyperparameters#

hyperparameters と等しいが、子モデルを対象とする。

child_hyperparameters_fit#

hyperparameters_fit と同じだが、子モデルを対象とする。

child_ag_args_fit#

ag_args_fit と同じだが、子モデルを対象とする。

ancestors#

モデルの祖先。祖先モデルとは、モデルの入力された特徴量を構築する際に予測を行うために必要となるモデルのことである。モデルの祖先が削除されると、そのモデルは新しいデータに対して推論できなくなり、’can_infer’ の値は False になる。モデルは、自分よりも stack_level が低い祖先モデルしか持つことができまない。stack_level'=1 のモデルは祖先を持たない。

descendants#

モデルの子孫。子孫モデルとは、入力された特徴量を構築する際に、このモデルが予測を行うために必要とするモデルのことである。AがBの子孫であれば、BはAの祖先である。このモデルが削除されると、すべての子孫モデルは新しいデータに対して推論することができなくなり、’can_infer’ の値は False になる。モデルは、自分よりも ‘stack_level’ が高い子孫モデルしか持つことができない。

Leaderboard(gluon_predict)#

gluon_predict タスクにおいて、テストテーブルに target_column が含まれている場合(つまり正解がわかっている場合)、leaderboard を出力することができる。この場合の項目は gluon_train の時とは少し異なる。

この結果は、モデル実験(試行錯誤)フェーズにて毎回のモデルの精度を記録して管理するために活用される。詳しくはRecord Evaluation Results for each Modelを参照。

分類の場合#

以下の複数のモデルの評価指標を同時に参照できるようになっている。score_test は、eval_metric で指定された指標をテストデータに対して求めたものである。

  • score_test

  • log_loss

  • accuracy

  • f1

  • balanced_accuracy

  • roc_auc

model

score_test

log_loss

accuracy

f1

balanced_accuracy

roc_auc

score_val

pred_time_test

pred_time_val

fit_time

pred_time_test_marginal

pred_time_val_marginal

fit_time_marginal

stack_level

can_infer

fit_order

WeightedEnsemble_L2

0.8527516677

0.4098940795

0.8064363464

0.5830784913

0.7117318577

0.8527516677

0.8466274736

2.81829524

0.9766783714

124.4149685

0.003955364227

0.001969814301

1.615611553

2

TRUE

5

CatBoost_BAG_L1/T0

0.8526000606

0.4085681124

0.8097491718

0.5922920892

0.7174016162

0.8526000606

0.8464694814

0.1147480011

0.1006178856

12.61592555

0.1147480011

0.1006178856

12.61592555

1

TRUE

3

RandomForestEntr_BAG_L1/T0

0.8503489259

0.4146534572

0.7955513488

0.539445629

0.6855417425

0.8503489259

0.8429722288

0.1086888313

0.1864304543

0.5902302265

0.1086888313

0.1864304543

0.5902302265

1

TRUE

2

LightGBM_BAG_L1/T0

0.8493215585

0.4247181206

0.7993374349

0.5391304348

0.6852735588

0.8493215585

0.819878879

1.030580997

0.146330595

20.52098203

1.030580997

0.146330595

20.52098203

1

TRUE

1

NeuralNetFastAI_BAG_L1/T0

0.822272911

0.5903145311

0.7714150497

0.6076360682

0.7379725086

0.822272911

0.7835099637

1.560322046

0.5413296223

89.07221913

1.560322046

0.5413296223

89.07221913

1

TRUE

4

回帰の場合#

以下の複数のモデルの評価指標を同時に参照できるようになっている。score_test は、eval_metric で指定された指標をテストデータに対して求めたものである。

  • score_test

  • mean_squared_error

  • mean_absolute_percentage_error

  • root_mean_squared_error

  • r2

  • mean_absolute_error

model

score_test

mean_squared_error

mean_absolute_percentage_error

root_mean_squared_error

r2

mean_absolute_error

score_val

pred_time_test

pred_time_val

fit_time

pred_time_test_marginal

pred_time_val_marginal

fit_time_marginal

stack_level

can_infer

fit_order

CatBoost_BAG_L1/T2

-3637.413688

13230778.34

0.9864081393

3637.413688

-0.3378991525

1829.298613

-0.5230232141

0.01738619804

0.02107787132

1.852314949

0.01738619804

0.02107787132

1.852314949

1

TRUE

6

CatBoost_BAG_L1/T0

-3637.414387

13230783.42

0.986393549

3637.414387

-0.3378996665

1829.297729

-0.5225133891

0.01821208

0.02219128609

2.072986364

0.01821208

0.02219128609

2.072986364

1

TRUE

4

CatBoost_BAG_L1/T1

-3637.416136

13230796.15

0.9864029598

3637.416136

-0.3379009529

1829.298912

-0.522951075

0.02020359039

0.02140188217

2.67994976

0.02020359039

0.02140188217

2.67994976

1

TRUE

5

RandomForestMSE_BAG_L1/T0

-3637.418506

13230813.38

0.9861249063

3637.418506

-0.3379026961

1829.30332

-0.5314347876

0.07208180428

0.1127390862

0.4769694805

0.07208180428

0.1127390862

0.4769694805

1

TRUE

3