Nghiên cứu tình huống bệnh thận III: Pipeline đầy đủ
Đến lúc ghép tất cả các transform cùng với XGBClassifier để xây dựng pipeline đầy đủ!
Ngoài numeric_categorical_union mà bạn đã tạo ở bài trước, còn cần hai transform khác: Dictifier() (chúng tôi đã tạo sẵn cho bạn) và DictVectorizer().
Sau khi tạo pipeline, nhiệm vụ của bạn là thực hiện cross-validation để xem mô hình hoạt động tốt đến đâu.
Bài tập này là một phần của khóa học
Gradient Boosting Cực Mạnh với XGBoost
Hướng dẫn bài tập
- Tạo pipeline với các transform
numeric_categorical_union,Dictifier(), vàDictVectorizer(sort=False), cùng estimatorxgb.XGBClassifier()vớimax_depth=3. Đặt tên các transform lần lượt là"featureunion","dictifier","vectorizer", và estimator là"clf". - Thực hiện cross-validation 3-fold trên
pipelinebằngcross_val_score(). Truyền vào pipeline,pipeline, dữ liệu đặc trưng,kidney_data, biến đầu ra,y. Đồng thời đặtscoringlà"roc_auc"vàcvlà3.
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.
# Create full pipeline
pipeline = ____([
("____", ____),
("____", ____),
("____", ____),
("____", ____)
])
# Perform cross-validation
cross_val_scores = ____(____, ____, ____, ____="____", ____=____)
# Print avg. AUC
print("3-fold AUC: ", np.mean(cross_val_scores))