如何使用SVM创建文本分类的向量空间

我在为LIBSVM生成输入训练向量集时遇到了一些问题。我有3个类别和它们的相关训练文档,词项权重如下(仅为假设)。

(标签/类别):1
词频向量(TF*IDF)
文档1-> 1:0.25 2:1.056 3:2.356
文档2-> 2:1.25 3:0.145 4:1.543
文档3-> 1:1.00 2:2.145 5:3.543

(标签/类别):2
词频向量(TF*IDF)
文档4-> 1:0.25 2:1.056 3:2.356
文档5-> 2:1.25 3:0.145 4:1.543
文档6-> 1:1.00 2:2.145 5:3.543

(标签/类别):3
词频向量(TF*IDF)
文档7-> 1:0.25 2:1.056 3:2.356
文档8-> 2:1.25 3:0.145 4:1.543
文档9-> 1:1.00 2:2.145 5:3.543

有人能告诉我如何将这些转换成LIBSVM的训练向量集吗?这里的1:0.25 2:1.056 3:2.356是词项索引及其权重。词项索引在全局字典中手动维护。

另外,我想知道如何将测试文档转换成词向量?

提前感谢。


你好Qnan.. 我已经按照你的建议准备了样本训练向量空间。你能告诉我我的向量形成是否正确吗?

(标签/类别):1

1 1:0.25 2:1.056 3:2.356 ->(训练实例1-对应文档1)
1 2:1.25 3:0.145 4:1.543 ->(训练实例2-对应文档2)
1 1:1.00 2:2.145 5:3.543 ->(训练实例3-对应文档3)

(标签/类别):2

2 1:0.25 2:1.056 3:2.356 ->(训练实例4-对应文档4)
2 2:1.25 3:0.145 4:1.543 ->(训练实例5-对应文档5)
2 1:1.00 2:2.145 5:3.543 ->(训练实例6-对应文档6)

(标签/类别):3

3 1:0.25 2:1.056 3:2.356 ->(训练实例7-对应文档7)
3 2:1.25 3:0.145 4:1.543 ->(训练实例8-对应文档8)
3 1:1.00 2:2.145 5:3.543 ->(训练实例9-对应文档9)


回答:

格式在LIBSVM分发包的README文件中有描述,基本格式如下:

<categoryA> <feature1>:<value1> <feature2>:<value2> <feature3>:<value3> ...

每行一个训练实例。特征索引也应按升序排列。

测试集看起来完全相同,只是第一列可能包含某个固定数字,例如0,如果你不知道该集合的真实标签的话。

关于你的数据,我不太明白你如何能对同一个文档1和同一组词项有所有这些不同的权重向量。你能澄清一下吗?

编辑:

如果去掉注释,格式是可以的,LIBSVM运行得很好。假设你在运行Windows,并且文件test.txt如下,

1 1:0.25 2:1.056 3:2.3561 2:1.25 3:0.145 4:1.5431 1:1.00 2:2.145 5:3.5432 1:0.25 2:1.056 3:2.3562 2:1.25 3:0.145 4:1.5432 1:1.00 2:2.145 5:3.5433 1:0.25 2:1.056 3:2.3563 2:1.25 3:0.145 4:1.5433 1:1.00 2:2.145 5:3.543

你可以使用./libsvm-3.12/windows/svm-train.exe test.txt进行训练,使用./libsvm-3.12/windows/svm-predict.exe test.txt test.txt.model test.txt.out进行预测。在其他系统上命令类似。

请注意,使用这些数据准确率不会超过1/3,因为数据集中每个标签都有相同的权重向量。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注