这是我的影评,你猜我喜不喜欢这部电影(二)

2018-01-24  本文已影响0人  401a26360366

在写完上一篇文章之后,我了解到了Word Embeddings。出于好奇,我试着用一份已经训练好的GloVe word vectors给XGBoost加入了新特征,看看加入这些特征之后模型的预测效果会不会提升。

这篇文章简单记录一下这次尝试的结果。

这些新特征,具体是这样计算的:

  1. 给文本做tokenization
  2. 基于这个现有的(50维的)word vectors,将每一份文本向量化(50维)
  3. 用SVD将维度降至10维,把这10维数据加入到原有训练集中进行训练

也就是说,和上一次相比,这一次我的训练集多了10个新特征。

在没有进行精细调参的情况下,(测试集)结果相当感人:

ROC曲线对比图如下:

001 - 两个模型的ROC曲线对比图

新模型(橙色)明显优于旧模型(蓝色)。

再来看看XGBoost返回的特征重要程度排名:

002 - 新模型下的特征重要程度排名

排在前4位的,有2个是这次新加入的特征。

最后在来看一下新模型下的confusion matrix(threshold = 0.48):

003 - 新模型下的confusion matrix

测试集中共有300份影评,其中正面影评共有161份,负面影评共139份。在这些正面的影评中,有80.7%份影评被正确识别(TPR);在这些负面的影评中,有81.3%份影评被正确识别(TNR)。换句话说,在TNR相似的情况下,TPR显著提升了。

被word vectors惊艳到了。

以上。

上一篇下一篇

猜你喜欢

热点阅读