मॉडल प्रदर्शन मापना

scikit-learn के साथ Supervised Learning

George Boorman

Core Curriculum Manager, DataCamp

मॉडल प्रदर्शन मापना

  • Classification में, accuracy एक प्रचलित metric है

  • Accuracy:

सही प्रेडिक्शंस ÷ कुल ऑब्ज़र्वेशंस

scikit-learn के साथ Supervised Learning

मॉडल प्रदर्शन मापना

  • हम accuracy कैसे मापें?

  • जिस डेटा पर classifier फिट हुआ, उसी पर accuracy निकाल सकते हैं

  • लेकिन यह generalize करने की क्षमता नहीं दिखाता

scikit-learn के साथ Supervised Learning

Accuracy निकालना

डेटा को training सेट और test सेट में बाँटना

scikit-learn के साथ Supervised Learning

Accuracy निकालना

training सेट पर classifier फिट करना

scikit-learn के साथ Supervised Learning

Accuracy निकालना

test सेट से accuracy निकालना

scikit-learn के साथ Supervised Learning

Train/test split

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=21, stratify=y)
knn = KNeighborsClassifier(n_neighbors=6)
knn.fit(X_train, y_train)
print(knn.score(X_test, y_test))
0.8800599700149925
scikit-learn के साथ Supervised Learning

मॉडल जटिलता

  • बड़ा k = कम complex मॉडल = underfitting हो सकता है

  • छोटा k = ज़्यादा complex मॉडल = overfitting हो सकता है

k=1, k=9, और k=18 के लिए KNN decision boundary दिखाते scatter plots

scikit-learn के साथ Supervised Learning

मॉडल जटिलता और over/underfitting

train_accuracies = {}
test_accuracies = {}
neighbors = np.arange(1, 26)

for neighbor in neighbors:
knn = KNeighborsClassifier(n_neighbors=neighbor)
knn.fit(X_train, y_train)
train_accuracies[neighbor] = knn.score(X_train, y_train) test_accuracies[neighbor] = knn.score(X_test, y_test)
scikit-learn के साथ Supervised Learning

परिणामों का प्लॉट

plt.figure(figsize=(8, 6))
plt.title("KNN: Varying Number of Neighbors")
plt.plot(neighbors, train_accuracies.values(), label="Training Accuracy")
plt.plot(neighbors, test_accuracies.values(), label="Testing Accuracy")
plt.legend()
plt.xlabel("Number of Neighbors")
plt.ylabel("Accuracy")
plt.show()
scikit-learn के साथ Supervised Learning

मॉडल जटिलता कर्व

neighbors की संख्या बनाम accuracy का line plot, जहाँ k बढ़ने पर training और test दोनों की accuracy घटती है

scikit-learn के साथ Supervised Learning

मॉडल जटिलता कर्व

line plot में तीर 13 neighbors पर इशारा करता है, जहाँ test सेट accuracy सबसे अच्छी है

scikit-learn के साथ Supervised Learning

अभ्यास करते हैं!

scikit-learn के साथ Supervised Learning

Preparing Video For Download...