Regressão Logística
Aqui está um exercício simples do Jupyter Notebook para os alunos aprenderem sobre classificação usando regressão logística. Este exercício irá guiá-los através do carregamento de um conjunto de dados, treinamento de um modelo de regressão logística e avaliação de seu desempenho.
Exercício: Classificação por Regressão Logística
Objetivo:Carregar um conjunto de dados. Treinar um modelo de regressão logística. Avalie o desempenho do modelo. Pré-requisitos:Instale a biblioteca scikit-learn. Use um conjunto de dados simples como o conjunto de dados Iris.
Etapa 1: Instalar as bibliotecas necessárias:
%pip install scikit-learn
Etapa 2: Importar bibliotecas:
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
Etapa 3: Carregue o conjunto de dados:
# Load the Iris dataset
iris = datasets.load_iris()
X = iris.data
y = iris.target
# Use only two classes for binary classification
X = X[y != 2]
y = y[y != 2]
Etapa 4: dividir o conjunto de dados:
# Split the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
Passo 5: Treinar o Modelo de Regressão Logística:
# Initialize and train the logistic regression model
model = LogisticRegression()
model.fit(X_train, y_train)
Passo 6: Faça previsões:
# Make predictions on the test set
y_pred = model.predict(X_test)
Passo 7: Faça previsões:
# Evaluate the model's performance
accuracy = accuracy_score(y_test, y_pred)
cm = confusion_matrix(y_test, y_pred)
cr = classification_report(y_test, y_pred)
print(f'Accuracy: {accuracy}')
print('Confusion Matrix:')
print(cm)
print('Classification Report:')
print(cr)
Passo 8: Visualize os resultados:
# Visualize the confusion matrix
plt.figure(figsize=(8, 6))
plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)
plt.title('Confusion Matrix')
plt.colorbar()
tick_marks = np.arange(len(iris.target_names[:2]))
plt.xticks(tick_marks, iris.target_names[:2], rotation=45)
plt.yticks(tick_marks, iris.target_names[:2])
fmt = 'd'
thresh = cm.max() / 2.
for i, j in np.ndindex(cm.shape):
plt.text(j, i, format(cm[i, j], fmt),
ha="center", va="center",
color="white" if cm[i, j] > thresh else "black")
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.tight_layout()
plt.show()
Instruções para Estudantes:
Siga as etapas para instalar as bibliotecas necessárias e carregar o conjunto de dados.
Treinar o modelo de regressão logística e avaliar o seu desempenho.
Modifique o código para usar conjuntos de dados diferentes ou adicione mais recursos ao modelo.
Explore o impacto de diferentes hiperparâmetros no desempenho do modelo.
- Make a submission
