0
我在機器學習是一個新手,我建立一個投訴分類,我想提供一個反饋模型,以便它可以改善隨着時間的推移反饋在NaiveBayes文本分類
import numpy
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
value=[
'drought',
'robber',
]
targets=[
'water_department',
'police_department',
]
classifier = MultinomialNB()
vectorizer = CountVectorizer()
counts = vectorizer.fit_transform(value)
classifier.partial_fit(counts[:1], targets[:1],classes=numpy.unique(targets))
for c,t in zip(counts[1:],targets[1:]):
classifier.partial_fit(c, t.split())
value.append('dogs') #new value to train
targets.append('animal_department') #new target
vectorize = CountVectorizer()
counts = vectorize.fit_transform(value)
print counts
print targets
print vectorize.vocabulary_
####problem lies here
classifier.partial_fit(counts["""dont know the index of new value"""], targets[-1])
####problem lies here
即使我莫名其妙地找到新插入值的指數,它是給錯誤
ValueError: Number of features 3 does not match previous data 2.
甚至認爲我做到了一次插入一個值
你想把「狗」,「草稿」這樣的單詞分爲像「動物」,「水」,「警察」等目標標籤(類)嗎?那麼,爲什麼不使用字典呢? – Debasis
我需要對包含這些單詞的句子進行分類。 –
好吧...那麼在這種情況下......你有一個已知標籤的單詞的詳盡列表嗎?我不清楚你想通過反饋步驟實現什麼?這不是做一個真正的反饋(用戶驅動)...是你想要在你的應用程序中的東西,因此想要以編程方式模擬它?總之,如果我沒有弄錯,你會想要增量培訓嗎? – Debasis