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

Gom tất cả lại với nhau

Bạn có hai mối bận tâm về pipeline tại startup phát hiện loạn nhịp tim:

  • Ứng dụng được huấn luyện trên bệnh nhân ở mọi độ tuổi, nhưng hiện chủ yếu được dùng bởi người tập thể dục, thường là người trẻ. Bạn nghi ngờ đây có thể là một trường hợp dịch chuyển miền (domain shift), nên muốn loại bỏ mọi ví dụ trên 50 tuổi.
  • Bạn vẫn lo về overfitting, nên muốn xem liệu giảm độ phức tạp của random forest classifier và chọn lọc một số đặc trưng có giúp cải thiện hay không.

Bạn sẽ tạo một pipeline với bước chọn đặc trưng SelectKBest()RandomForestClassifier, cả hai đều đã được import. Bạn cũng có GridSearchCV(), Pipeline, numpynppickle. Dữ liệu có sẵn dưới tên arrh.

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

Thiết kế quy trình Machine Learning bằng Python

Xem khóa học

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

  • Tạo một pipeline với SelectKBest() là bước ftRandomForestClassifier() là bước clf.
  • Tạo một lưới tham số để tinh chỉnh k trong SelectKBest()max_depth trong RandomForestClassifier().
  • Dùng GridSearchCV() để tối ưu pipeline của bạn theo lưới đó và dữ liệu chỉ gồm những người dưới 50 tuổi.
  • Lưu pipeline đã tối ưu vào một pickle để đưa vào sản xuất.

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 a pipeline 
pipe = Pipeline([
  ('ft', ____), ('clf', ____(random_state=2))])

# Create a parameter grid
grid = {'ft__k':[5, 10], '____':[10, 20]}

# Execute grid search CV on a dataset containing under 50s
grid_search = ____(pipe, param_grid=grid)
arrh = arrh.____[____(arrh['age'] < 50)]
____.____(arrh.drop('class', 1), arrh['class'])

# Push the fitted pipeline to production
with ____('pipe.pkl', ____) as file:
    pickle.dump(____, file)
Chỉnh sửa và Chạy Mã