32 XGBoost

XGBoostは、XGBoost Gradient Boostingオープン・ソース・パッケージを利用可能にする、非常に効率的でスケーラブルな、回帰および分類の機械学習アルゴリズムです。

32.1 XGBoostについて

Oracle Machine Learning for SQLのXGBoostは、トレーニング・データを準備し、XGBoostを起動し、モデルを作成して保持し、予測のためにモデルを適用します。

OML4SQL XGBoostは、分類と回帰の両方をサポートするスケーラブルな勾配ブースティング木システムです。これによって、オープン・ソースの勾配ブースティング・フレームワークを利用できるようになります。

XGBoostを独立した予測子として使用することや、クリック率予測、危険性予測、Webテキスト分類などの幅広い問題のために実社会の生産パイプラインに組み込むことができます。

OML4SQL XGBoostアルゴリズムでは、一般パラメータ、ブースタ・パラメータおよびタスク・パラメータという3つのタイプのパラメータを使用します。モデル設定の表からそれらのパラメータを設定します。このアルゴリズムでは、オープン・ソース・プロジェクトの設定のほとんどがサポートされています。

OML4SQLでは、XGBoostにより、多数の様々な分類仕様と回帰仕様、ランキング・モデルおよび生存モデルがサポートされています。分類の機械学習機能では2項モデルと多クラス・モデルがサポートされており、回帰の機械学習機能では回帰、ランキング、カウントおよび生存がサポートされています。

また、XGBoostでは、パーティション化されたモデルがサポートされており、データ準備が内部化されています。

32.2 XGBoostによるスコアリング

XGBoostを使用したスコアリングの方法について学習します。

分類XGBoostモデルでサポートされているSQLスコアリング関数は、PREDICTIONPREDICTION_COSTPREDICTION_DETAILSPREDICTION_PROBABILITYおよびPREDICTION_SETです。

回帰XGBoostモデルでサポートされているスコアリング関数は、PREDICTIONおよびPREDICTION_DETAILSです。

それらの予測関数は、次の情報を返します。

  • PREDICTIONは予測値を返します。
  • PREDICTION_COSTは、指定した予測のコストの測度をOracleのNUMBERとして返します(分類のみ)。
  • PREDICTION_DETAILSは、SHAP (SHapley Additive exPlanation)の寄与率を返します。
  • PREDICTION_PROBABILITYは、指定した予測の確率を返します(分類のみ)。
  • PREDICTION_SETは、各観測について、予測、および対応する予測確率を返します(分類のみ)。

関連項目:

XGBoostの例は、GitHubリポジトリ(https://github.com/oracle/oracle-db-examples/tree/master/machine-learning/sql/20c)を参照してください。