Cómo implementar una regresión de bosque aleatoria en PySpark |  de Yasmine Hejazi |  septiembre de 2023

Un tutorial de PySpark sobre modelado de regresión con Random Forest

Foto por Jachan De Vol en desempaquetar

PySpark es un potente motor de procesamiento de datos construido sobre Apache Spark y diseñado para el procesamiento de datos a gran escala. Proporciona escalabilidad, velocidad, versatilidad, integración con otras herramientas, facilidad de uso, bibliotecas de aprendizaje automático integradas y capacidades de procesamiento en tiempo real. Es una opción ideal para manejar tareas de procesamiento de datos a gran escala de manera eficiente y efectiva, y su interfaz fácil de usar permite escribir código fácilmente en Python.

Utilizando el Datos de diamantes encontrado en ggplot2 (fuente, licencia), explicaremos cómo implementar un modelo de regresión forestal aleatoria y analizaremos los resultados con PySpark. Si desea ver cómo se aplica la regresión lineal al mismo conjunto de datos en PySpark, puede compruébalo aquí!

Este tutorial cubrirá los siguientes pasos:

  1. Cargue y prepare los datos en una entrada vectorizada.
  2. Entrene el modelo usando RandomForestRegressor de MLlib
  3. Evalúe el rendimiento del modelo utilizando RegressionEvaluator de MLlib
  4. Trazar y analizar la importancia de las características para la transparencia del modelo.
Foto por Martín de Arriba en desempaquetar

El diamonds El conjunto de datos contiene características como carat, color, cut, clarityy más, todos enumerados en el documentación del conjunto de datos.

La variable objetivo que estamos tratando de predecir es price.

df = spark.read.csv("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", header="true", inferSchema="true")
display(df)

Al igual que el tutorial de regresión lineal, necesitamos preprocesar nuestros datos para tener un vector resultante de características numéricas para usar como entrada de nuestro modelo. Necesitamos codificar nuestras variables categóricas en características numéricas y luego combinarlas con nuestras variables numéricas para crear un vector final.

Estos son los pasos para lograr este resultado: