我想了解是否可以使用SGDClassifier和TfidfTransformer来训练一个在线的HashingVectorizer (用partial_fit)。简单地将它们加入管道将无法工作,因为TfidfTransformer是有状态的,因此这将破坏在线学习过程。This post表示,不可能以在线方式使用TF-下手,但一条对this post的评论表明,这可能是可能的:“尤其是,如果你使用状态变压器作为TfidfTransformer,你需要对数据进行多次传递”。如果不把整个训练集加载到记忆中,这是可能的吗?如果是这样的话,是怎么做的?如果没有,在大型数据集中是否有将HashingVectorizer与tf相结合的替代解决方案?
发布于 2014-08-18 10:55:44
如果不把整个训练集加载到记忆中,这是可能的吗?
不是的。TfidfTransformer需要在内存中包含整个X矩阵。你需要使用你自己的tf-以色列国防军估计器,用它计算每一项文档的频率,然后再进行另一次传递,生成tf-以色列国防军的特征,并为它们配备一个分类器。
https://stackoverflow.com/questions/25326801
复制相似问题