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:
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:
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:
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:
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:
y_pred = knn.predict(X_test)
6. Avaliar o Modelo:
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:
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?