Um Tutorial Prático

Vamos mergulhar no mundo do Scikit-learn e criar um modelo de classificação passo a passo. Para este tutorial, vamos utilizar o famoso dataset Iris, que é um clássico para iniciantes em Machine Learning.

O que é um Modelo de Classificação?

Um modelo de classificação é utilizado para prever a qual categoria um dado pertence. Por exemplo, podemos usar um modelo para classificar emails como spam ou não spam, ou identificar se um tumor é benigno ou maligno.

O que é o Scikit-learn?

O Scikit-learn é uma biblioteca Python que oferece diversas ferramentas para Machine Learning, incluindo algoritmos de classificação, regressão, clustering e muito mais. Ele é fácil de usar e possui uma documentação extensa.

Passo a Passo

1. Importar as Bibliotecas Necessárias:

Python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
  • load_iris: Carrega o dataset Iris.
  • train_test_split: Divide os dados em conjuntos de treinamento e teste.
  • KNeighborsClassifier: Implementa o algoritmo K-Nearest Neighbors, que será utilizado para a classificação.

2. Carregar o Dataset:

Python
iris = load_iris()
X = iris.data
y = iris.target
  • X: Contém as features (características) das flores Iris.
  • y: Contém as classes (tipos de flores).

3. Dividir os Dados em Treinamento e Teste:

Python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
  • X_train, y_train: Dados que serão usados para treinar o modelo.
  • X_test, y_test: Dados que serão usados para avaliar o modelo.

4. Criar e Treinar o Modelo:

Python
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
  • n_neighbors=3: Indica que o algoritmo vai considerar os 3 vizinhos mais próximos para fazer a classificação.

5. Fazer Previsões:

Python
y_pred = knn.predict(X_test)

6. Avaliar o Modelo:

Python
from sklearn.metrics import accuracy_score

accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

Explicação:

  • K-Nearest Neighbors (KNN): É um algoritmo simples que classifica um novo ponto de dados com base nos rótulos de seus k vizinhos mais próximos no conjunto de treinamento.
  • Accuracy: Mede a proporção de exemplos que foram classificados corretamente.

Código Completo:

Python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Carregar o dataset
iris = load_iris()
X = iris.data
y = iris.target

# Dividir os dados em treinamento e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Criar e treinar o modelo
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

# Fazer previsões
y_pred = knn.predict(X_test)

# Avaliar o modelo
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

E aí, gostou? Podemos aprofundar em outros algoritmos, técnicas de avaliação e até mesmo explorar outros datasets.

O que você gostaria de aprender a seguir?

  • Outros algoritmos de classificação: SVM, Naive Bayes, Árvore de Decisão
  • Técnicas de pré-processamento de dados: Escalonamento, normalização, tratamento de dados ausentes
  • Avaliação de modelos: Métricas como precisão, recall, F1-score, matriz de confusão
  • Seleção de features: Identificar as features mais importantes para o modelo
  • Hyperparameter tuning: Otimizar os parâmetros do modelo

Qual é o seu próximo passo nessa jornada do Machine Learning?