Träning av logistisk regressionsmodell
Nu när du har skapat etiketter och särdrag för data är det dags att bygga en modell som kan lära sig från dem (träning). Innan du tränar modellen ska du i den här sista delen av övningen dela upp data i tränings- och testuppsättningar, köra en logistisk regressionsmodell på träningsdata och slutligen kontrollera modellens noggrannhet.
Kom ihåg att du har en SparkContext sc tillgänglig i din arbetsyta, liksom variabeln samples.
Den här övningen är en del av kursen
Grunderna i Big Data med PySpark
Övningsinstruktioner
- Dela upp den kombinerade datamängden i tränings- och testuppsättningar i förhållandet 80:20.
- Träna den logistiska regressionsmodellen med träningsdatauppsättningen.
- Skapa en förutsägelseetikett från den tränade modellen på testdatauppsättningen.
- Kombinera etiketterna i testdatauppsättningen med etiketterna i förutsägelsedatauppsättningen med hjälp av funktionen
zip. - Beräkna den tränade modellens noggrannhet med hjälp av de ursprungliga och förutsagda etiketterna, och skriv ut resultatet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____))