Entraînement d'un modèle de régression logistique
Après avoir créé les étiquettes et les caractéristiques des données, vous êtes prêt à entraîner un modèle qui pourra en tirer des apprentissages. Mais avant d'entraîner le modèle, dans cette dernière partie de l'exercice, vous allez scinder les données en ensembles d'entraînement et de test, exécuter un modèle de régression logistique sur l'ensemble d'entraînement, puis vérifier l'exactitude du modèle entraîné.
Rappelez-vous que vous avez un SparkContext sc dans votre environnement de travail, ainsi que la variable samples.
Cette activité fait partie du cours
Principes de Big Data avec PySpark
Instructions de l’exercice
- Fractionnez les données combinées en ensembles d'entraînement et de test selon un ratio de 80:20.
- Entraînez le modèle de régression logistique avec l'ensemble d'entraînement.
- Générez des étiquettes prédites à partir du modèle entraîné sur l'ensemble de test.
- Combinez les étiquettes de l'ensemble de test avec celles de l'ensemble de prédictions à l'aide de la fonction
zip. - Calculez l'exactitude du modèle entraîné à partir des étiquettes originales et prédites, puis affichez-la.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____))