Trenowanie modelu regresji logistycznej
Po utworzeniu etykiet i cech dla danych możemy przystąpić do budowania modelu, który nauczy się na ich podstawie (trening). Jednak zanim zaczniesz trenować model, w tej ostatniej części ćwiczenia podzielisz dane na zbiór treningowy i testowy, uruchomisz model regresji logistycznej na danych treningowych, a następnie sprawdzisz jego dokładność.
Pamiętaj, że w przestrzeni roboczej masz dostęp do SparkContext sc oraz zmiennej samples.
To ćwiczenie jest częścią kursu
Podstawy Big Data z PySpark
Instrukcje do ćwiczenia
- Podziel połączone dane na zbiór treningowy i testowy w proporcji 80:20.
- Wytrenuj model regresji logistycznej na zbiorze treningowym.
- Na podstawie wytrenowanego modelu utwórz etykiety predykcji dla zbioru testowego.
- Połącz etykiety ze zbioru testowego z etykietami predykcji, używając funkcji
zip. - Oblicz dokładność wytrenowanego modelu na podstawie oryginalnych i przewidywanych etykiet, a następnie wyświetl wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____))