Validasi Silang

Machine Learning dengan PySpark

Andrew Collier

Data Scientist, Fathom Data

Dataset lengkap

Machine Learning dengan PySpark

Dataset dibagi menjadi set pelatihan dan pengujian

Machine Learning dengan PySpark

Data latih dibagi menjadi beberapa lipatan

Machine Learning dengan PySpark

Lapisan demi lapisan - lipatan pertama

Lipatan pertama

Machine Learning dengan PySpark

Lapisan demi lapisan - lipatan kedua

Lipatan kedua

Machine Learning dengan PySpark

Lapisan demi lapisan - lipatan lain

Sisa lipatan

Machine Learning dengan PySpark

Kembali ke data Cars

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 dengan PySpark

Estimator dan evaluator

Objek untuk membangun model. Dapat berupa pipeline.

regression = LinearRegression(labelCol='consumption')

Objek untuk mengevaluasi kinerja model.

evaluator = RegressionEvaluator(labelCol='consumption')
Machine Learning dengan PySpark

Grid dan cross-validator

from pyspark.ml.tuning import CrossValidator, ParamGridBuilder

Grid nilai parameter (sementara kosong).

params = ParamGridBuilder().build()

Objek validasi silang.

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

Cross-validator juga perlu dilatih

Terapkan validasi silang pada data latih.

cv = cv.fit(cars_train)

Berapa rata-rata RMSE di semua lipatan?

cv.avgMetrics
[0.800663722151572]
Machine Learning dengan PySpark

Cross-validator bertindak seperti model

Buat prediksi pada data uji asli.

evaluator.evaluate(cv.transform(cars_test))
# RMSE pada data uji
0.745974203928479

Jauh lebih kecil daripada RMSE tervalidasi-silang.

# RMSE dari validasi silang
0.800663722151572

Split train-test sederhana akan memberi gambaran kinerja model yang terlalu optimistis.

Machine Learning dengan PySpark

Validasi-silang semua model!

Machine Learning dengan PySpark

Preparing Video For Download...