Treinamento do modelo de regressão logística
Depois de criar rótulos e recursos para os dados, estamos prontos para criar um modelo que possa aprender com eles (treinamento). Mas antes de treinar o modelo, nesta parte final do exercício, você dividirá os dados em treinamento e teste, executará o modelo de regressão logística nos dados de treinamento e, por fim, verificará a precisão do modelo treinado nos dados de treinamento.
Lembre-se de que você tem um SparkContext sc
disponível em seu espaço de trabalho, bem como a variável samples
.
Este exercício faz parte do curso
Fundamentos de Big Data com PySpark
Instruções de exercício
- Divida os dados combinados em conjuntos de dados de treinamento e teste na proporção de 80:20.
- Treine o modelo de regressão logística com o conjunto de dados de treinamento.
- Crie um rótulo de previsão a partir do modelo treinado no conjunto de dados de teste.
- Combine os rótulos do conjunto de dados de teste com os rótulos do conjunto de dados de previsão usando a função
zip
. - Calcule a precisão do modelo treinado usando rótulos originais e previstos e imprima-a.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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(____))