调整随机种子和取平均
ngram(ngram_range(1, 3))、subsample=1固定
random_state=4
train-mlogloss:0.088442 val-mlogloss:0.294975
random_state=42
train-mlogloss:0.0727 val-mlogloss:0.300373
random_state=8
train-mlogloss:0.079338 val-mlogloss:0.308202
random_state=0
train-mlogloss:0.080065 val-mlogloss:0.2925
subsumple=0.8 四个随机种子结果取平均:0.471909
sumsample=1 四个随机种子结果取平均:0.470195
可以看到,效果有所提升
打印混淆矩阵
由于输出的是每一类的概率值,使用 argmax()
函数取每一个样本概率最大的类别作为预测类别
采用 n 折交叉验证的方法时,将 n 个验证集的预测结果累加求和,得到整个训练集的预测结果,再调用 confusion_matrix()
方法打印混淆矩阵
图为简单参数跑出来的结果所打印的混淆矩阵,可以看出第 4 类的错分比例很大,因此需要增加第 4 类数据使得模型对该类数据的判断更为准确。
阅读 word2vec 原理
下周规划
- 使用 10 折交叉验证提升模型效果
- 绘制混淆矩阵每一类比例图并增加第 4 类数量再训练模型
- 使用 word2vec 训练词向量,和 ngram 模型融合查看效果
参考链接