Entrenamiento del modelo de regresión logística
Tras crear etiquetas y características para los datos, ya podemos construir un modelo que pueda aprender de ello (entrenamiento). Sin embargo, antes de entrenar el modelo, en esta última parte del ejercicio dividirás los datos en datos de entrenamiento y datos de prueba, ejecutarás el modelo de regresión logística en los datos de entrenamiento y, finalmente, comprobarás la exactitud del modelo entrenado con los datos de entrenamiento.
Recuerda que tienes sc
de SparkContext disponible en tu espacio de trabajo, así como la variable samples
.
Este ejercicio forma parte del curso
Fundamentos de big data con PySpark
Instrucciones del ejercicio
- Divide los datos combinados en conjuntos de datos de entrenamiento y prueba en una proporción 80:20.
- Entrena el modelo de regresión logística con el conjunto de datos de entrenamiento.
- Crea una etiqueta de previsión a partir del modelo entrenado con el conjunto de datos de prueba.
- Combina las etiquetas del conjunto de datos de prueba con las etiquetas del conjunto de datos de previsión utilizando la función
zip
. - Calcula la exactitud del modelo entrenado utilizando las etiquetas originales y previstas e imprímela.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Split the data into training and testing
train_samples,test_samples = samples.____([0.8, 0.2])
# Train the model
model = LogisticRegressionWithLBFGS.train(____)
# Create a prediction label from the test data
predictions = model.____(test_samples.map(lambda x: x.features))
# Combine original labels with the predicted labels
labels_and_preds = test_samples.map(lambda x: x.label).zip(____)
# Check the accuracy of the model on the test data
accuracy = labels_and_preds.filter(lambda x: x[0] == x[____]).count() / float(test_samples.count())
print("Model accuracy : {:.2f}".format(____))