Stap 3: Een classifier bouwen
Dit is de laatste stap in de sentimentanalysevoorspelling. We hebben onze gegevensset verkend en verrijkt met kenmerken die met het sentiment te maken hebben, en er numerieke vectoren van gemaakt.
Je gebruikt de gegevensset die je in de vorige stappen hebt gebouwd. Deze bevat een kenmerk voor de lengte van reviews en 200 kenmerken gemaakt met de Tfidf-vectorizer.
Je taak is om een logistic regression te trainen om het sentiment te voorspellen. De data is voor je geïmporteerd en heet reviews_transformed. De target heet score en is binair: 1 als de productreview positief is en 0 anders.
Train een logistic regression-model en evalueer de prestaties op de testdata. Hoe goed doet het model het?
Alle vereiste pakketten zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Sentimentanalyse in Python
Oefeninstructies
- Voer de train/test-split uit, met 20% van de data voor testen en de random seed op
456. - Train een logistic regression-model.
- Voorspel de klasse.
- Print de accuracy score en de confusion matrix op de testset.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Define X and y
y = reviews_transformed.score
X = reviews_transformed.drop('score', axis=1)
# Train/test split
X_train, X_test, y_train, y_test = ____(____, ____, ____=0.2, ____=456)
# Train a logistic regression
log_reg = ____.____(____, ____)
# Predict the labels
y_predicted = log_reg.____(____)
# Print accuracy score and confusion matrix on test set
print('Accuracy on the test set: ', ____(____, ____))
print(____(____, ____)/len(y_test))