XGBOOSTも特徴量の重要度を取得できる?
はい、XGBoost(Extreme Gradient Boosting)モデルでも特徴量の重要度を取得することができます。XGBoostでは、特徴量の重要度を計算することで、モデルの予測に寄与する特徴量を理解し、モデルの解釈性を向上させることができます。
XGBoostモデルの特徴量の重要度を取得する方法は、get_booster()メソッドを使用してブースターを取得し、その後、get_score()メソッドを使用して各特徴量の重要度を取得することです。
以下は、XGBoostを使用してモデルを構築し、特徴量の重要度を取得する例です。
python
import xgboost as xgb import numpy as np # ランダムなデータを生成 X = np.random.rand(100, 10) # 100サンプル, 10特徴量 y = np.random.randint(2, size=100) # 2クラスの分類ターゲット # XGBoostモデルを構築 xgb_model = xgb.XGBClassifier() xgb_model.fit(X, y) # ブースターを取得 booster = xgb_model.get_booster() # 各特徴量の重要度を取得 importances = booster.get_score(importance_type='weight') # 各特徴量の重要度を出力 for feature, importance in importances.items(): print(f'Feature {feature}: Importance = {importance}')
このコードでは、ランダムな特徴量とターゲットを生成し、XGBoostモデルを構築しています。get_booster()メソッドを使用してブースターを取得し、その後、get_score()メソッドを使用して各特徴量の重要度を取得しています。特徴量の重要度が高いほど、その特徴量がモデルの予測に与える影響が大きいことを示します。

ディスカッション
コメント一覧
まだ、コメントがありません