La régression logistique
La régression logistique est un algorithme de classification binaire de type linéaire. Elle répond donc aux problèmes linéairement séparables c'est-à-dire qu'on peut séparer les points des deux clases avec une droite.
Binaire: deux classes Linéaire: on peut séparer les deux classes à l'aide d'une droite
La solution d'une régression s'obtient en minimisant l'entropie croisée binaire.
Importer LogisticRegression
Code complet
# coding : utf-8
'''
Scikit-learn Challenge
#02 : Logistic Regression
'''
# Packages
import pickle
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix
# Get data
X, y = make_classification(n_samples=100, n_features=4, n_classes=2)
# Design model
clf = LogisticRegression(penalty='l2', C=0.8)
# Train model
clf.fit(X, y)
# Evaluate model
y_pred = clf.predict(X)
score = accuracy_score(y, y_pred)
print('Accuracy score: ', round(score, 2))
conf_mat = confusion_matrix(y, y_pred)
print(conf_mat)
# Inference
output = clf.predict([[1.5, 0.24, 2.6, 0.1]])[0]
print('Predcited class: ', output)
# Save model
with open('output/model.pkl', 'wb') as f:
pickle.dump(obj=clf, file=f)