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

人工知能

「Ami Hever、UVeyeの共同創設者兼CEO - インタビューシリーズ」

עמיר חבר הוא המנכל והמייסד של UVeye, סטארט-אפ ראיה ממוחשבת בלמידה עמוקה, המציבה את התקן הגלובלי לבדיקת רכבים עם זיהוי...

人工知能

「LeanTaaSの創設者兼CEO、モハン・ギリダラダスによるインタビューシリーズ」

モーハン・ギリダラダスは、AIを活用したSaaSベースのキャパシティ管理、スタッフ配置、患者フローのソフトウェアを提供する...

人工知能

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

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

人工知能

「aiOlaのCEO兼共同創設者、アミール・ハラマティによるインタビューシリーズ」

アミール・ハラマティは、aiOlaのCEO兼共同創業者であり、スピーチを作業可能にし、どこでも完全な正確さで業界固有のプロセ...

人工知能

「パクストンAIの共同創業者兼CEO、タングイ・シャウ - インタビューシリーズ」

タングイ・ショウは、Paxton AIの共同創設者兼CEOであり、法的研究と起草の負担を軽減するためにGenerative AIを使用するプラ...

人工知能

スコット・スティーブンソン、スペルブックの共同創設者兼CEO- インタビューシリーズ

スコット・スティーブンソンは、Spellbookの共同創設者兼CEOであり、OpenAIのGPT-4および他の大規模な言語モデル(LLM)に基...