Python com ML Básico
Carregando, aguarde alguns segundos.

1 - Aprendizado Supervisionado, Não Supervisionado e por Reforço

1.1 - Aprendizado Supervisionado: Regressão Linear

No aprendizado supervisionado, o modelo é treinado com dados rotulados. Um exemplo clássico é a regressão linear.

import pandas as pd
from sklearn.model_selection import train_test_split as tts
from sklearn.linear_model import LinearRegression as lr
from sklearn.metrics import mean_squared_error as mse

# Criar um DataFrame de exemplo
data = {'idade': [25, 30, 45, 40, 50], 'salario': [50000, 54000, 61000, 58000, 62000]}
df = pd.DataFrame(data)

# Definir variáveis independentes e dependentes
X = df[['idade']]
y = df['salario']

# Dividir os dados em conjuntos de treinamento e teste
X_treino, X_teste, Y_treino, Y_teste = tts(X, y, test_size=0.2, random_state=42)

# Treinar um modelo de regressão linear
modelo = lr()
modelo.fit(X_treino, Y_treino)

# Fazer previsões e avaliar o modelo
y_pred = modelo.predict(X_teste)
erro_quadratico_medio = mse(Y_teste, y_pred)
print(f'Erro Médio Quadrático: {erro_quadratico_medio}')

1.2 - Aprendizado Não Supervisionado: K-means Clustering

No aprendizado não supervisionado, o modelo é treinado com dados não rotulados. Um exemplo é o algoritmo de clustering K-means.

import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# Criar um DataFrame de exemplo
data = {
    'idade'  : [ 25    , 30    , 45    , 40    , 50    ],
    'salario': [ 50000 , 54000 , 61000 , 58000 , 62000 ]}
df = pd.DataFrame(data)

# Treinar o modelo K-means
kmeans = KMeans(n_clusters=2, random_state=42)
kmeans.fit(df)

# Adicionar os rótulos de cluster ao DataFrame
df['cluster'] = kmeans.labels_

# Visualizar os clusters
plt.scatter(df['idade'], df['salario'], c=df['cluster'])
plt.xlabel('Idade')
plt.ylabel('Salário')
plt.show()

1.3 - Aprendizado por Reforço: Q-Learning

No aprendizado por reforço, o modelo aprende a tomar decisões sequenciais. Q-learning é um exemplo de algoritmo de aprendizado por reforço.

import numpy as np

# Definir parâmetros do Q-learning
gamma = 0.9
alpha = 0.1
num_episodes = 100

# Inicializar a tabela Q
Q = np.zeros((5, 2))

# Definir uma política de escolha de ação (exploração vs. exploração)
def choose_action(state):
    if np.random.uniform(0, 1) < 0.1:
        return np.random.choice([0, 1])
    else:
        return np.argmax(Q[state, :])

# Treinamento Q-learning
for episode in range(num_episodes):
    state = np.random.randint(0, 5)
    while -4 < state < 4:
        action = choose_action(state)
        next_state = state + 1 if action == 1 else state - 1
        reward = 1 if next_state == 4 else 0
        Q[state, action] += alpha * (reward + gamma * np.max(Q[next_state, :]) - Q[state, action])
        state = next_state

print("Tabela Q aprendida:")
print(Q)
Arduino
Coautor
Betobyte
Autor
Autores
||| Áreas ||| Estatística ||| Python ||| Projetos ||| Dicas & Truques ||| Quantum ||| Python com ML Básico || Python para Iniciantes || Python Básico || Matplotlib || Numpy || Seaborn || Pandas || Django || Estatística para Cientistas de Dados || Python com ML Básico || Python com ML Básico || Aulas | Introdução (Introdução) | Guia Rápido do Python (Guia Rápido do Python) | Aprendizado (Aprendizado supervisionado, não supervisionado e por reforço) | Modelos (Modelos de Regressão e Classificação) | Agrupamento (Algoritmos de Agrupamento) | Pre-processamento de Dados (Pré-processamento de dados e técnicas de engenharia de características) | Métricas (Métricas de avaliação para modelos de ML) | Treinamento e Avaliação (Funções para pré-processamento de dados, treinamento de modelos e avaliação) | Seaborn e Matplotlib (Seaborn e Matplotlib para visualização) | Pandas (Pandas para processamento) | Scikit-learn (Scikit-learn, uma biblioteca de ML em Python) | R (Pacotes dplyr, caret e vip para R) | Emsemble e RNA (Métodos de ensemble e redes neurais artificiais) | Aplicações (Aplicações de aprendizado de máquina) | Matemática (Fundamentos matemáticos para ML) | Otimização (Métodos de otimização e treinamento de modelos) | Problemas Comuns (Problemas comuns de ML e MLOps) | Ferramentas de Nuvem (Ferramentas baseadas em nuvem como GCP, AWS e Microsoft Azure) | Frameworks e Bibliotecas DL (Ferramentas de MLOps de código aberto como MLflow) | Ajustes de Hiperparâmetros (Técnicas de ajuste de hiperparâmetros como grid search e random search) | Frameworks e Biblioteca DL (Frameworks e bibliotecas de deep learning como PyTorch e TensorFlow) | Implementação (Implementar soluções de ML com conjuntos de dados do mundo real) | NLP (Visão computacional e Processamento de Linguagem Natural (NLP)) | Arquiteturas DL (Arquiteturas avançadas de deep learning como RNNs e GANs) | Arquiteturas LLM (Arquiteturas de transformadores em LLMs (BERT e GPT)) | Design (Design de aprendizado por reforço e RAG) | Ciclo de Vida de MLOps (Ciclo de vida de MLOps e últimas tendências de pesquisa em ML) | Provedores (Provedores de nuvem e ferramentas de código aberto para ciclo de vida completo de MLOps) | Frameworks RL (Frameworks de aprendizado por reforço como OpenAI Gym) | Ferramentas LLM (Langchain e ferramentas similares para LLMs customizados) | Repositórios LLKM (Desenvolver ou usar LLMs de repositórios como Hugging Face) | Arquitetura DL (Arquiteturas de deep learning com TensorFlow / PyTorch) |