Decision Tree का मूल्यांकन करें
आप अपने मॉडल की गुणवत्ता का आकलन इस आधार पर कर सकते हैं कि वह testing डेटा पर कितना अच्छा perform करता है। चूँकि मॉडल का प्रशिक्षण इन डेटा पर नहीं हुआ, इसलिए यह मॉडल का वस्तुनिष्ठ मूल्यांकन होता है.
एक confusion matrix ज्ञात मानों के मुकाबले predictions का उपयोगी विभाजन देती है। इसमें चार सेल होते हैं, जो निम्न काउंट्स दर्शाते हैं:
- True Negatives (TN) — मॉडल नकारात्मक outcome predict करता है और ज्ञात outcome नकारात्मक है
- True Positives (TP) — मॉडल सकारात्मक outcome predict करता है और ज्ञात outcome सकारात्मक है
- False Negatives (FN) — मॉडल नकारात्मक outcome predict करता है लेकिन ज्ञात outcome सकारात्मक है
- False Positives (FP) — मॉडल सकारात्मक outcome predict करता है लेकिन ज्ञात outcome नकारात्मक है.
ये काउंट्स (TN, TP, FN और FP) मिलाकर testing डेटा में records की कुल संख्या के बराबर होने चाहिए, जो flights डेटा का केवल एक subset है। आप tests डेटा में records की संख्या से तुलना कर सकते हैं, जो flights_test.count() है.
नोट: ये predictions testing डेटा पर किए गए हैं, इसलिए काउंट्स training डेटा पर predictions के मुकाबले छोटे होंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Machine Learning
अभ्यास निर्देश
labelऔरpredictionके संयोजनों की गिनती करके एक confusion matrix बनाइए। परिणाम दिखाइए.- True Negatives, True Positives, False Negatives और False Positives की संख्या गिनिए.
- accuracy निकालिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create a confusion matrix
prediction.groupBy(____, 'prediction').____().____()
# Calculate the elements of the confusion matrix
TN = prediction.filter('prediction = 0 AND label = prediction').count()
TP = prediction.____('____ AND ____').____()
FN = prediction.____('____ AND ____').____()
FP = prediction.____('____ AND ____').____()
# Accuracy measures the proportion of correct predictions
accuracy = ____
print(accuracy)