Entraînement du modèle de régression logistique
Après avoir créé des étiquettes et des caractéristiques pour les données, nous sommes prêts à construire un modèle capable d'apprendre à partir de ces données (entraînement). Mais avant d'entraîner le modèle, dans cette dernière partie de l'exercice, vous allez diviser les données en données d'entraînement et de test, exécuter le modèle de régression logistique sur les données d'entraînement, et enfin vérifier la précision du modèle entraîné sur les données d'entraînement.
Rappelez-vous qu’un SparkContext sc
est déjà disponible dans votre espace de travail, ainsi que la variable samples
.
Cet exercice fait partie du cours
Principes fondamentaux des mégadonnées avec PySpark
Instructions
- Divisez les données combinées en ensembles de données d’entraînement et de test avec une proportion de 80:20.
- Entraînez le modèle de régression logistique avec l'ensemble de données d'entraînement.
- Créez une étiquette de prédiction à partir du modèle entraîné sur l'ensemble de données de test.
- Combinez les étiquettes de l'ensemble de données de test avec les étiquettes de l'ensemble de données de prédiction à l'aide de la fonction
zip
. - Calculez la précision du modèle entraîné en utilisant les étiquettes originales et prédites, et affichez-la.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____))