Modelo de Regressão Logística

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Este laboratório fornecerá um guia passo a passo sobre como criar um Modelo de Regressão Logística usando a biblioteca scikit-learn do Python.

Dicas da Máquina Virtual

Após o início da VM, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para você.

Importação de bibliotecas necessárias

O primeiro passo é importar as bibliotecas necessárias que serão utilizadas neste laboratório. Usaremos numpy, matplotlib, scipy e sklearn.

import matplotlib.pyplot as plt
import numpy as np
from scipy.special import expit
from sklearn.linear_model import LinearRegression, LogisticRegression

Gerar um conjunto de dados de brinquedo

O próximo passo é gerar um conjunto de dados de brinquedo, que é uma linha reta com algum ruído gaussiano. Usaremos numpy para gerar este conjunto de dados.

## Gerar um conjunto de dados de brinquedo, apenas uma linha reta com algum ruído gaussiano:
xmin, xmax = -5, 5
n_samples = 100
np.random.seed(0)
X = np.random.normal(size=n_samples)
y = (X > 0).astype(float)
X[X > 0] *= 4
X += 0.3 * np.random.normal(size=n_samples)

X = X[:, np.newaxis]

Ajustar o classificador

Após gerar o conjunto de dados, ajustaremos o classificador usando LogisticRegression do scikit-learn.

## Ajustar o classificador
clf = LogisticRegression(C=1e5)
clf.fit(X, y)

Plotar o resultado

O passo final é plotar o resultado. Usaremos matplotlib para criar um gráfico de dispersão dos dados de exemplo e plotar o modelo de regressão logística e o modelo de regressão linear.

## e plotar o resultado
plt.figure(1, figsize=(4, 3))
plt.clf()
plt.scatter(X.ravel(), y, label="dados de exemplo", color="black", zorder=20)
X_test = np.linspace(-5, 10, 300)

loss = expit(X_test * clf.coef_ + clf.intercept_).ravel()
plt.plot(X_test, loss, label="Modelo de Regressão Logística", color="red", linewidth=3)

ols = LinearRegression()
ols.fit(X, y)
plt.plot(
    X_test,
    ols.coef_ * X_test + ols.intercept_,
    label="Modelo de Regressão Linear",
    linewidth=1,
)
plt.axhline(0.5, color=".5")

plt.ylabel("y")
plt.xlabel("X")
plt.xticks(range(-5, 10))
plt.yticks([0, 0.5, 1])
plt.ylim(-0.25, 1.25)
plt.xlim(-4, 10)
plt.legend(
    loc="lower right",
    fontsize="small",
)
plt.tight_layout()
plt.show()

Resumo

Este laboratório forneceu um guia passo a passo sobre como criar um Modelo de Regressão Logística usando a biblioteca scikit-learn do Python. Começamos importando as bibliotecas necessárias, gerando um conjunto de dados de brinquedo, ajustando o classificador e, finalmente, plotando o resultado.