Cross-Validation

PySpark के साथ Machine Learning

Andrew Collier

Data Scientist, Fathom Data

पूरा डेटासेट

PySpark के साथ Machine Learning

डेटासेट को training और testing सेट में बाँटा गया

PySpark के साथ Machine Learning

Training डेटा को कई folds में बाँटा गया

PySpark के साथ Machine Learning

Fold upon fold - पहला fold

पहला fold

PySpark के साथ Machine Learning

Fold upon fold - दूसरा fold

दूसरा fold

PySpark के साथ Machine Learning

Fold upon fold - अन्य folds

बाकी folds

PySpark के साथ Machine Learning

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|
+------+---+-----------+
PySpark के साथ Machine Learning

Estimator और evaluator

मॉडल बनाने के लिए एक ऑब्जेक्ट. यह एक pipeline हो सकता है.

regression = LinearRegression(labelCol='consumption')

मॉडल परफॉर्मेंस मापने का ऑब्जेक्ट.

evaluator = RegressionEvaluator(labelCol='consumption')
PySpark के साथ Machine Learning

Grid और cross-validator

from pyspark.ml.tuning import CrossValidator, ParamGridBuilder

पैरामीटर वैल्यूज़ का एक grid (अभी खाली).

params = ParamGridBuilder().build()

Cross-validation ऑब्जेक्ट.

cv = CrossValidator(estimator=regression,
                    estimatorParamMaps=params,
                    evaluator=evaluator,
                    numFolds=10, seed=13)
PySpark के साथ Machine Learning

Cross-validators को भी training चाहिए

Training डेटा पर cross-validation लागू करें.

cv = cv.fit(cars_train)

Folds पर औसत RMSE क्या है?

cv.avgMetrics
[0.800663722151572]
PySpark के साथ Machine Learning

Cross-validators मॉडल जैसे ही काम करते हैं

मूल testing डेटा पर predictions बनाएँ.

evaluator.evaluate(cv.transform(cars_test))
# testing डेटा पर RMSE
0.745974203928479

Cross-validated RMSE से काफी छोटा.

# cross-validation से RMSE
0.800663722151572

सिर्फ train-test split मॉडल परफॉर्मेंस को जरूरत से ज्यादा अच्छा दिखाता.

PySpark के साथ Machine Learning

सभी मॉडलों पर cross-validate करें!

PySpark के साथ Machine Learning

Preparing Video For Download...