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

Tạo grid

Tiếp theo, bạn cần tạo một lưới giá trị để tìm kiếm khi xác định các siêu tham số tối ưu. Tiểu mô-đun pyspark.ml.tuning có một lớp tên là ParamGridBuilder làm đúng việc đó (có lẽ bạn bắt đầu thấy một mô típ: PySpark có tiểu mô-đun cho hầu như mọi thứ!).

Bạn sẽ cần dùng các phương thức .addGrid().build() để tạo một lưới dùng cho cross validation. Phương thức .addGrid() nhận một tham số của mô hình (một thuộc tính của Estimator mô hình, lr, mà bạn đã tạo vài bài trước) và một danh sách các giá trị bạn muốn thử. Phương thức .build() không nhận đối số nào; nó chỉ trả về lưới mà bạn sẽ dùng sau đó.

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

Nền tảng về PySpark

Xem khóa học

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

  • Import tiểu mô-đun pyspark.ml.tuning với bí danh tune.
  • Gọi bộ khởi tạo lớp ParamGridBuilder() không có đối số. Lưu thành grid.
  • Gọi phương thức .addGrid() trên grid với lr.regParam là đối số thứ nhất và np.arange(0, .1, .01) là đối số thứ hai. Lời gọi thứ hai này là một hàm từ mô-đun numpy (đã import as np) tạo ra một danh sách số từ 0 đến .1, tăng mỗi lần .01. Ghi đè grid bằng kết quả.
  • Cập nhật grid lần nữa bằng cách gọi .addGrid() lần thứ hai để tạo lưới cho lr.elasticNetParam chỉ gồm các giá trị [0, 1].
  • Gọi phương thức .build() trên grid và ghi đè nó bằng đầu ra.

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.

# Import the tuning submodule
import ____ as ____

# Create the parameter grid
grid = tune.____

# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)

# Build the grid
grid = grid.build()
Chỉnh sửa và Chạy Mã