Article image
Marcos Dias
Marcos Dias10/02/2025 22:44
Compartilhe

Explorando Machine Learning com Python: Praticidade Para Newbies

  • #Python

Introdução

Machine Learning (ML) é uma das áreas mais fascinantes e transformadoras da ciência de dados. Com o Python, uma das linguagens de programação mais populares, você pode explorar e implementar algoritmos de ML de maneira eficiente e intuitiva. Neste artigo, vamos mergulhar no mundo do Machine Learning com Python, abordando desde conceitos básicos até a implementação prática de algoritmos. Vamos também explorar bibliotecas essenciais, como Scikit-learn, TensorFlow e Pandas, e demonstrar como você pode começar a construir seus próprios modelos de ML.

Por que Python para Machine Learning?

Python é a linguagem preferida por muitos cientistas de dados e desenvolvedores de ML devido à sua simplicidade e à vasta gama de bibliotecas disponíveis. Algumas das razões pelas quais Python se destaca no campo de ML incluem:

  • Fácil de aprender e usar: A sintaxe de Python é clara e intuitiva, o que facilita a prototipagem rápida.
  • Comunidade ativa: Python possui uma grande comunidade de desenvolvedores, o que significa que há muitos recursos, tutoriais e fóruns disponíveis.
  • Bibliotecas poderosas: Python oferece bibliotecas especializadas para ML, como Scikit-learn, TensorFlow, Keras e PyTorch.

Principais Bibliotecas de Machine Learning em Python

1. Scikit-learn

Scikit-learn é uma das bibliotecas mais populares para ML em Python. Ela oferece uma ampla gama de algoritmos de aprendizado supervisionado e não supervisionado, além de ferramentas para pré-processamento de dados e avaliação de modelos.

from sklearn.datasets import load_iris

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import accuracy_score


# Carregando o dataset Iris

iris = load_iris()

X, y = iris.data, iris.target


# Dividindo os dados em conjuntos de treino e teste

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)


# Treinando um modelo de Random Forest

model = RandomForestClassifier()

model.fit(X_train, y_train)


# Fazendo previsões

y_pred = model.predict(X_test)


# Avaliando a acurácia do modelo

accuracy = accuracy_score(y_test, y_pred)

print(f"Acurácia do modelo: {accuracy:.2f}")

Execução no Terminal:

PS C:\Users\MarcosDias> & C:/Users/MarcosDias/AppData/Local/Microsoft/WindowsApps/python3.11.exe c:/Users/MarcosDias/Desktop/main.py
Acurácia do modelo: 1.00
PS C:\Users\MarcosDias> 

2. TensorFlow e Keras

TensorFlow é uma biblioteca de código aberto desenvolvida pelo Google para tarefas de ML e deep learning. Keras, que agora faz parte do TensorFlow, é uma API de alto nível que facilita a criação e treinamento de redes neurais.

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Input


# Criando um modelo sequencial correto
model = Sequential([
  Input(shape=(10,)),  # Definindo a entrada corretamente
  Dense(64, activation='relu'),  # Camada densa com 64 neurônios e ReLU
  Dense(64, activation='relu'),  # Outra camada densa
  Dense(1)  # Camada de saída para regressão
])


# Compilando o modelo
model.compile(optimizer='adam', loss='mse')


# Exibindo o resumo do modelo
model.summary()

Execução no Terminal:

Model: "sequential_1"

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Layer (type)                         ┃ Output Shape                ┃         Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ dense_3 (Dense)                      │ (None, 64)                  │             704 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_4 (Dense)                      │ (None, 64)                  │           4,160 │
├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤
│ dense_5 (Dense)                      │ (None, 1)                   │              65 │
└──────────────────────────────────────┴─────────────────────────────┴─────────────────┘

 Total params: 4,929 (19.25 KB)

 Trainable params: 4,929 (19.25 KB)

 Non-trainable params: 0 (0.00 B)

3. Pandas

Pandas é uma biblioteca essencial para manipulação e análise de dados. Ela permite que você carregue, limpe e transforme dados de maneira eficiente antes de aplicá-los em modelos de ML.

import pandas as pd


# Carregando um dataset de exemplo

data = pd.read_csv('data.csv')


# Exibindo as primeiras linhas do dataset

print(data.head())


# Realizando operações básicas de limpeza de dados

data = data.dropna() # Removendo valores faltantes

