XGBoost 最終ガイド(パート2)

XGBoost 最終ガイド(パート2)

PythonでXGBoostアルゴリズムをゼロから実装する

Image by StockSnap from Pixabay

前の記事ではXGBoostアルゴリズムについて説明し、疑似コードでの実装を示しました。この記事では、Pythonでアルゴリズムをゼロから実装します。

提供されたコードは、XGBoostアルゴリズムのコア機能をデモンストレーションするための簡潔で軽量な実装です(コード行数は約300行)。したがって、速度やメモリ使用量の最適化はされておらず、XGBoostライブラリが提供するすべてのオプションも含まれていません(ライブラリの機能の詳細については、https://xgboost.readthedocs.io/を参照してください)。具体的には以下の点に注意してください:

  1. このコードは純粋なPythonで書かれており、XGBoostライブラリのコアはC++で書かれています(PythonのクラスはC++の実装の薄いラッパーに過ぎません)。
  2. ウェイト付き分位数スケッチ、アウトオブコアツリー学習、データの並列処理など、大量のデータを扱うためのさまざまな最適化は含まれていません。これらの最適化については、このシリーズの次の記事で詳しく説明します。
  3. 現在の実装は回帰および2値分類のタスクのみをサポートしており、XGBoostライブラリは多クラス分類およびランキング問題もサポートしています。
  4. 当社の実装は、XGBoostライブラリに存在するハイパーパラメータの一部のみをサポートしています。具体的には、以下のハイパーパラメータをサポートしています:
  • n_estimators(デフォルト=100):アンサンブル内の回帰木の数(ブースティングの反復回数)。
  • max_depth(デフォルト=6):各木の最大深度(レベルの数)。
  • learning_rate(デフォルト=0.3):木に適用されるステップサイズの縮小。
  • reg_lambda(デフォルト=1):葉の重みに適用されるL2正則化項。
  • gamma(デフォルト=0):特定のノードを分割するために必要な最小損失削減。

一貫性のために、これらのハイパーパラメータの名前とデフォルト値は、XGBoostライブラリで定義されているものと同じにしています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「ゲイリー・ヒュースティス、パワーハウスフォレンジクスのオーナー兼ディレクター- インタビューシリーズ」

ゲイリー・ヒュースティス氏は、パワーハウスフォレンジックスのオーナー兼ディレクターであり、ライセンスを持つ私立探偵、...

AIテクノロジー

アンソニー・グーネティレケ氏は、Amdocsのグループ社長であり、テクノロジー部門および戦略部門の責任者です- インタビューシリーズ

アンソニー・グーネティレーケは、Amdocsでグループ社長、テクノロジーと戦略担当です彼と企業戦略チームは、会社の戦略を策...

AIテクノロジー

「LXTのテクノロジーバイスプレジデント、アムル・ヌール・エルディン - インタビューシリーズ」

アムル・ヌール・エルディンは、LXTのテクノロジー担当副社長ですアムルは、自動音声認識(ASR)の文脈での音声/音響処理と機...

人工知能

「ジンディのCEO兼共同創設者、セリーナ・リー― インタビューシリーズ」

「Celina Leeは、ZindiのCEO兼共同創設者であり、アフリカのデータサイエンティスト向けの最大の専門ネットワークです Celina...

人工知能

「トリントの創設者兼CEO、ジェフ・コフマンへのインタビューシリーズ」

ジェフ・コーフマンは、ABC、CBS、CBCニュースで30年のキャリアを持った後、Trintの創設者兼CEOとなりましたジェフは手作業の...

人工知能

「ナレ・ヴァンダニャン、Ntropyの共同創設者兼CEO- インタビューシリーズ」

Ntropyの共同創設者兼CEOであるナレ・ヴァンダニアンは、開発者が100ミリ秒未満で超人的な精度で金融取引を解析することを可...