Training del modello di Logistic Regression
Dopo aver creato etichette e feature per i dati, siamo pronti a costruire un modello che possa apprendere da essi (training). Ma prima di addestrare il modello, in quest’ultima parte dell’esercizio, dividerai i dati in training e test, eseguirai un modello di Logistic Regression sui dati di training e, infine, verificherai l’accuratezza del modello addestrato sui dati di training.
Ricorda, nel tuo workspace hai a disposizione uno SparkContext sc, oltre alla variabile samples.
Questo esercizio fa parte del corso
Fondamenti di Big Data con PySpark
Istruzioni dell'esercizio
- Dividi i dati combinati in insiemi di training e test nel rapporto 80:20.
- Addestra il modello di Logistic Regression con il dataset di training.
- Crea le etichette di previsione dal modello addestrato sul dataset di test.
- Combina le etichette nel dataset di test con quelle nel dataset di previsione usando la funzione
zip. - Calcola l’accuratezza del modello addestrato usando le etichette originali e quelle previste, e stampala.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____))