我們真的把情感預測得不錯嗎?

Python 情感分析

Violeta Misheva

Data Scientist

訓練/測試切分

將觀測分成訓練集與測試集的總數,其中訓練集是較大的區塊

  • 訓練集:用來訓練模型(佔全部資料的 70–80%)
  • 測試集:用來評估模型表現
Python 情感分析

在 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:用於切分的隨機種子
  • stratify:依此參數的類別比例做分層,樣本中的類別比例會與其相同
Python 情感分析

使用訓練/測試切分的羅吉斯迴歸

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 情感分析

使用訓練/測試切分的準確率

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 情感分析

混淆矩陣

二元分類問題的混淆矩陣範例

Python 情感分析

在 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]]
Python 情感分析

一起來練習吧!

Python 情感分析

Preparing Video For Download...