Machine Learning com Scikit-learn: Criando seu Primeiro Modelo
Se você está começando no mundo da ciência de dados, uma das melhores formas de aprender é criar seu primeiro modelo de Machine Learning na prática.
E a biblioteca mais popular para isso em Python é o scikit-learn.
Neste artigo, você vai aprender:
O que é o scikit-learn.
Como preparar um dataset.
Como treinar um modelo supervisionado.
Como avaliar os resultados.
Como fazer previsões com novos dados.
🔹 1. O que é o Scikit-learn?
O scikit-learn (sklearn) é uma das bibliotecas mais utilizadas para Machine Learning em Python.
Ele oferece ferramentas para:
Classificação (ex: detectar se um e-mail é spam ou não).
Regressão (ex: prever preço de casas).
Clusterização (ex: agrupar clientes semelhantes).
Pré-processamento de dados (normalização, transformação, etc.).
Avaliação de modelos.
Para instalar:
pip install scikit-learn
🔹 2. Escolhendo um dataset de exemplo
O scikit-learn já traz alguns datasets prontos.
Um dos mais usados para introdução é o Iris Dataset, que contém medidas de flores de íris e suas espécies.
from sklearn.datasets import load_iris
# Carregando o dataset
iris = load_iris()
print("Características:", iris.feature_names)
print("Classes:", iris.target_names)
O dataset possui:
Características (features): comprimento e largura das pétalas e sépalas.
Classe (target): espécie da flor (setosa, versicolor ou virginica).
🔹 3. Separando dados para treino e teste
Antes de treinar um modelo, precisamos dividir os dados em treino e teste.
from sklearn.model_selection import train_test_split
X = iris.data # características
y = iris.target # rótulos (classes)
# 70% treino, 30% teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
🔹 4. Criando o modelo
Vamos usar o KNN (K-Nearest Neighbors), um algoritmo simples de classificação.
from sklearn.neighbors import KNeighborsClassifier
# Criando o modelo com 3 vizinhos
modelo = KNeighborsClassifier(n_neighbors=3)
# Treinando o modelo
modelo.fit(X_train, y_train)
Agora o modelo aprendeu a reconhecer espécies de flores com base nos dados de treino.
🔹 5. Avaliando o modelo
Podemos testar o modelo com os dados que ele nunca viu (X_test):
# Avaliação da acurácia
acuracia = modelo.score(X_test, y_test)
print("Acurácia do modelo:", acuracia)
👉 Se a acurácia for próxima de 1.0 (ou seja, 100%), significa que o modelo está classificando corretamente a maior parte das flores.
Também podemos gerar previsões individuais:
# Fazendo previsões
previsoes = modelo.predict(X_test[:5])
print("Previsões:", previsoes)
print("Valores reais:", y_test[:5])
🔹 6. Testando com novos dados
Suponha que medimos uma nova flor e queremos prever sua espécie:
# [comprimento_sépala, largura_sépala, comprimento_pétala, largura_pétala]
nova_flor = [[5.1, 3.5, 1.4, 0.2]]
resultado = modelo.predict(nova_flor)
print("Espécie prevista:", iris.target_names[resultado][0])
🔹 7. Melhorando o modelo
Teste outros algoritmos como Árvores de Decisão, Random Forest ou SVM.
Ajuste parâmetros (
n_neighbors, profundidade da árvore, etc.).Faça normalização dos dados antes de treinar.
Exemplo com árvore de decisão:
from sklearn.tree import DecisionTreeClassifier
arvore = DecisionTreeClassifier(random_state=42)
arvore.fit(X_train, y_train)
print("Acurácia árvore de decisão:", arvore.score(X_test, y_test))
🔹 8. Conclusão
Você acabou de criar seu primeiro modelo de Machine Learning com scikit-learn! 🚀
Neste artigo, você aprendeu:
✅ Carregar e explorar um dataset.
✅ Dividir em treino e teste.
✅ Treinar um modelo simples (KNN).
✅ Avaliar a acurácia.
✅ Fazer previsões com novos dados.
O próximo passo é aplicar essas técnicas em datasets reais e aprender sobre:
Pré-processamento de dados (tratamento de valores ausentes, normalização).
Hyperparameter tuning (ajuste fino de parâmetros).

Comentários
Postar um comentário