CountVectorizer excluindo recursos que aparecem apenas uma vez
Estou usando o pacote sklearn python e estou tendo problemas para criar umCountVectorizer
com um dicionário pré-criado, onde oCountVectorizer
não exclui recursos que aparecem apenas uma vez ou nem aparecem.
Aqui está o código de exemplo que eu tenho:
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())
saídas89967
len(test_count_vect.get_feature_names())
saídas9833
Dentro desetup_data()
função, estou apenas inicializandoCountVectorizer
. Para dados de treinamento, estou inicializando-os sem um vocabulário predefinido. Então, para dados de teste, estou inicializando o CountVectorizer com o vocabulário que recuperei dos meus dados de treinamento.
Como faço para obter os vocabulários do mesmo tamanho? Acho que o sklearn está excluindo recursos, porque eles aparecem apenas uma vez ou não aparecem no meu corpus de teste. Eu preciso ter o mesmo vocabulário porque, caso contrário, meu classificador terá um comprimento diferente dos meus pontos de dados de teste.