0Pricing
Learn AI with Python · Aula

Armazenamento e consulta de resultados de aprendizado de máquina

Persistência de previsões de modelos, registros de experimentos e dados de atributos em bancos de dados relacionais.

Armazenamento e consulta de resultados de aprendizado de máquina é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Acompanhando experimentos de ML

Ao treinar modelos, você produz dezenas de execuções com configurações e pontuações diferentes. Sem acompanhamento, você perde a informação sobre qual configuração funcionou melhor.

Um pequeno banco de dados de experimentos registra cada execução para que você possa consultar, comparar e reproduzir a vencedora.

Projetando uma tabela de experimentos

Um bom esquema registra a identidade da execução, o modelo, os principais hiperparâmetros, a métrica e uma marca temporal. Armazene os hiperparâmetros flexíveis em uma coluna de texto JSON.

import sqlite3

conn = sqlite3.connect("experiments.db")
conn.execute("""
CREATE TABLE IF NOT EXISTS runs (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    model TEXT NOT NULL,
    params TEXT,
    accuracy REAL,
    f1 REAL,
    created_at TEXT DEFAULT (datetime("now"))
)
""")
conn.commit()

Por que usar uma marca temporal e um ID

O id com incremento automático fornece a cada execução um identificador estável, e created_at permite ordenar as execuções ao longo do tempo ou encontrar a mais recente.

DEFAULT (datetime("now")) preenche a marca temporal automaticamente durante a inserção.

Registrando uma execução

Após o treinamento, insira os resultados. Serializar o dicionário de hiperparâmetros em JSON mantém o esquema flexível entre os modelos.

import json, sqlite3

params = {"n_estimators": 200, "max_depth": 8}
conn.execute(
    "INSERT INTO runs (model, params, accuracy, f1) VALUES (?, ?, ?, ?)",
    ("random_forest", json.dumps(params), 0.913, 0.902),
)
conn.commit()

Um auxiliar reutilizável log_run

Reúna a inserção em uma função que você chama ao final de cada script de treinamento. O registro consistente é o que possibilita comparações posteriores.

def log_run(conn, model, params, accuracy, f1):
    conn.execute(
        "INSERT INTO runs (model, params, accuracy, f1) VALUES (?, ?, ?, ?)",
        (model, json.dumps(params), accuracy, f1),
    )
    conn.commit()

Selecionando as melhores execuções

Encontre seus melhores modelos ordenando pela métrica. ORDER BY accuracy DESC com LIMIT retorna os líderes.

cur = conn.execute(
    "SELECT model, accuracy, f1 FROM runs ORDER BY accuracy DESC LIMIT 5"
)
for row in cur.fetchall():
    print(row)

Filtrando por modelo ou limite

Restrinja as comparações com WHERE: apenas uma família de modelos ou apenas execuções acima de uma pontuação-alvo.

cur = conn.execute(
    "SELECT model, accuracy FROM runs WHERE model = ? AND accuracy > ? ORDER BY accuracy DESC",
    ("random_forest", 0.90),
)
print(cur.fetchall())

Agregando várias execuções

As agregações SQL resumem várias execuções de uma só vez: melhor resultado, média e quantidade por modelo com GROUP BY.

cur = conn.execute("""
SELECT model,
       COUNT(*) AS n,
       MAX(accuracy) AS best,
       AVG(accuracy) AS mean
FROM runs
GROUP BY model
ORDER BY best DESC
""")
print(cur.fetchall())

Carregando resultados no pandas

Para uma comparação mais completa, carregue a tabela em um DataFrame e analise-a com pandas — ordene, crie tabelas dinâmicas e gere gráficos.

import pandas as pd
from sqlalchemy import create_engine

engine = create_engine("sqlite:///experiments.db")
df = pd.read_sql("SELECT * FROM runs", engine)
print(df.sort_values("accuracy", ascending=False).head())

Comparando experimentos no pandas

Expanda os parâmetros JSON em colunas para correlacionar os hiperparâmetros com a métrica — exatamente o que orienta seu próximo experimento.

import json, pandas as pd

params_df = df["params"].apply(json.loads).apply(pd.Series)
full = pd.concat([df, params_df], axis=1)
print(full.groupby("max_depth")["accuracy"].mean())

Reproduzindo a execução vencedora

Como cada execução armazenou seus hiperparâmetros, reproduzir o melhor modelo consiste apenas em ler sua linha e instanciá-lo novamente com esses parâmetros.

best = df.sort_values("accuracy", ascending=False).iloc[0]
import json
best_params = json.loads(best["params"])
print("Reproduce", best["model"], "with", best_params)

Verificação rápida: melhores execuções

Você quer as cinco execuções com maior precisão da tabela.

Recapitulação: armazenamento e consulta de resultados de aprendizado de máquina

Você criou um fluxo de trabalho para acompanhar experimentos:

  • Uma tabela runs com modelo, parâmetros JSON, métricas e marca temporal
  • Um auxiliar log_run para registrar cada execução de treinamento
  • ORDER BY ... DESC LIMIT para encontrar as melhores execuções e WHERE para filtrar
  • Agregações com GROUP BY e pandas para uma comparação mais aprofundada
  • Parâmetros armazenados tornam o vencedor reproduzível

Próximo assunto: bancos de dados vetoriais para busca por incorporações.

Perguntas Frequentes

A aula “Armazenamento e consulta de resultados de aprendizado de máquina” é grátis?

Sim — o texto completo de “Armazenamento e consulta de resultados de aprendizado de máquina” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Armazenamento e consulta de resultados de aprendizado de máquina”?

Persistência de previsões de modelos, registros de experimentos e dados de atributos em bancos de dados relacionais. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Armazenamento e consulta de resultados de aprendizado de máquina”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. SQLite com o módulo sqlite3 do Python
  2. Integração entre Pandas e SQL
  3. Armazenamento e consulta de resultados de aprendizado de máquina
  4. Introdução aos bancos de dados vetoriais
← Voltar para Learn AI with Python