क्या हमने वाकई sentiment अच्छी तरह प्रेडिक्ट किया?

Python में Sentiment Analysis

Violeta Misheva

Data Scientist

Train/test split

कुल observations को training और testing सेट में बाँटना, जहाँ training सेट बड़ा ब्लॉक है

  • Training सेट: मॉडल ट्रेन करने के लिए (पूरे डेटा का 70-80%)
  • Testing सेट: मॉडल का परफॉर्मेंस मापने के लिए
Python में Sentiment Analysis

Python में train/test

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=123, stratify=y)
  • X : features
  • y : labels
  • test_size: testing में उपयोग डेटा का अनुपात
  • random_state: split दोहराने हेतु seed जनरेटर
  • stratify: निकले sample में classes का अनुपात, दिए गए मानों के अनुपात जैसा ही रहेगा
Python में Sentiment Analysis

Train/test split के साथ logistic regression

log_reg = LogisticRegression().fit(X_train, y_train)
print('Accuracy on training data: ', log_reg.score(X_train, y_train))
0.76
print('Accuracy on testing data: ', log_reg.score(X_test, y_test))
0.73
Python में Sentiment Analysis

Train/test split के साथ accuracy score

from sklearn.metrics import accuracy_score
log_reg = LogisticRegression().fit(X_train, y_train)
y_predicted = log_reg.predict(X_test)
print('Accuracy score on test data: ', accuracy_score(y_test, y_predicted))
0.73
Python में Sentiment Analysis

Confusion matrix

बाइनरी क्लासिफिकेशन समस्या के लिए एक confusion matrix का उदाहरण

Python में Sentiment Analysis

Python में confusion matrix

from sklearn.metrics import confusion_matrix
log_reg = LogisticRegression().fit(X_train, y_train)
y_predicted = log_reg.predict(X_test)
print(confusion_matrix(y_test, y_predicted)/len(y_test))
[[0.3788 0.1224]
 [0.1352 0.3636]]
Python में Sentiment Analysis

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

Python में Sentiment Analysis

Preparing Video For Download...