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

Gradient boosted trees: trực quan hóa

Giờ bạn đã có dự đoán từ mô hình, bạn có thể tự hỏi “chúng có tốt không?”. Có nhiều biểu đồ giúp bạn chẩn đoán độ chính xác của dự đoán; ở đây bạn sẽ xem hai biểu đồ phổ biến. Trước hết, nên vẽ biểu đồ scatter giữa giá trị dự đoán và giá trị thực để xem chúng so sánh thế nào. Tiếp theo, phần dư thường gần với phân phối chuẩn, nên vẽ biểu đồ mật độ của phần dư sẽ hữu ích. Các biểu đồ sẽ trông như sau.

Scatterplot of predicted response vs. actual response and density plot of distribution of residuals side by side.

Trong bài tập này, bạn sẽ tự tính phần dư (giá trị dự đoán trừ đi giá trị thực) cho các dự đoán của mô hình.

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

Nhập môn Spark với sparklyr trong R

Xem khóa học

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

Một tibble cục bộ responses, chứa năm dự đoán và năm thực tế, đã được định nghĩa sẵn.

  • Vẽ biểu đồ scatter của giá trị dự đoán so với giá trị thực.
    • Gọi ggplot().
    • Tham số đầu tiên là tập dữ liệu, responses.
    • Tham số thứ hai nên chứa tên cột không trích dẫn cho trục x và y (lần lượt là actualpredicted), bọc trong aes().
    • Thêm các điểm bằng cách gọi geom_point().
    • Làm các điểm bán trong suốt bằng cách đặt alpha = 0.1.
    • Thêm đường tham chiếu bằng cách gọi geom_abline() với intercept = 0slope = 1.
  • Tạo một tibble phần dư, đặt tên là residuals.
    • Gọi transmute() trên responses.
    • Cột mới nên tên là residual.
    • residual bằng giá trị dự đoán trừ đi giá trị thực.
  • Vẽ biểu đồ mật độ của phần dư.
    • Pipe tibble đã transmute vào ggplot().
    • ggplot() cần một thẩm mỹ duy nhất, residual bọc trong aes().
    • Thêm đường mật độ xác suất bằng cách gọi geom_density().
    • Thêm một đường tham chiếu dọc đi qua 0 bằng cách gọi geom_vline() với xintercept = 0.

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.

# responses has been pre-defined
responses

# Draw a scatterplot of predicted vs. actual
ggplot(___, aes(___, ___)) +
  # Add the points
  ___ +
  # Add a line at actual = predicted
  ___

residuals <- responses %>%
  # Transmute response data to residuals
  ___

# Draw a density plot of residuals
ggplot(___, aes(___)) +
    # Add a density curve
    ___ +
    # Add a vertical line through zero
    ___
Chỉnh sửa và Chạy Mã