Come implementare la regressione Random Forest in PySpark
Implementazione regressione Random Forest in PySpark
Un tutorial PySpark sulla modellazione di regressione con Random Forest
Introduzione
PySpark è un potente motore di elaborazione dati costruito su Apache Spark e progettato per l’elaborazione di dati su larga scala. Fornisce scalabilità, velocità, versatilità, integrazione con altri strumenti, facilità d’uso, librerie integrate di machine learning e capacità di elaborazione in tempo reale. È una scelta ideale per gestire in modo efficiente ed efficace compiti di elaborazione dati su larga scala, e la sua interfaccia utente intuitiva consente di scrivere facilmente codice in Python.
Utilizzando i dati sui diamanti trovati su ggplot2 (fonte, licenza), esamineremo come implementare un modello di regressione con random forest e analizzare i risultati con PySpark. Se desideri vedere come la regressione lineare viene applicata allo stesso dataset in PySpark, puoi consultarlo qui!
In questo tutorial affronteremo i seguenti passaggi:
- Caricare e preparare i dati in un input vettorizzato
- Allenare il modello utilizzando RandomForestRegressor da MLlib
- Valutare le prestazioni del modello utilizzando RegressionEvaluator da MLlib
- Tracciare e analizzare l’importanza delle caratteristiche per la trasparenza del modello
Preparare i dati
Il dataset “diamonds” contiene caratteristiche come “carat”, “color”, “cut”, “clarity” e altre, tutte elencate nella documentazione del dataset.
- Comprensione di SQL Iniziare con le funzioni di finestra
- Come scegliere un programma/corso di Intelligenza Artificiale all’università
- Come adattare grandi modelli di linguaggio in memoria ridotta quantizzazione
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)
Come nel tutorial sulla regressione lineare, dobbiamo preprocessare i nostri dati in modo da ottenere un vettore risultante di caratteristiche numeriche da utilizzare come input del nostro modello. Dobbiamo codificare le nostre variabili categoriche in caratteristiche numeriche e poi combinarle con le nostre variabili numeriche per ottenere un unico vettore finale.
Ecco i passaggi per ottenere questo risultato: