首页 文章

使用SVM对文本数据进行多标签分类

提问于
浏览
0

我有一个excel文件中的数据,我需要使用它来使用SVM执行多标签分类 . 它有两列,如下所示 . 'tweet' - A,B,C,D,E,F,G和'category'= X,Y,Z

推特类别

一个X.

B Y.

C Z.

D X,Y

E Y,Z

F X,Y,Z

G X,Z

给定推文,我想训练我的模型来预测它所属的类别 . 推文和类别都是文本 . 我正在尝试使用Weka的LibSVM分类器来进行分类,因为我读到它会进行多标签分类 . 我将csv文件转换为arff文件并将其加载到Weka中 . 然后我运行了“LibSVM”分类器 . 但是,我的结果非常差,如下所示 . 知道我做错了什么吗?使用“LibSVM”甚至可以进行多标签文本分类吗?

正确分类的实例82 25.9494%

错误分类的实例234 74.0506%

Kappa统计0

平均绝对误差0.0423

均方根误差0.2057

相对绝对误差89.9823%

根相对平方误差134.3377%

实例总数316

1 回答

  • 0

    SVM绝对可以用于多类分类 . 我之前没有使用过Weka LibSV,但如果您已经没有使用过,那么在输入任何类别的分类文本之前,您需要进行一些数据清理 . 清洁类型还取决于您的分类任务,但您可以查看以下用于文本分析的技术:

    1)从文本中删除twitter句柄

    2)删除您知道的停止词或单词,确保不会影响您的分类 . 也许你只能保留代词并删除任何其他单词 . 您可以使用POS标记来执行此任务 . 更多信息here

    3)删除标点符号

    4)使用n-gram从文本中获取上下文含义 . This网站对如何运作有一些很好的解释 . 从本质上讲,这意味着您将一系列单词视为一个特征,而不是将一个单词用作模型中的数据点 . 请注意,这可能会影响模型在训练时占用的内存量 .

    5)删除数据集中过于频繁或不太频繁出现的单词 .

    6)在您的案例中 balancer 您的 class 或类别 . 这意味着在训练模型之前,请确保训练数据具有相似数量的X,Y和Z类别 . 您的数据可能有很多分类为X和Y的推文,但在您的测试集中,您的推文主要映射到Z类别 .

相关问题