Em um pequeno problema de classificação de texto que eu estava olhando, o Naive Bayes exibia um desempenho semelhante ou superior a um SVM e fiquei muito confuso.
Eu queria saber quais fatores decidem o triunfo de um algoritmo sobre o outro. Existem situações em que não faz sentido usar o Naive Bayes sobre SVMs? Alguém pode esclarecer isso?
Respostas:
Não existe uma resposta única sobre qual é o melhor método de classificação para um determinado conjunto de dados . Diferentes tipos de classificadores devem sempre ser considerados para um estudo comparativo em um determinado conjunto de dados. Dadas as propriedades do conjunto de dados, você pode ter algumas dicas que podem dar preferência a alguns métodos. No entanto, ainda seria aconselhável experimentar com todos, se possível.
O Naive Bayes Classifier (NBC) e o Support Vector Machine (SVM) têm opções diferentes, incluindo a escolha da função do kernel para cada um. Ambos são sensíveis à otimização de parâmetros (ou seja, a seleção de parâmetros diferentes pode alterar significativamente sua saída) . Portanto, se você tiver um resultado mostrando que a NBC está executando melhor que o SVM. Isso é válido apenas para os parâmetros selecionados. No entanto, para outra seleção de parâmetro, você pode achar que o SVM está executando melhor.
Em geral, se a suposição de independência na NBC for satisfeita pelas variáveis do seu conjunto de dados e o grau de sobreposição de classe for pequeno (isto é, limite potencial de decisão linear), seria esperado que a NBC obtivesse um bom resultado. Para alguns conjuntos de dados, com otimização usando a seleção de recursos do wrapper, por exemplo, a NBC pode derrotar outros classificadores. Mesmo que atinja um desempenho comparável, a NBC será mais desejável devido à sua alta velocidade.
Em resumo, não devemos preferir nenhum método de classificação se superar outros em um contexto, pois pode falhar gravemente em outro. ( ISSO É NORMAL EM PROBLEMAS DE MINERAÇÃO DE DADOS ).
fonte