0Pricing
Learn AI with Python · Aula

Sistemas híbridos e métricas de avaliação

Combinação de filtragem colaborativa e baseada em conteúdo, RMSE, MAE, Precision@K e Recall@K.

Sistemas híbridos e métricas de avaliação é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 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.

Por que usar sistemas híbridos?

A filtragem colaborativa tem dificuldade com o início a frio; a filtragem baseada em conteúdo se especializa demais. Um sistema híbrido combina os dois para que cada método compense as limitações do outro, geralmente superando ambos quando usados isoladamente.

Combinação ponderada

O híbrido mais simples combina pontuações com pesos cuja soma é 1. Por exemplo, 0.6 * CF + 0.4 * CB dá mais importância aos sinais colaborativos, mas mantém o conteúdo como alternativa e fonte de diversificação.

final_score = 0.6 * cf_score + 0.4 * cb_score

Ajustando os pesos

A divisão 0.6 / 0.4 é apenas um ponto de partida. Ajuste os pesos em um conjunto de validação: quando os usuários têm um histórico amplo, aumente o peso de CF; para itens novos, aumente o peso de CB. Você pode até alternar os pesos por usuário.

Outras estratégias híbridas

  • Ponderada: combina pontuações (como mostrado acima).
  • Alternância: escolhe CF ou CB dependendo da disponibilidade de dados.
  • Combinação de características: fornece os dois sinais a um único modelo.

A combinação ponderada é a mais comum e a mais fácil de interpretar.

Avaliação: dois tipos de perguntas

A avaliação se divide em duas perguntas:

  • Previsão de avaliações: quão próximas estão as avaliações previstas? Use RMSE/MAE.
  • Qualidade da classificação: os itens corretos aparecem perto do topo? Use Precision@K, Recall@K, NDCG@K.

RMSE para previsão de avaliações

RMSE mede o erro quadrático médio entre as avaliações previstas e as reais e, em seguida, calcula sua raiz quadrada. Ele penaliza fortemente grandes desvios e é a métrica padrão de precisão das avaliações.

import numpy as np

def rmse(pred, actual):
    return np.sqrt(np.mean((np.array(pred) - np.array(actual)) ** 2))

Precisão@K

Precisão@K = (itens relevantes entre os K primeiros) / K. Ela responde à pergunta: dos K itens que recomendei, qual fração o usuário realmente apreciou? Quanto maior, menos posições são desperdiçadas.

def precision_at_k(recommended, relevant, k):
    top_k = recommended[:k]
    hits = len(set(top_k) & set(relevant))
    return hits / k

Revocação@K

Revocação@K = (itens relevantes entre os K primeiros) / (total de itens relevantes). Ela responde à pergunta: de tudo que o usuário apreciaria, qual fração apresentei entre os K primeiros?

def recall_at_k(recommended, relevant, k):
    top_k = recommended[:k]
    hits = len(set(top_k) & set(relevant))
    return hits / len(relevant) if relevant else 0.0

Compromisso entre precisão e revocação

A precisão favorece acertar o que você apresenta; a revocação favorece abranger tudo que é relevante. Os sistemas de recomendação geralmente dão prioridade à Precisão@K, porque os usuários veem apenas uma lista curta e, portanto, as primeiras posições são as mais importantes.

NDCG@K para qualidade da ordenação

NDCG@K (ganho cumulativo descontado normalizado) recompensa a colocação de itens altamente relevantes perto do topo. Um item relevante na posição 1 conta mais do que o mesmo item na posição 10, porque os ganhos são descontados de acordo com a posição.

Como funciona o NDCG

O DCG soma a relevância de cada item dividida pelo log de sua posição. O NDCG divide o DCG pelo DCG ideal (ordenação perfeita), gerando uma pontuação de 0 a 1, em que 1 representa uma lista perfeitamente ordenada.

import numpy as np

def dcg(rels):
    return sum(r / np.log2(i + 2) for i, r in enumerate(rels))

def ndcg_at_k(rels, k):
    ideal = sorted(rels, reverse=True)
    return dcg(rels[:k]) / dcg(ideal[:k]) if dcg(ideal[:k]) else 0.0

Verificação rápida

Teste seus conhecimentos sobre métricas de avaliação.

Recapitulação

Você criou um sistema de recomendação híbrido (por exemplo, 0.6 * CF + 0.4 * CB) e aprendeu seu conjunto de ferramentas de avaliação: RMSE para a precisão das avaliações, Precisão@K e Revocação@K para recuperação e NDCG@K para qualidade da ordenação. Com isso, termina o curso de Sistemas de Recomendação. Próximo curso: Fundamentos de MLOps.

Perguntas Frequentes

A aula “Sistemas híbridos e métricas de avaliação” é grátis?

Sim — o texto completo de “Sistemas híbridos e métricas de avaliação” é 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 “Sistemas híbridos e métricas de avaliação”?

Combinação de filtragem colaborativa e baseada em conteúdo, RMSE, MAE, Precision@K e Recall@K. 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 4 de 4.

Quanto tempo leva a aula “Sistemas híbridos e métricas de avaliação”?

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. Filtragem colaborativa: baseada em usuários e itens
  2. Fatoração de matrizes com SVD
  3. Filtragem baseada em conteúdo
  4. Sistemas híbridos e métricas de avaliação
← Voltar para Learn AI with Python