2015-05-04 8 views

Odpowiedz

13

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.
Powiązane problemy