5 passos para criar um modelo de Machine Learning do zero no Databricks: Tutorial Completo

Conteúdos deste artigo:

Criar, treinar e colocar em produção um modelo de Machine Learning de ponta a ponta em um único ambiente é mais simples do que parece, principalmente quando usamos o Databricks.

Quem trabalha com ciência de dados sabe que as etapas de exploração, modelagem e deploy normalmente acontecem em ferramentas diferentes, o que torna o processo mais lento e suscetível a falhas.
O Databricks unifica tudo isso: um espaço colaborativo, escalável e integrado, onde é possível fazer desde a engenharia de dados até o deploy do modelo final.

Neste artigo, você vai aprender como desenvolver um modelo completo de Machine Learning no Databricks, seguindo 5 passos práticos, da análise exploratória à produção. E se preferir acompanhar o tutorial em vídeo, é só clicar aqui para assistir no YouTube.

O que é Machine Learning

De forma simples, Machine Learning (ou aprendizado de máquina) é o campo da inteligência artificial que ensina os computadores a aprender com dados.

Ao trabalhar com milhões de registros, identificar padrões manualmente é impossível. O aprendizado de máquina faz isso por nós, encontrando relações e comportamentos que não são visíveis a olho nu.

Essa tecnologia está presente nas recomendações de filmes, nas sugestões de compra de e-commerces e até nas análises de transações financeiras. Quando o banco bloqueia uma compra suspeita, há um modelo de Machine Learning tomando essa decisão em segundos.

O que é o Databricks?

O Databricks é uma plataforma em nuvem projetada para unificar todo o trabalho com dados.

Com ele, posso fazer desde a engenharia de dados até a modelagem de Machine Learning no mesmo ambiente. O Databricks é compatível com as principais nuvens (AWS, Azure e GCP) e integra nativamente ferramentas poderosas, como o Apache Spark e o MLflow.

Além disso, o ambiente é colaborativo e funciona com notebooks, o que facilita muito o trabalho em equipe. Tudo acontece de forma fluida, sem precisar alternar entre linguagens ou janelas diferentes.

Por que usar o Databricks para Machine Learning?

O principal motivo para como criar um modelo de machine learning é a integração.

Exemplo das colunas que trabalharemos no tutorial.

Aqui, você consegue realizar todo o ciclo de um modelo em um só lugar:

  • leitura e exploração dos dados,
  • tratamento e engenharia de atributos,
  • treinamento e comparação de modelos,
  • e o deploy em produção.

O Databricks permite usar Python, SQL e Spark na mesma interface. Isso significa que podemos começar com uma análise exploratória em pandas e, na célula seguinte, executar o mesmo processo com Spark para lidar com grandes volumes de dados.

Outro destaque é o MLflow, que registra automaticamente todos os experimentos, parâmetros e métricas de performance. Isso facilita a escolha do melhor modelo e economiza tempo de documentação.

Agora que já vimos os conceitos de ML, Databricks e os motivos para integrá-los, é hora de partir para os 5 passos que colocam o modelo de Databricks em ação!

PASSO 1 – Preparando o ambiente e lendo o dataset

Vamos começar criando o cluster e importando o dataset que será usado para o projeto.
Neste caso, utilizamos um dataset de transações com cartão de crédito, com mais de 1 milhão de registros. O objetivo é prever se uma transação é fraudulenta (1) ou legítima (0).

Como é comum nesse tipo de problema, o conjunto é altamente desbalanceado, apenas cerca de 0,6% das transações são fraudes.

O primeiro passo é carregar os dados no Databricks:

df = spark.read.format("csv") \
    .option("header", "true") \
    .option("inferSchema", "true") \
    .load("/FileStore/tables/creditcard.csv")

df.display()

O método display() do Databricks facilita a visualização inicial dos dados.
A partir daqui, você pode inspecionar as colunas, tipos de dados e estatísticas básicas diretamente no notebook.

Passo 2 – Análise exploratória dos dados

Com o dataset carregado, é hora de fazer a análise exploratória.

No Databricks, é possível alternar entre pandas e Spark DataFrames facilmente. Para verificações simples, pandas é rápido e direto; para grandes volumes, Spark é ideal.

import pandas as pd

# Conversão para pandas para visualização rápida
pdf = df.limit(10000).toPandas()

# Verificação de nulos e duplicatas
print(pdf.isnull().sum())
print(pdf.duplicated().sum())

Durante essa etapa, verificamos:

  • existência de valores nulos;
  • duplicidades;
  • distribuições de variáveis;
  • comportamento da variável-alvo (fraude vs. não fraude).

Também é possível usar visualizações interativas do Databricks para entender padrões iniciais, como a relação entre valor da transação e probabilidade de fraude.

