Służą temu podobnemu celowi. documentation zapewnia niektóre pro i con do HashedVectorizer
:
Strategia ta ma kilka zalet:
- jest bardzo mało pamięci skalowalny do dużych zbiorów danych, ponieważ nie ma potrzeby przechowywania słownika słownictwo pamięci
- jest szybki do piklowania i rozpinania, ponieważ nie ma stanu poza parametrami konstruktora
- może być używany w streamingu (częściowe dopasowanie) lub równoległym potoku, ponieważ nie ma stanu obliczonego podczas dopasowania.
Istnieje również kilka wad (vs użyciu CountVectorizer z słownictwa w pamięci):
- nie ma sposobu, aby obliczyć odwrotność transformacji (z indeksami fabularnych do nazw funkcji łańcuchowych), co może stanowić problem przy próbie wykonania introspekcji, której funkcje są najważniejsze dla modelu.
- Możliwe są kolizje: różne tokeny można odwzorować na ten sam indeks funkcji. Jednak w praktyce rzadko jest to problem, jeśli są one wystarczająco duże (na przykład 2 ** 18 dla problemów z klasyfikacją tekstu ).
- brak ważenia IDF, ponieważ spowodowałoby, że transformator byłby stanowy.