Pular para o conteúdo principal

Capítulo 2: Testando Sistemas de ML

Tipos de Testes em ML​

Tipo de TesteO que TestaExemplo
UnitárioFunções individuaisEngenharia de features
DadosQualidade dos dadosEsquema, valores nulos
ModeloComportamento do modeloPrevisões em entradas conhecidas
IntegraçãoFim a fimAPI até previsão
DesempenhoVelocidade/uso de recursosLatência, memória

Exemplos de Testes​

# tests/test_model.py
import pytest
import numpy as np

class TestModel:
@pytest.fixture
def model(self):
return load_model("models/churn_model.pkl")

def test_prediction_shape(self, model):
X = np.random.randn(10, 15)
predictions = model.predict(X)
assert predictions.shape == (10,)

def test_prediction_range(self, model):
X = np.random.randn(100, 15)
predictions = model.predict_proba(X)
assert np.all(predictions >= 0) and np.all(predictions <= 1)

def test_known_input(self, model):
# High-risk customer features
high_risk = np.array([[0, 100, 365, 0, 1, ...]])
prob = model.predict_proba(high_risk)[0, 1]
assert prob > 0.7, "High-risk customer should have high churn probability"

Próximo: Capítulo 3: Treinamento Contínuo