SGDClassifier с HashingVectorizer и TfidfTransformer

Бих искал да разбера дали е възможно да се обучи онлайн SGDClassifier (с partial_fit) с помощта на HashingVectorizer и TfidfTransformer. Простото им присъединяване в конвейер няма да работи, тъй като TfidfTransformer поддържа състояние, така че това би нарушило процеса на онлайн обучение. Тази публикация казва, че не е възможно да се използва tf-idf по онлайн начин, но коментар към тази публикация предполага, че по някакъв начин може да е възможно: „По-специално, ако използвате преобразуватели със състояние като TfidfTransformer, ще трябва да направите няколко преминавания на вашите данни“. Възможно ли е това без да се зареди целия набор от обучение в паметта? Ако е така, как? Ако не, има ли алтернативно решение за комбиниране на HashingVectorizer с tf-idf на големи набори от данни?


person David M.    schedule 15.08.2014    source източник


Отговори (1)


Възможно ли е това без да се зареди целия набор от обучение в паметта?

TfidfTransformer трябва да има цялата X матрица в паметта. Ще трябва да превъртите свой собствен tf-idf оценител, да го използвате, за да изчислите честотите на документа за член с едно преминаване върху данните, след това да направите друго преминаване, за да произведете tf-idf характеристики и да напаснете класификатор към тях.

person Fred Foo    schedule 18.08.2014