我正在使用 R 中的 gbm 包处理一些大型数据集。我的预测矩阵和响应向量都非常稀疏(即大多数条目为零)。我希望使用一种利用这种稀疏性的算法来构建决策树,就像这里所做的那样)。在那篇论文中,就像我的情况一样,大多数项目只有许多可能的特征中的一小部分,因此他们能够通过假设他们的项目缺乏给定的特征来避免大量的计算浪费,除非数据明确说明。我希望我可以通过使用这种算法获得类似的加速(然后在它周围包裹一个提升算法以提高我的预测准确性)。
由于他们似乎没有发布他们的代码,我想知道是否有任何开源包或库(任何语言)针对这种情况进行了优化。理想情况下,我想要一些可以直接从 R 的Matrix包中获取稀疏矩阵的东西,但我会尽我所能。
我环顾四周,似乎应该有这种东西:
化学家似乎经常遇到这个问题(我上面链接的论文是关于学习寻找新的药物化合物),但我能找到的实现要么是专有的,要么是高度专业化的化学分析。不过,其中一个可能会被重新利用。
文档分类似乎也是从稀疏特征空间学习有用的领域(大多数文档不包含大多数单词)。例如,在本文中有一个对 C4.5 的稀疏实现(一种类似 CART 的算法)的间接引用,但没有代码。
根据邮件列表,WEKA 可以接受稀疏数据,但与我上面链接的论文中的方法不同,WEKA 并未优化以实际利用它来避免浪费 CPU 周期。
提前致谢!