BIX Tecnologia

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

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

Tire o seu projeto do papel

Compartilhar

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:

Miniatura do vídeo do canal BIX Tecnologia no YouTube: Tutorial: Do zero ao Modelo com Databricks | Semana de Dados 2025
Tutorial: Do zero ao Modelo com Databricks | Semana de Dados 2025, no canal BIX Tecnologia no YouTube.

Artigos relacionados

Quer agilidade na entrega de software na sua empresa?

Saiba como podemos resolver isso.

Fale com nossos especialistas

Receba uma proposta sem compromisso.

Time BIX