Yolo 深圳
深セン
今すぐ参加
用語集

XGBoost

分類および回帰タスクにおいて正確な予測を実現する、強力で高速かつ汎用性の高い機械学習アルゴリズムであるXGBoostをご覧ください。

XGBoost(エクストリーム・グラジェント・ブースティング)は、勾配ブースティングのフレームワークを実装した、高度に最適化された柔軟なソフトウェア・ライブラリである。 を実装した、高度に最適化された柔軟なソフトウェア・ライブラリである。機械学習(ML)の分野で広く認知されている。 機械学習(ML)の分野で広く認知されている。 特に構造化されたデータや表形式のデータにおいて、その卓越した速度と性能は機械学習(ML)の分野で広く認知されている。当初は ワシントン大学の研究プロジェクトとして開発されたXGBoostは、大規模データを処理できることから、データサイエンスの定番となった。 大規模なデータセットを処理し、以下のようなデータサイエンスコンテストで最先端の結果を達成している。 Kaggleで開催されるようなデータ・サイエンス・コンペティションで最先端の結果を出せることから、データ・サイエンスの定番となっている。XGBoostは アンサンブル手法として機能する。 アンサンブル手法として機能し、複数の弱いモデルの予測を組み合わせて頑健な強い学習器を作成する。

XGBoostの仕組み

XGBoostの基本原理は勾配ブースティングである、 という手法で、新しいモデルを順次追加し、既存のモデルのエラーを修正する。具体的には は決定木をベース学習器として使用する。標準的な XGBoostは、標準的なブースティングとは異なり、凸型の 損失関数(予測値と実際の値の差を測定する と正則化項 正則化項(モデルの複雑さにペナルティを課す)を組み合わせた特定の目的関数を用いて学習プロセスを最適化する。

XGBoostは、いくつかのシステム最適化によって、従来の勾配ブースティングを改良している:

  • 並列処理ブースティングは本質的に逐次的であるが XGBoostは各ツリーの構築を並列化し、モデルの学習時間を大幅に短縮します。 モデルの学習時間を大幅に短縮します。
  • 正則化 L1(Lasso)正則化とL2(Ridge)正則化が含まれ、オーバーフィッティングを防ぎます。 オーバーフィッティングを防止し、モデルが新しいデータにうまく汎化されることを保証します。 を保証します。
  • ツリーの刈り込みアルゴリズムは は、"max_depth" パラメータとバックワード・プルーニングを用いて、正の利得をもたらさない分割を除去する、 モデル構造を最適化する。
  • 欠落データの処理XGBoost は、学習中に欠損値を処理するための最適な方向を学習し、データの前処理パイプラインを簡素化します。 データ前処理パイプラインを簡素化する。

実際のアプリケーション

XGBoostは、そのスケーラビリティと効率性により、様々な業界で重要な意思決定タスクに採用されています。 タスクに導入されています。

  1. 金融詐欺の検出金融機関はXGBoostを活用して 不正取引を特定するための異常検知に トランザクションを特定します。取引履歴とユーザーの行動を分析することで、このモデルはアクティビティを合法的なものと疑わしいものにclassify ことができます。 高い精度とリコールすることができる。
  2. 医療リスクの予測:医療データ分析では 医療データ分析では、XGBoostは次のような用途に使用されます。 再入院の可能性や糖尿病のような慢性疾患の発症など、患者の転帰を予測する、 構造化された患者記録と臨床変数に基づいています。

他モデルとの比較

XGBoostがMLの中でどのような位置づけにあるかを理解するには、他の一般的なアルゴリズムと区別する必要がある。

実施例

以下のPython サンプルは、次のように簡単な分類器を訓練する方法を示しています。 xgboost ライブラリを を合成データセットに適用した。これは、XGBoostを標準的な データサイエンス ワークフロー

import xgboost as xgb
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

# Create a synthetic dataset for binary classification
X, y = make_classification(n_samples=1000, n_features=20, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Initialize and train the XGBoost classifier
model = xgb.XGBClassifier(n_estimators=100, learning_rate=0.1, max_depth=3)
model.fit(X_train, y_train)

# Display the accuracy on the test set
print(f"Model Accuracy: {model.score(X_test, y_test):.4f}")

数学的な基礎については、XGBoostのオリジナルの研究論文に詳しい説明がある。 XGBoostの研究論文では、このシステムの設計について詳しく説明している。 を参照されたい。さらに コンピューター・ビジョン(CV)アプリケーションに興味のあるユーザーは Ultralytics YOLO モデルが、視覚的なデータ入力を処理することで、表形式モデルをどのように補完するのか。 視覚的なデータ入力を処理することで、表形式モデルを補完することができます。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加