Я новичок, занимающийся некоторой работой в Sklearn, используя SGDClassifier
, для классификации текстов с одним предложением с использованием меток. (Подумайте Ham/Спам электронной почты, например) Вот мой трубопровод:Внеочередное обучение для конвейеров 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
, чтобы избежать необходимости загружать весь тренировочный набор данных в памяти (Out-оф-ядра обучения), но мой вопрос в том, можно ли классификатору позвонить partial_fit
после начальный учебный комплект был загружен в память.
В моем примере использования, представьте, что каждый текст, который мой алгоритм должен классифицировать после обучения, имеет связанные с ним «относительные» тексты, которые имеют чрезвычайно похожие функции и с той лишь разницей, что это опечатки в тексте. Я бы хотел, чтобы эти «относительные» тексты были автоматически добавлены к знаниям классификатора под тем же ярлыком, что и исходный адрес электронной почты, поэтому обычные орфографические ошибки, которые уклоняются от алгоритма, будут правильно помечены.
В сущности, я хочу, чтобы классификатор, способный к обновлению, был бы лучшим способом сделать это в python?