Xác thực chéo

Machine Learning với PySpark

Andrew Collier

Data Scientist, Fathom Data

Toàn bộ dữ liệu

Machine Learning với PySpark

Tách dữ liệu thành tập huấn luyện và kiểm thử

Machine Learning với PySpark

Chia dữ liệu huấn luyện thành nhiều fold

Machine Learning với PySpark

Chồng fold - fold thứ nhất

Fold thứ nhất

Machine Learning với PySpark

Chồng fold - fold thứ hai

Fold thứ hai

Machine Learning với PySpark

Chồng fold - các fold khác

Các fold còn lại

Machine Learning với PySpark

Xe hơi - ôn lại

cars.select('mass', 'cyl', 'consumption').show(5)
+------+---+-----------+
|  mass|cyl|consumption|
+------+---+-----------+
|1451.0|  6|       9.05|
|1129.0|  4|       6.53|
|1399.0|  4|       7.84|
|1147.0|  4|       7.84|
|1111.0|  4|       9.05|
+------+---+-----------+
Machine Learning với PySpark

Estimator và evaluator

Đối tượng để xây dựng mô hình. Có thể là pipeline.

regression = LinearRegression(labelCol='consumption')

Đối tượng đánh giá hiệu năng mô hình.

evaluator = RegressionEvaluator(labelCol='consumption')
Machine Learning với PySpark

Lưới và cross-validator

from pyspark.ml.tuning import CrossValidator, ParamGridBuilder

Lưới giá trị tham số (tạm để trống).

params = ParamGridBuilder().build()

Đối tượng xác thực chéo.

cv = CrossValidator(estimator=regression,
                    estimatorParamMaps=params,
                    evaluator=evaluator,
                    numFolds=10, seed=13)
Machine Learning với PySpark

Cross-validator cũng cần huấn luyện

Áp dụng xác thực chéo lên dữ liệu huấn luyện.

cv = cv.fit(cars_train)

RMSE trung bình qua các fold là bao nhiêu?

cv.avgMetrics
[0.800663722151572]
Machine Learning với PySpark

Cross-validator hoạt động như mô hình

Dự đoán trên tập kiểm thử gốc.

evaluator.evaluate(cv.transform(cars_test))
# RMSE trên dữ liệu kiểm thử
0.745974203928479

Nhỏ hơn nhiều so với RMSE xác thực chéo.

# RMSE từ xác thực chéo
0.800663722151572

Chia train-test đơn giản sẽ cho đánh giá quá lạc quan về hiệu năng mô hình.

Machine Learning với PySpark

Xác thực chéo cho mọi mô hình!

Machine Learning với PySpark

Preparing Video For Download...