Passo 3 – Engenharia de atributos (Feature Engineering)

Depois de explorar o dataset, partimos para a engenharia de atributos, a criação de novas colunas que ajudam o modelo a compreender melhor o comportamento dos dados.

Um exemplo é extrair a bandeira do cartão (Visa, MasterCard, etc.) a partir dos primeiros dígitos:

from pyspark.sql.functions import col, substring, when

df = df.withColumn("bandeira",
    when(substring(col("card_number"), 1, 1) == "4", "Visa")
    .when(substring(col("card_number"), 1, 1) == "5", "MasterCard")
    .otherwise("Outros"))

Outras transformações incluem:

  • converter variáveis categóricas em dummies ou one-hot encoding;
  • normalizar colunas numéricas, quando necessário;
  • criar variáveis derivadas, como hora do dia da transação ou média de gasto por usuário.

Atenção: em projetos de fraude, é comum lidar com outliers, e eles são justamente os casos que o modelo precisa aprender a reconhecer.
Por isso, não remova nem normalize valores extremos sem avaliar o impacto. O algoritmo precisa aprender a distinguir esses padrões incomuns.

Passo 4 – Modelagem e rastreamento com MLflow

Com os dados preparados, vamos para a modelagem preditiva.

O Databricks oferece integração direta com MLflow, que registra automaticamente parâmetros, métricas e artefatos de cada experimento.

Aqui, treinamos três modelos de classificação:

import mlflow
import mlflow.sklearn
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
from sklearn.metrics import accuracy_score, f1_score, roc_auc_score

# Separando treino e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

models = {
    "RandomForest": RandomForestClassifier(),
    "XGBoost": XGBClassifier(),
    "XGBoost Balanced": XGBClassifier(scale_pos_weight=100)
}

for name, model in models.items():
    with mlflow.start_run(run_name=name):
        model.fit(X_train, y_train)
        preds = model.predict(X_test)
        acc = accuracy_score(y_test, preds)
        f1 = f1_score(y_test, preds)
        auc = roc_auc_score(y_test, preds)
        
        mlflow.log_metric("accuracy", acc)
        mlflow.log_metric("f1_score", f1)
        mlflow.log_metric("auc", auc)
        mlflow.sklearn.log_model(model, name)

Com isso, o MLflow armazena automaticamente os resultados de cada execução.
No painel do Databricks, você pode comparar experimentos lado a lado e identificar o melhor modelo, neste caso, o XGBoost balanceado teve desempenho superior, com acurácia acima de 70% e melhor F1-score.

Passo 5 – Salvando e colocando o modelo em produçãomodelo

Depois de escolher o modelo vencedor, é hora de registrá-lo e disponibilizá-lo em produção.
O Model Registry do Databricks permite versionar modelos, controlar estágios (Staging, Production) e até gerar endpoints para consumo via API.

import mlflow.pyfunc

# Registrar o modelo no Model Registry
result = mlflow.register_model(
    "runs:/<run_id>/model",
    "ModeloDeteccaoFraude"
)

Com o modelo publicado, é possível integrá-lo em sistemas de decisão automatizados.
Por exemplo, em um ambiente bancário, cada nova transação pode ser enviada para o endpoint do modelo, que retorna:

  • 0 → transação legítima
  • 1 → possível fraude

Esse retorno pode ser usado para bloquear transações suspeitas ou acionar alertas automáticos.

FAQ

Por que usar o Databricks e não outro ambiente?
Porque o Databricks unifica exploração, processamento, treinamento e deploy em um só lugar, sem precisar alternar ferramentas ou linguagens.

Preciso saber Spark para acompanhar o tutorial?
Não. Você pode começar com pandas e escalar para Spark conforme o volume de dados.

Como lidar com dados desbalanceados?
Usamos modelos balanceados, como o XGBoost com scale_pos_weight. Também é possível aplicar oversampling ou undersampling dependendo do cenário.

Posso aplicar esse fluxo a outros tipos de problema?
Sim! Os mesmos passos se aplicam a qualquer projeto de classificação ou regressão, basta ajustar o dataset e as métricas.

Próximos passos para criar um modelo

O Databricks permite desenvolver, testar e colocar modelos de Machine Learning em produção de forma simples e escalável.

Se quiser experimentar, recomendo criar uma conta no Databricks Community Edition e testar um modelo básico com o ML Flow.

A melhor forma de aprender é explorando a ferramenta e colocando a mão na massa.

Entre em contato

Coloque esse fluxo em prática e aplique esse processo na sua empresa falando com a nossa equipe!

E se preferir acompanhar o tutorial em vídeo, é só clicar abaixo: