PySpark è un potente motore di elaborazione dati basato su Apache Spark e progettato per l’elaborazione dati su larga scala. Fornisce scalabilità, velocità, versatilità, integrazione con altri strumenti, facilità d’uso, librerie di apprendimento automatico integrate e funzionalità di elaborazione in tempo reale. È la scelta ideale per gestire attività di elaborazione dati su larga scala in modo efficiente ed efficace e la sua interfaccia intuitiva consente una facile scrittura del codice in Python.
Usando il Dati sui diamanti trovato su ggplot2 (fonte, licenza), spiegheremo come implementare un modello di regressione casuale della foresta e analizzare i risultati con PySpark. Se desideri vedere come viene applicata la regressione lineare allo stesso set di dati in PySpark, puoi farlo Controllalo qui!
Questo tutorial coprirà i seguenti passaggi:
- Caricare e preparare i dati in un input vettorizzato
- Addestra il modello utilizzando RandomForestRegressor da MLlib
- Valuta le prestazioni del modello utilizzando RegressionEvaluator di MLlib
- Traccia e analizza l’importanza delle funzionalità per la trasparenza del modello
IL diamonds
il set di dati contiene funzionalità come carat
, color
, cut
, clarity
e altro ancora, tutti elencati nel documentazione del set di dati.
La variabile target che stiamo cercando di prevedere è price
.
df = spark.read.csv("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", header="true", inferSchema="true")
display(df)
Proprio come il tutorial sulla regressione linearedobbiamo preelaborare i nostri dati in modo da avere un vettore risultante di caratteristiche numeriche da utilizzare come input del modello. Dobbiamo codificare le nostre variabili categoriali in caratteristiche numeriche e quindi combinarle con le nostre variabili numeriche per creare un vettore finale.
Ecco i passaggi per ottenere questo risultato:
Fonte: towardsdatascience.com