Я использую NLTK для анализа небольшого набора данных (1000 строк) данных из моей системы. Все работает как положено, покупаю, когда я пытаюсь классифицировать данные, происходит то же самое. Посмотрите мои "show_most_inforrative_features" результат:
execut = True 1114 : 1790 = 91.2 : 1.0
r$ = True 1114 : 1790 = 56.2 : 1.0
pens = True 1114 : 1790 = 40.1 : 1.0
val = True 1114 : 1790 = 39.8 : 1.0
pag = True 1114 : 1790 = 28.5 : 1.0
parcel = True 1114 : 1790 = 24.1 : 1.0
real = True 1114 : 1790 = 24.1 : 1.0
municípi = True 2049 : 1790 = 23.6 : 1.0
aliment = True 1114 : 203 = 22.2 : 1.0
veícul = True 2049 : 1790 = 22.1 : 1.0
é = True 1114 : 1790 = 21.5 : 1.0
efetu = True 1114 : 1790 = 21.2 : 1.0
palmas/to, = True 1114 : 1790 = 21.2 : 1.0
rend = True 2049 : 1790 = 20.5 : 1.0
cont = True 178 : 1790 = 19.9 : 1.0
Это мои данные для теста:
['execut', 'r$', 'pen', 'val', 'pag']
Я ожидал, что результат будет 1114 , потому что я использую лучшие 5 слов с лучшим соответствием этой классификации. Купить мой классификатор только классифицировать все как " 1790" . Мой код работает с другим набором данных, более простым, но использование этого набора данных не имеет смысла.
Если I print prob_classify()
, то это результат:
КОД:
def show_distribuicao():
distribuicao = classificador.prob_classify(linha_teste_frase)
for classe in distribuicao.samples():
print("%s: %f" % (classe, distribuicao.prob(classe)))
РЕЗУЛЬТАТ:
178: 0.000000
1790: 1.000000
203: 0.000000
1114: 0.000000
2049: 0.000000
И мой qualificacao_id.value_counts()
:
1790 323
203 237
178 152
1114 147
2049 141
Есть идеи, почему это происходит?