我们真的预测对情感了吗?

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

Passons à la pratique !

Python 中的情感分析

Preparing Video For Download...