Bắt đầu ngayBắt đầu miễn phí

Trích xuất một tham số của Random Forest

Bây giờ bạn sẽ chuyển phần công việc đã làm với mô hình logistic regression sang mô hình random forest. Một tham số của mô hình này là, với mỗi cây, cách nó quyết định tách (split) ở mỗi mức.

Phân tích này không hữu ích bằng các hệ số của logistic regression, vì bạn hầu như sẽ không thể khám phá mọi lần chia và mọi cây trong một mô hình random forest. Tuy vậy, đây là một bài tập rất hữu ích để "ngó" vào bên trong xem mô hình đang làm gì.

Trong bài tập này, chúng ta sẽ trích xuất một cây đơn từ mô hình random forest, trực quan hóa nó và trích xuất theo lập trình một trong các lần chia.

Bạn có sẵn:

  • Một đối tượng mô hình random forest, rf_clf
  • Một ảnh phần đỉnh của cây quyết định đã chọn, tree_viz_image
  • DataFrame X_train và danh sách original_variables

Bài tập này là một phần của khóa học

Tinh chỉnh siêu tham số trong Python

Xem khóa học

Hướng dẫn bài tập

  • Trích xuất cây thứ 7 (chỉ số 6) từ mô hình random forest.
  • Trực quan hóa cây này (tree_viz_image) để xem các quyết định chia.
  • Trích xuất đặc trưng và ngưỡng (level) của lần chia ở đỉnh.
  • In ra đặc trưng và ngưỡng cùng nhau.

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.

# Extract the 7th (index 6) tree from the random forest
chosen_tree = rf_clf.estimators_[____]

# Visualize the graph using the provided image
imgplot = plt.imshow(____)
plt.show()

# Extract the parameters and level of the top (index 0) node
split_column = chosen_tree.tree_.feature[____]
split_column_name = X_train.columns[split_column]
split_value = chosen_tree.tree_.threshold[____]

# Print out the feature and level
print("This node split on feature {}, at a value of {}".format(split_column_name, ____))
Chỉnh sửa và Chạy Mã