2017-07-19 86 views
0

我正在尝试基于文本挖掘进行预测模型。我很困惑我应该在模型中设置多少功能。我的分析中有1000个文件(因此语料库需要大约700个文件)。语料库中的术语数量约为20 000个,因此它超过文档数量(P >> N)。有这么多的功能有什么意义?文本挖掘中的功能数

HashingTF方法中的特征数量应该高于语料库中的术语总数?或者我应该让它更小(像512个功能?)

我有点困惑。

回答

0

假设你正在谈论只使用unigrams作为功能,你是对的,我们想要p < n。 (未指明消息来源在这里,因为你似乎知道这意味着什么。)

最后,实现p < N,你既可以

  1. 与计数> = K选择功能。测量各种k的性能并选择最佳的k,或者使用除L1正则化之外的所有特征。

如果你使用散列像你提到,你应该设置的功能数量小于512,甚至因为 -

  1. N = 700和P = 512仍然过于倾斜。
  2. 通常,有一小部分重要词汇。你的情况甚至可能低于50。你可以尝试一些散列桶= {10,20,50,100,500,1000}并挑选最好的一个。

祝你好运!

+0

我会尝试不同数量的功能,如你所说。我还想过关于bigrams。它会改变这个问题吗?我可以使用更多的功能(如p = 2048)吗? –

+0

是否bigrams有所作为取决于你正试图解决的问题。通常,我们需要n >> p(维度的诅咒)。你可以在L1-reg上使用一个大的p。如果你的数据集很小,你可以尝试一下。 – Aayush