Se você está entrando no mundo do aprendizado de máquina, o conjunto de dados Iris é um excelente ponto de partida. Neste artigo, vamos guiá-lo através de uma série de exercícios práticos usando Python e o scikit-learn para construir e avaliar modelos de Regressão Logística e Árvore de Decisão. Vamos lá!
Exercício 1: Carregando um Conjunto de Dados
Nosso ponto de partida é carregar o conjunto de dados Iris usando a função load_iris() do scikit-learn. Este conjunto de dados contém informações sobre três espécies de flores Iris e suas características.
import numpy as np
from sklearn.datasets import load_iris
iris = load_iris()
Exercício 2: Dividindo o Conjunto de Dados
Para avaliar nossos modelos, dividimos o conjunto de dados em conjuntos de treinamento e teste usando train_test_split(). Reservamos 70% dos dados para treinamento e 30% para teste.
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=42)
Exercício 3: Padronização de Recursos
Padronizamos as características do conjunto de treinamento e do conjunto de teste para garantir que elas estejam na mesma escala. Isso é feito usando StandardScaler().
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
Exercício 4: Treinando um Modelo de Regressão Logística
Agora, criamos e treinamos um modelo de Regressão Logística com o conjunto de treinamento.
from sklearn.linear_model import LogisticRegression
logistic_model = LogisticRegression()
logistic_model.fit(X_train, y_train)
Exercício 5: Fazendo Previsões
Usamos o modelo treinado para fazer previsões no conjunto de teste.
logistic_predictions = logistic_model.predict(X_test)
Exercício 6: Avaliação do Modelo
Calculamos a acurácia do modelo de Regressão Logística usando accuracy_score()
.
from sklearn.metrics import accuracy_score
accuracy_logistic = accuracy_score(y_test, logistic_predictions)
Exercício 7: Relatório de Classificação
Geramos um relatório de classificação para avaliar o desempenho do modelo de Regressão Logística usando classification_report().
from sklearn.metrics import classification_report
classification_report_logistic = classification_report(y_test, logistic_predictions, target_names=iris.target_names)
Exercício 8: Treinando um Modelo de Árvore de Decisão
Agora, criamos e treinamos um modelo de Árvore de Decisão com o conjunto de treinamento.
from sklearn.tree import DecisionTreeClassifier
decision_tree_model = DecisionTreeClassifier()
decision_tree_model.fit(X_train, y_train)
Exercício 9: Fazendo Previsões com a Árvore de Decisão
Usamos o modelo de Árvore de Decisão treinado para fazer previsões no conjunto de teste.
decision_tree_predictions = decision_tree_model.predict(X_test)
Exercício 10: Avaliação do Modelo de Árvore de Decisão
Calculamos a acurácia do modelo de Árvore de Decisão usando accuracy_score().
accuracy_decision_tree = accuracy_score(y_test, decision_tree_predictions)
Exercício 11: Comparação de Modelos
Comparamos a acurácia dos modelos de Regressão Logística e Árvore de Decisão para determinar qual é melhor para este conjunto de dados.
if accuracy_logistic > accuracy_decision_tree:
melhor_modelo = "Regressão Logística"
else:
melhor_modelo = "Árvore de Decisão"
Exercício 12: Tuning de Hiperparâmetros
O exercício final é experimentar o ajuste de hiperparâmetros do modelo de Árvore de Decisão, como a profundidade máxima da árvore, para encontrar a melhor configuração possível.
Agora você está equipado para explorar modelos de aprendizado de máquina com o conjunto de dados Iris e entender as nuances entre Regressão Logística e Árvore de Decisão. Continue praticando e aprofundando seus conhecimentos em aprendizado de máquina!