Я хотел бы понять, можно ли обучить онлайн SGDClassifier (с partial_fit) с помощью HashingVectorizer и TfidfTransformer. Простое объединение их в конвейер не сработает, поскольку TfidfTransformer сохраняет состояние, что нарушит процесс онлайн-обучения. В этом сообщении говорится, что невозможно использовать tf-idf в режиме онлайн, но комментарий к этому сообщению предполагает, что это каким-то образом возможно: «В частности, если вы используете преобразователи с отслеживанием состояния в качестве TfidfTransformer, вам потребуется выполнить несколько проходов по вашим данным». Возможно ли это без загрузки всего тренировочного набора в память? Если да, то как? Если нет, есть ли альтернативное решение для объединения HashingVectorizer с tf-idf для больших наборов данных?
SGDClassifier с HashingVectorizer и TfidfTransformer
Ответы (1)
Возможно ли это без загрузки всего тренировочного набора в память?
№ TfidfTransformer
должен иметь в памяти всю матрицу X
. Вам нужно будет свернуть свой собственный оценщик tf-idf, использовать его для вычисления частот документов для каждого термина за один проход по данным, а затем выполнить еще один проход, чтобы создать функции tf-idf и подобрать к ним классификатор.
person
Fred Foo
schedule
18.08.2014