我正在研究一个多类文本分类问题。我已经为此建立了一个梯度提升模型。
关于数据集:
数据集有两列:“Test_name”和“Description”
Test_Name 列中有六个标签,“Description”列中有它们对应的描述。
我对这个问题的态度
数据准备
创建一个用于描述的词向量。
使用词向量构建语料库。
预处理任务,例如删除数字、空格、停用词和转换为小写。
构建文档术语矩阵 (dtm)。
从上面的 dtm 中删除稀疏的单词。
上述步骤导致计数频率矩阵显示每个单词在其对应列中的频率。
将计数频率矩阵转换为二进制实例矩阵,它将文档中单词的出现次数显示为 0 或 1,1 表示存在,0 表示不存在。
将原始笔记数据集中的标签列附加到转换后的 dtm。标签列有 6 个标签。
建筑模型
使用 H2o 包,构建 gbm 模型。
获得的结果
其中四个类标签分类良好,但其余两个分类不佳。
下面是输出:
Extract training frame with `h2o.getFrame("train")`
MSE: (Extract with `h2o.mse`) 0.1197392
RMSE: (Extract with `h2o.rmse`) 0.3460335
Logloss: (Extract with `h2o.logloss`) 0.3245868
Mean Per-Class Error: 0.3791268
Confusion Matrix: Extract with `h2o.confusionMatrix(<model>,train = TRUE)`)
Body Fluid Analysis = 401 / 2,759
Cytology Test = 182 / 1,087
Diagnostic Imaging = 117 / 3,907
Doctors Advice = 32 / 752
Organ Function Test = 461 / 463
Patient Related = 101 / 113
Totals = 1,294 / 9,081
器官功能测试和患者相关的错误分类错误相对较高。我怎样才能解决这个问题?