我在尝试使用LibShortText
,但我并不完全理解它的工作原理。
从README
来看,它的功能似乎是针对文本文件的。然而,我需要对已经是LibSVM格式的文件进行分类,所以我想像text-train.py
和text-predict.py
这样的功能可能不适用…?
还提到:
如果提供了一个预处理目录,那么假设训练数据已经是LIBSVM格式的。
有谁知道什么是预处理目录
…?
从LibShortText文档中,我看到有一个“中级分类模块 – 学习器”,它可以处理像我这样的文件。然而,我不明白它是如何工作的!它没有像LIBSVM那样所有的参数,例如…而且我还没有成功找到如何保存或理解结果(权重和预测在哪里?)。
如果有人能解释这个东西是如何工作的,我会非常感激(我已经测试了好几个小时了)…谢谢!
回答:
根据文档(http://www.csie.ntu.edu.tw/~cjlin/libshorttext/doc/libshorttext.html#quick-start),你可以使用-A选项来附加.svm文件。
但是,如果你的数据已经是libsvm格式的,你可以直接使用liblinear(libshorttext底层的库)。
如果你已经有了libshorttext的发行版,那么你已经有了liblinear。你可以通过从你解压libshorttext的任何位置使用cd命令来编译和运行,如下所示:
$ cd libshorttext/classifier/learner/liblinear $ make $ ./train train_file.svm $ ./predict test_file.svm model_file output_file
作为参考,这里是liblinear的README:https://github.com/ninjin/liblinear/blob/master/README,我发现它非常有用。