Tôi đang sử dụng XGBoost với Python và đã đào tạo thành công mô hình bằng chức năng XGBoost train()
có tên trên số DMatrix
. Ma trận được tạo ra từ một khung dữ liệu Pandas, có tên tính năng cho các cột.XGBoost plot_importance không hiển thị tên đối tượng
Xtrain, Xval, ytrain, yval = train_test_split(df[feature_names], y, \
test_size=0.2, random_state=42)
dtrain = xgb.DMatrix(Xtrain, label=ytrain)
model = xgb.train(xgb_params, dtrain, num_boost_round=60, \
early_stopping_rounds=50, maximize=False, verbose_eval=10)
fig, ax = plt.subplots(1,1,figsize=(10,10))
xgb.plot_importance(model, max_num_features=5, ax=ax)
tôi muốn bây giờ nhìn thấy tầm quan trọng tính năng sử dụng xgboost.plot_importance()
chức năng, nhưng cốt truyện kết quả không hiển thị tên tính năng. Thay vào đó, các đối tượng địa lý được liệt kê là f1
, f2
, f3
, v.v. như được hiển thị bên dưới.
Tôi nghĩ vấn đề là tôi chuyển khung dữ liệu Pandas ban đầu của tôi vào một DMatrix. Làm cách nào tôi có thể liên kết tên đối tượng chính xác để cốt truyện về tính năng quan trọng hiển thị chúng?