Logistic Regression-model trainen
Nadat je labels en features voor de data hebt gemaakt, zijn we klaar om een model te bouwen dat hiervan kan leren (trainen). Maar voordat je het model traint, ga je in dit laatste deel van de oefening de data splitsen in training en test, het Logistic Regression-model op de trainingsdata draaien en tot slot de nauwkeurigheid controleren van het model dat op de trainingsdata is getraind.
Onthoud dat je een SparkContext sc beschikbaar hebt in je werkruimte, net als de variabele samples.
Deze oefening maakt deel uit van de cursus
Big Data Fundamentals met PySpark
Oefeninstructies
- Splits de gecombineerde data in trainings- en testgegevens in een verhouding van 80:20.
- Train het Logistic Regression-model met de trainingsgegevens.
- Maak een voorspellingslabel met het getrainde model op de testgegevens.
- Combineer de labels in de testgegevens met de labels in de voorspellingsgegevens met de functie
zip. - Bereken de nauwkeurigheid van het getrainde model met de originele en voorspelde labels, en print deze.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(____))