python - scikit - tfidftransformer
¿Cómo puedo reducir el uso de memoria de los vectores de Scikit-Learn? (2)
TFIDFVectorizer requiere tanta memoria, vectorizar 470 MB de documentos de 100k requiere más de 6 GB, si vamos a 21 millones de documentos, no cabe en 60 GB de RAM que tenemos.
Así que vamos a HashingVectorizer pero todavía necesitamos saber cómo distribuir el vectorizador de hash. El ajuste de ajuste parcial no hace nada, ¿cómo trabajar con Huge Corpus?
Recomiendo encarecidamente que use HashingVectorizer cuando ajuste modelos en grandes conjuntos de datos.
HashingVectorizer
es independiente de los datos, solo los parámetros de vectorizer.get_params()
son importantes. Por lo tanto, (un) decapado `HashingVectorizer instancia debe ser muy rápido.
Los vectores basados en vocabulario son más adecuados para el análisis exploratorio en pequeños conjuntos de datos.
Una forma de superar la incapacidad de HashingVectorizer para dar cuenta de IDF es indexar sus datos en elasticsearch o lucene y recuperar termvectors desde allí con los cuales puede calcular Tf-IDF.