सिंपल फ्लाइट ड्यूरेशन मॉडल का क्रॉस-वैलिडेशन
आप पहले ही फ्लाइट ड्यूरेशन की भविष्यवाणी के लिए कुछ मॉडल बना चुके हैं और उन्हें सिंपल train/test स्प्लिट से इवैल्यूएट किया है. हालाँकि, क्रॉस-वैलिडेशन मॉडल परफॉर्मेंस को आकलित करने का कहीं बेहतर तरीका देता है.
इस अभ्यास में आप क्रॉस-वैलिडेशन का इस्तेमाल करके फ्लाइट ड्यूरेशन के लिए एक सिंपल मॉडल ट्रेन करेंगे. ट्रैवल टाइम आम तौर पर डिस्टेंस से मज़बूती से कोरिलेटेड होता है, इसलिए सिर्फ km कॉलम का उपयोग भी एक ठीक-ठाक मॉडल दे सकता है.
डेटा को रैंडम तरीके से flights_train और flights_test में बाँटा गया है.
निम्नलिखित क्लासेज़ पहले से इम्पोर्ट की गई हैं: LinearRegression, RegressionEvaluator, ParamGridBuilder और CrossValidator.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Machine Learning
अभ्यास निर्देश
- एक खाली पैरामीटर ग्रिड बनाएँ.
- एक लीनियर रिग्रेशन मॉडल बनाने और उसे इवैल्यूएट करने के लिए ऑब्जेक्ट्स बनाएँ. मॉडल को "duration" फ़ील्ड की भविष्यवाणी करनी चाहिए.
- एक क्रॉस-वैलिडेटर ऑब्जेक्ट बनाएँ.
estimator,estimatorParamMapsऔरevaluatorआर्ग्युमेंट्स के लिए मान दें. 5-fold क्रॉस-वैलिडेशन चुनें. - ट्रेनिंग डेटा के कई फोल्ड्स पर मॉडल को ट्रेन और टेस्ट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-valdiation builds multiple models, the fit() method can take a little while to complete.