在NLTK中导入SVM light文件格式
我正在尝试使用NLTK来训练一个朴素贝叶斯分类器,用于多类别的文本分类。但是我没有原始的文本数据。我得到的只是一个SVM Light格式的文件(每一行都是一个实例,包含特征:值的对)。我只需要导入这个文件,然后使用这个数据集来训练和测试朴素贝叶斯分类器。我在想有没有办法把这个文件导入到NLTK中,并直接用它来训练分类器。
1 个回答
2
根据nltk自己的文档,这个功能是这样实现的:
文档摘录:
scikit-learn(http://scikit-learn.org)是一个用于Python的机器学习库。它支持很多分类算法,包括支持向量机(SVM)、朴素贝叶斯、逻辑回归(MaxEnt)和决策树。
这个包在scikit-learn分类器的基础上实现了一个封装。要使用这个封装,首先要构建一个scikit-learn的估计器对象,然后用这个对象来构建一个SklearnClassifier。例如,要用默认设置封装一个线性SVM:
示例:
>>> from sklearn.svm import LinearSVC
>>> from nltk.classify.scikitlearn import SklearnClassifier
>>> classif = SklearnClassifier(LinearSVC())
查看:http://www.nltk.org/api/nltk.classify.html#module-nltk.classify.scikitlearn