Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีการลงจุดด้วยโมเดล xgboost.XGBCClassifier.feature_importances_ (แมทพล็อตลิบ)


ในการเปลี่ยนขนาดของพล็อตใน xgboost.plot_importance เราสามารถทำตามขั้นตอนต่อไปนี้ -

  • กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
  • โหลดข้อมูลจาก csv ไฟล์.
  • รับ x และ ข้อมูลจากชุดข้อมูลที่โหลด
  • รับโมเดล xgboost.XGBCClassifier.feature_importances_ ตัวอย่าง
  • พอดี x และ ข้อมูลลงในโมเดล
  • พิมพ์แบบจำลอง
  • สร้างพล็อตแบบแท่ง
  • หากต้องการแสดงรูป ให้ใช้ show() วิธีการ

ตัวอย่าง

from numpy import loadtxt
from xgboost import XGBClassifier
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# data.csv contains data like -> 13, 145, 82, 19, 110, 22.2, 0.245, 57, 0
dataset = loadtxt('data.csv', delimiter=",")
X = dataset[:, 0:8]
y = dataset[:, 8]

model = XGBClassifier()
model.fit(X, y)

print(model.feature_importances_)

plt.bar(range(len(model.feature_importances_)), model.feature_importances_)

plt.show()

ผลลัพธ์

[13:46:53] WARNING: ../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.
[0.10621197 0.2424023 0.08803366 0.07818192 0.10381887 0.1486732
0.10059207 0.13208601]

วิธีการลงจุดด้วยโมเดล xgboost.XGBCClassifier.feature_importances_ (แมทพล็อตลิบ)