我是一個新手,在Sklearn中使用SGDClassifier
來做一些工作,使用標籤對一個句子的文本進行分類。 (想想例如火腿/垃圾郵件)這是我的管道:Sklearn管道的核心外學習
clf = SGDClassifier(fit_intercept=True, loss='modified_huber', alpha=.0001, shuffle=True,
n_iter=15, n_jobs=-1, penalty='elasticnet')
vectorizer = TfidfVectorizer(analyzer='char_wb', ngram_range=(3, 5), lowercase=True, stop_words=stopset,
use_idf=True, norm='l2')
pipeline = Pipeline([
('mapper', vectorizer),
('clf', clf),
])
我熟悉的partial_fit
的使用,以避免對整個訓練數據集加載到內存中(外的核心學習),但我問題在於分類器是否有可能在之後調用partial_fit
將初始訓練集加載到內存中。
在我的使用案例中,想象一下,在訓練有與其相關的「相對」文本後,我的算法必須對每個文本進行分類,這些文本具有極其相似的特徵,唯一的區別是文本中拼寫錯誤。我希望這些「相對」文本能夠在與原始電子郵件相同的標籤下自動添加到分類器的知識中,因此避免算法的常見拼寫錯誤也會被正確標記。
從本質上講,我想要一個可更新的分類器,在python中做什麼最好的方法是什麼?