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
runscom modelo, parâmetros JSON, métricas e marca temporal - Um auxiliar
log_runpara registrar cada execução de treinamento ORDER BY ... DESC LIMITpara encontrar as melhores execuções eWHEREpara filtrar- Agregações com
GROUP BYe 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
- SQLite com o módulo sqlite3 do Python
- Integração entre Pandas e SQL
- Armazenamento e consulta de resultados de aprendizado de máquina
- Introdução aos bancos de dados vetoriais