Tầm quan trọng của đặc trưng trong Random forest
Một điểm hữu ích của các phương pháp dựa trên cây là khả năng trích xuất tầm quan trọng của đặc trưng. Đây là cách định lượng để đo lường mỗi đặc trưng đóng góp bao nhiêu vào dự đoán. Nó giúp bạn tập trung vào những đặc trưng tốt nhất, có thể cải thiện hoặc tinh chỉnh chúng, và cũng giúp loại bỏ các đặc trưng vô ích đang làm rối mô hình.
Các mô hình cây trong sklearn có thuộc tính .feature_importances_ có thể truy cập sau khi fit mô hình. Thuộc tính này lưu điểm tầm quan trọng của đặc trưng. Bạn cần lấy chỉ số của các giá trị tầm quan trọng đã sắp xếp bằng np.argsort() để vẽ biểu đồ cột đẹp mắt cho tầm quan trọng của đặc trưng (được sắp xếp từ quan trọng nhất đến ít quan trọng nhất).
Bài tập này là một phần của khóa học
Machine Learning cho Tài chính bằng Python
Hướng dẫn bài tập
- Dùng thuộc tính
feature_importances_của mô hình random forest (rfr) để trích xuất tầm quan trọng của đặc trưng vào biếnimportances. - Dùng
argsortcủa numpy để lấy chỉ số của các giá trị tầm quan trọng theo thứ tự từ lớn đến nhỏ, và lưu các chỉ số đã sắp xếp vào biếnsorted_index. - Đặt nhãn xtick là tên các đặc trưng trong biến
labels, sử dụng danh sáchsorted_index.feature_namescần được chuyển thành một mảng numpy để có thể đánh chỉ mục bằng danh sáchsorted_index.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Get feature importances from our random forest model
importances = rfr.____
# Get the index of importances from greatest importance to least
sorted_index = ____(importances)[::-1]
x = range(len(importances))
# Create tick labels
labels = np.array(____)[____]
plt.bar(x, importances[sorted_index], tick_label=labels)
# Rotate tick labels to vertical
plt.xticks(rotation=90)
plt.show()