这听起来可能很幼稚,但我只是想确认一下,在机器学习术语中,文档聚类中的特征是指从文档中选择的词,如果一些词在词干提取或作为停用词后被丢弃的话。
我正在尝试使用LibSvm库,它提到对于不同类型的{实例数,特征数}有不同的方法。
例如,如果实例数远低于特征数,线性核就适用。如果两者都很大,线性核会更快。然而,如果特征数较小,非线性核会更好。
所以对于我的文档聚类/分类,我有大约100个文档,每个文档大约有2000个词。因此,我属于实例数少而特征数大的类别,这取决于我如何定义特征。
我想对文档使用tf-idf方法。
那么,特征数是否是我从tf-idf得到的向量的大小?
回答:
你在这里讨论的只是一种可能性,实际上这是为文档定义特征的最简单方法。在机器学习术语中,特征是从输入空间(在这个特定例子中是从文档空间)映射到某个适合特定机器学习模型的抽象空间的任何映射。大多数机器学习模型(如神经网络、支持向量机等)在数值向量上工作,因此特征必须是从文档到(固定大小)数值向量的映射。这就是有时选择词袋表示的原因,我们使用词计数向量作为文档的表示。这种限制可以通过使用特定的模型来克服,例如朴素贝叶斯(或为SVM定制的核,使它们能够处理非数值数据),只要我们能定义特定的条件概率,这些模型就可以处理任何对象——在这里,最基本的方法是将文档是否包含特定词作为“特征”。一般来说,这不是唯一的可能性,还有数十种使用统计特征、语义特征(基于某些本体如wordnet)的方法等。
总结来说——这只是为机器学习模型表示文档的一种最简单的方法。开始时很好用,也能理解基础知识,但远不是“特征定义”。
编辑
no_of_features
是你用于文档表示的向量的大小,所以如果你使用tf-idf,那么结果向量的大小就是no_of_features
。