Feature Hashing

term_id: feature_hashing

Category: basic_concepts

Definition

Il Feature Hashing, noto anche come hashing trick, consente ai modelli di apprendimento automatico di gestire spazi di funzionalità ampi e sparsi senza mantenere una mappatura esplicita tra le funzionalità e gli indici. Applicando una funzione di hash, si convertono le caratteristiche in indici di un vettore di dimensioni fisse, riducendo significativamente l’uso di memoria e semplificando la gestione del vocabolario, sebbene ciò possa introdurre collisioni occasionali tra funzionalità diverse.

Summary

Una tecnica che mappa funzionalità sparse ad alta dimensionalità su un vettore di dimensione fissa utilizzando una funzione di hash.

Key Concepts

  • Funzione di hash
  • Vettori sparsi
  • Riduzione della dimensionalità
  • Efficienza della memoria

Use Cases

  • Classificazione del testo con grandi vocabolari
  • Sistemi di raccomandazione con enormi insiemi di elementi
  • Elaborazione di dati in streaming in tempo reale

Code Example

1
2
3
4
5
6
7
8
from sklearn.feature_extraction import FeatureHasher
import numpy as np

# Example: Hashing text features
hasher = FeatureHasher(n_features=10, input_type='string')
docs = ['hello world', 'hello python', 'world python']
hashed = hasher.transform(docs)
print(hashed.toarray())