Reduzione della dimensionalità con Scikit-Learn teoria e implementazione PCA

Riduzione della dimensionalità con Scikit-Learn La teoria e l'implementazione di PCA

La Maledizione della Dimensionalità può essere domata! Scopri come farlo con Python e Scikit-Learn.

Image source: unsplash.com.

Nel romanzo Flatland, i personaggi che vivono in un mondo bidimensionale si trovano perplessi e incapaci di comprendere quando incontrano un essere tridimensionale. Utilizzo questa analogia per illustrare come si verifichino fenomeni simili nell’apprendimento automatico quando si affrontano problemi che coinvolgono migliaia o addirittura milioni di dimensioni (cioè, caratteristiche): si verificano fenomeni sorprendenti, che hanno implicazioni disastrose sui nostri modelli di apprendimento automatico.

Sono sicuro che tu abbia provato stupore, almeno una volta, per l’enorme numero di caratteristiche coinvolte nei problemi moderni di apprendimento automatico. Ogni praticante di data science, prima o poi, si troverà di fronte a questa sfida. Questo articolo esplorerà le basi teoriche e l’implementazione in Python dell’algoritmo di riduzione della dimensionalità più utilizzato: Analisi delle Componenti Principali (PCA).

Perché è necessario ridurre il numero di caratteristiche?

Oggi sono comuni i dataset che coinvolgono migliaia o addirittura milioni di caratteristiche. L’aggiunta di nuove caratteristiche a un dataset può portare informazioni preziose, tuttavia, rallenta il processo di addestramento e rende più difficile individuare modelli e soluzioni valide. Nella data science questo fenomeno è chiamato la Maledizione della Dimensionalità e spesso porta a una interpretazione distorta dei dati e a previsioni inaccurati.

I praticanti di machine learning come noi possono trarre vantaggio dal fatto che per la maggior parte dei problemi di apprendimento automatico, il numero di caratteristiche può essere ridotto in modo consistente. Ad esempio, considera una foto: i pixel vicino al bordo spesso non portano alcuna informazione utile. Tuttavia, le tecniche per ridurre in modo sicuro il numero di caratteristiche in un problema di apprendimento automatico non sono banali e richiedono una spiegazione che fornirò in questo articolo.

Immagine dell'autore.

Le risorse che presenterò non solo semplificano lo sforzo computazionale e aumentano l’accuratezza delle previsioni, ma servono anche come strumento per visualizzare graficamente dati ad alta dimensionalità. Per questo motivo, sono essenziali per comunicare le tue intuizioni…