data = data.drop_duplicates() # Removendo duplicatas

data.csv

size_sqft,num_bedrooms,location,price
1500,3,Urban,300000
2000,4,Suburban,400000
1200,2,Urban,250000
1800,3,Suburban,350000
1600,3,Rural,280000
2200,4,Urban,450000
1400,2,Suburban,320000
1700,3,Rural,290000
1900,4,Urban,380000
1300,2,Suburban,270000

Execução no Terminal:

 size_sqft  num_bedrooms  location   price
0       1500             3     Urban  300000
1       2000             4  Suburban  400000
2       1200             2     Urban  250000
3       1800             3  Suburban  350000
4       1600             3     Rural  280000

Passos para Construir um Modelo de Machine Learning

1. Coleta e Pré-processamento de Dados

O primeiro passo em qualquer projeto de ML é coletar e preparar os dados. Isso inclui a limpeza de dados, tratamento de valores faltantes e normalização.

2. Escolha do Algoritmo

Dependendo do problema que você está tentando resolver, você pode escolher entre algoritmos de classificação, regressão, clustering, etc. Por exemplo, para problemas de classificação, você pode usar Random Forest ou SVM.

3. Treinamento do Modelo

Após escolher o algoritmo, você treina o modelo usando os dados de treino. O objetivo é ajustar os parâmetros do modelo para que ele possa fazer previsões precisas.

4. Avaliação do Modelo

Depois de treinar o modelo, é essencial avaliar seu desempenho usando métricas como acurácia, precisão, recall e F1-score.

5. Otimização e Ajuste de Hiperparâmetros

Para melhorar o desempenho do modelo, você pode ajustar os hiperparâmetros ou usar técnicas como Grid Search ou Randomized Search.

Exemplo Prático: Classificação de Flores com Scikit-learn

Vamos implementar um exemplo prático de classificação usando o dataset Iris, que é um clássico no mundo de ML:

from sklearn.datasets import load_iris

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import classification_report


# Carregando o dataset Iris

iris = load_iris()

X, y = iris.data, iris.target


# Dividindo os dados em conjuntos de treino e teste

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)


# Treinando um modelo de Random Forest

model = RandomForestClassifier()

model.fit(X_train, y_train)




# Fazendo previsões

y_pred = model.predict(X_test)


# Avaliando o modelo

print(classification_report(y_test, y_pred))

Execução no Terminal:

            precision    recall  f1-score   support

         0       1.00      1.00      1.00        10
         1       1.00      1.00      1.00         9
         2       1.00      1.00      1.00        11

  accuracy                           1.00        30
 macro avg       1.00      1.00      1.00        30
weighted avg       1.00      1.00      1.00        30

Conclusão

Machine Learning com Python é uma jornada emocionante que combina teoria e prática. Com as bibliotecas certas e uma abordagem estruturada, você pode começar a construir modelos poderosos que resolvem problemas reais. Neste artigo, exploramos algumas das principais bibliotecas de ML em Python e demonstramos como você pode implementar um modelo de classificação simples usando Scikit-learn.

Agora é com você! Experimente os códigos fornecidos, explore outros datasets e continue aprendendo. O mundo do Machine Learning está cheio de possibilidades, e Python é a chave para desbloquear todo o seu potencial.

Referências

#Python

Compartilhe
Comentários (1)
DIO Community
DIO Community - 11/02/2025 15:19

Parabéns, Marcos! Seu artigo é um ótimo ponto de partida para iniciantes em Machine Learning com Python! A maneira como você estruturou o conteúdo, passando pelos fundamentos, bibliotecas essenciais e implementação prática, facilita muito a compreensão para quem está começando.

Gostei particularmente da abordagem didática, com exemplos práticos e explicações objetivas. A inclusão de códigos testáveis e a demonstração da execução no terminal tornam o aprendizado mais acessível e aplicável. Além disso, a escolha do dataset Iris é excelente para quem quer experimentar modelos de Machine Learning pela primeira vez.

Talvez uma melhoria interessante seria explorar mais sobre a importância da engenharia de features, mencionando técnicas como one-hot encoding para variáveis categóricas e feature scaling, que podem impactar significativamente a performance do modelo.

Outra sugestão seria incluir uma seção sobre como salvar e carregar modelos treinados usando joblib ou pickle, permitindo que os leitores entendam como reutilizar modelos sem precisar treiná-los do zero toda vez.

Ótimo trabalho!