use*_*er7 0 classification machine-learning weka arff libsvm
我的问题是
我想建立一个一类SVM分类器,以从测试文件中识别名词/方面。培训文件包含名词列表。该测试包含单词列表。
这是我所做的:
我正在使用Weka GUI,并且已经训练了一个类SVM(libSVM)以获取模型。
现在,模型将测试文件中的这些单词分类,分类器在生成的模型中将这些单词识别为名词。其他分类为离群值。(因此,它就像查找一样工作。如果在经过训练的模型中将其标识为名词,则为“是”,否则为“否”。)
那么如何建立适当的分类器呢?(我的意思是输入的格式及其应包含的信息是什么?)
注意:
编辑 我的测试文件将包含名词短语。因此,我的分类器的工作是从测试文件中的候选项中获取名词词。
您的数据格式不正确,无法解决此问题。
如果你把
word,class
配对到一个SVM中,实际上您要放入SVM中的是稀疏向量,它由一个与您的单词相对应的单个向量组成,即
0,0,0,0,0,...,0,0,1,0,0,0,...,0,0,0,0,yes
分类器可以对此类数据执行的任何操作都是过度拟合和存储的。对于未知的新单词,结果将毫无用处。
如果希望分类器能够抽象和概括,则需要仔细地从单词中提取特征。
可能的特征是n-gram。因此,“示例”一词可以表示为
exa:1, xam:1, amp:1, mpl:1, ple:1
现在,您的分类器/ SVM可以了解到,名词通常具有n-gram“ ple”。如果添加“单词开头”和“单词结尾”符号,结果可能会更好。
^ex:1, exa:1, xam:1, amp:1, mpl:1, ple:1, le$:1
并且可能还会使用一个以上的n克长度,例如
^ex:1, ^exa:1, exa:1, exam: 1, xam:1, xamp:1, amp:1, ampl:1, mpl:1, mple1:1, ple:1, ple$.1, le$:1
但是,当然,添加的越多,数据集就越大,搜索空间也会增加,这又可能导致过拟合。
| 归档时间: | 
 | 
| 查看次数: | 853 次 | 
| 最近记录: |