Aprendizado Supervisionado com o scikit-learn
George Boorman
Core Curriculum Manager, DataCamp
A regressão logística é usada para problemas de classificação
A regressão logística gera probabilidades
Se a probabilidade $ \ p>0,5$:
1
Se a probabilidade $ \ p<0,5$:
0
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
logreg.fit(X_train, y_train)
y_pred = logreg.predict(X_test)
y_pred_probs = logreg.predict_proba(X_test)[:, 1]
print(y_pred_probs[0])
[0.08961376]
Por padrão: limite de regressão logística = 0,5
Não é específico para regressão logística
O que acontece se variarmos o limite?
from sklearn.metrics import roc_curve
fpr, tpr, thresholds = roc_curve(y_test, y_pred_probs)
plt.plot([0, 1], [0, 1], 'k--') plt.plot(fpr, tpr) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('Logistic Regression ROC Curve') plt.show()
from sklearn.metrics import roc_auc_score
print(roc_auc_score(y_test, y_pred_probs))
0.6700964152663693
Aprendizado Supervisionado com o scikit-learn