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

機械学習

もし芸術が私たちの人間性を表現する方法であるなら、人工知能はどこに適合するのでしょうか?

MITのポストドクターであるジヴ・エプスタイン氏(SM '19、PhD '23)は、芸術やその他のメディアを作成するために生成的AIを...

人工知能

「マーシャンの共同創設者であるイータン・ギンスバーグについてのインタビューシリーズ」

エタン・ギンズバーグは、マーシャンの共同創業者であり、すべてのプロンプトを最適なLLMに動的にルーティングするプラットフ...

人工知能

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

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

人工知能

「ElaiのCEO&共同創業者、Vitalii Romanchenkoについてのインタビューシリーズ」

ヴィタリー・ロマンチェンコは、ElaiのCEO兼共同創設者であり、マイク、カメラ、俳優、スタジオの必要なく、個人が一流のビデ...

人工知能

「サティスファイラボのCEO兼共同創設者、ドニー・ホワイト- インタビューシリーズ」

2016年に設立されたSatisfi Labsは、会話型AI企業のリーディングカンパニーです早期の成功は、ニューヨーク・メッツ、メイシ...

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...