CountVectorizer elimina características que solo aparecen una vez

Estoy usando el paquete sklearn python y tengo problemas para crear unCountVectorizer con un diccionario pre-creado, donde elCountVectorizer no elimina las funciones que solo aparecen una vez o que no aparecen en absoluto.

Aquí está el código de muestra que tengo:

train_count_vect, training_matrix, train_labels = setup_data(train_corpus, query, vocabulary=None)
test_count_vect, test_matrix, test_labels = setup_data(test_corpus, query, vocabulary=train_count_vect.get_feature_names())

print(len(train_count_vect.get_feature_names()))
print(len(test_count_vect.get_feature_names()))

len(train_count_vect.get_feature_names()) salidas89967 len(test_count_vect.get_feature_names()) salidas9833

Dentro desetup_data() función, solo estoy inicializandoCountVectorizer. Para los datos de entrenamiento, los estoy inicializando sin un vocabulario preestablecido. Luego, para los datos de prueba, estoy inicializando CountVectorizer con el vocabulario que recuperé de mis datos de entrenamiento.

¿Cómo consigo que los vocabularios sean de la misma longitud? Creo que sklearn está eliminando funciones porque solo aparecen una vez o no aparecen en mi cuerpo de prueba. Necesito tener el mismo vocabulario porque, de lo contrario, mi clasificador tendrá una longitud diferente de mis puntos de datos de prueba.

Respuestas a la pregunta(1)

Su respuesta a la pregunta