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ニュース

Q&A:ブラジルの政治、アマゾンの人権、AIについてのGabriela Sá Pessoaの見解

ブラジルの社会正義のジャーナリストは、MIT国際研究センターのフェローです

人工知能

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

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

人工知能

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

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

AIニュース

OpenAIのCEOであるSam Altman氏:AIの力が証明されるにつれて、仕事に関するリスクが生じる

OpenAIのCEOであるSam Altmanは、特に彼の作品であるChatGPTに関するAIの潜在的な危険性について公言してきました。最近のイ...

機械学習

「Prolificの機械学習エンジニア兼AIコンサルタント、ノラ・ペトロヴァ – インタビューシリーズ」

『Nora Petrovaは、Prolificの機械学習エンジニア兼AIコンサルタントですProlificは2014年に設立され、既にGoogle、スタンフ...

人工知能

ファイデムのチーフ・プロダクト・オフィサー、アルパー・テキン-インタビューシリーズ

アルパー・テキンは、FindemというAI人材の獲得と管理プラットフォームの最高製品責任者(CPO)ですFindemのTalent Data Clou...