我有一个大的稀疏数据矩阵(词袋,超过大量条目)。我可以很容易地将其视为模型中的稀疏矩阵,sklearn例如RandomForest. 但是,如果我想使用Catboost,我需要把它变成一个密集的矩阵。我想知道是否有任何有效的方法可以与 Catboost 一起使用而不会导致这种情况?例如,用于加载 bacthes的任何内部内置功能,例如TFRecordsof 。Tensorflow
Catboost 中的大型稀疏数据集
数据挖掘
scikit-学习
2022-02-19 07:57:11
1个回答
稀疏的来源是什么?例如,您是否使用过单热编码器?如果是这样 - 在使用提升算法时您不需要这样做,所以返回并使用您的原始数据提供提升。
您始终可以使用自动编码器在 TensorFlow 中密集稀疏矩阵并在结果上运行 Boosting 算法。这种方法有两个坑 1)提升算法对连续值不好,这是自动编码器的结果 2)您的自动编码器是一种近似方法,它当然会添加到错误模型中
考虑设计您自己的网络架构,该架构结合了提升和自动编码器。例如,几层来密集你的稀疏矩阵,然后是一个类似于https://www.tensorflow.org/tutorials/estimator/boosted_trees的增强树分类器- 当你这样做时,请更新这个答案。