使用weka API对高维int-vector进行分类的最佳方法是什么?

时间:2013-09-12 09:20:05

标签: java classification weka bayesian decision-tree

我有一些整数的高维(30000维)向量。我有2个班:[是,否]。我有6000个YES级样品和50000个NO级样品。我想训练一个分类器,将以后的新样本自动分类到其中一个类。

我知道如何使用Weka Java API,但我不确定使用哪种算法。任何人都可以就以下问题给我建议:

  1. 向量是否太高维度或我是否有太多样本在Weka中有效地完成此操作?
  2. 我应该在开始之前减少维度吗?我可以使用什么算法来识别我的特征向量的重要元素?
  3. 哪种分类器最适合对这类数据进行分类?我认为决策树应该可以正常工作,但也许天真的贝叶斯训练更快,是吗?
  4. 由于每个元素都必须在weka中有一个名称,我如何为每个30000特征指定一个名称?
  5. 任何建议表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

  1. 这个问题的维数当然非常大,但我相信Weka应该能够处理大量的维度。样本数量不应该是一个问题,但是有比NO类更多的NO类样本,所以平衡这两个样本可能有助于更好地分类NO类案例。

  2. 如果您认为存在多余尺寸或某些尺寸可能包含噪音,那么它肯定会有所帮助。

  3. 决策树不应该是一个太大的问题。 Weka提供了许多算法,但考虑到问题的维度,我不建议使用神经网络。

  4. 如果您已将数据保存在CSV文件中,则可以在数据的第一行中指定属性名称。这样,您可以分配属性名称。给定维数,您可能将这些称为a1到a30000并输出为输出类。

  5. 希望这有帮助!