เราทำนายความรู้สึกได้ดีแค่ไหน?

Sentiment Analysis ด้วย Python

Violeta Misheva

Data Scientist

การแบ่งข้อมูล Train/Test

จำนวนข้อมูลทั้งหมดที่แบ่งเป็นชุดฝึกและชุดทดสอบ โดยชุดฝึกมีขนาดใหญ่กว่า

  • ชุดฝึก (Training set): ใช้ฝึกโมเดล (70-80% ของข้อมูลทั้งหมด)
  • ชุดทดสอบ (Testing set): ใช้ประเมินประสิทธิภาพของโมเดล
Sentiment Analysis ด้วย Python

Train/Test ใน Python

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 : ฟีเจอร์
  • y : ป้ายกำกับ
  • test_size: สัดส่วนของข้อมูลที่ใช้ทดสอบ
  • random_state: ตัวสร้าง seed สำหรับการแบ่งข้อมูล
  • stratify: สัดส่วนของแต่ละคลาสในข้อมูลที่แบ่งจะเท่ากับสัดส่วนของค่าที่ส่งให้พารามิเตอร์นี้
Sentiment Analysis ด้วย Python

Logistic Regression กับการแบ่ง Train/Test

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
Sentiment Analysis ด้วย Python

Accuracy Score กับการแบ่ง Train/Test

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
Sentiment Analysis ด้วย Python

Confusion Matrix

ตัวอย่าง Confusion Matrix สำหรับปัญหาการจำแนกแบบ Binary

Sentiment Analysis ด้วย Python

Confusion Matrix ใน Python

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]]
Sentiment Analysis ด้วย Python

มาฝึกกันเถอะ!

Sentiment Analysis ด้วย Python

Preparing Video For Download...