Digamos que eu queira prever se um projeto será ou não lucrativo. Nos meus dados de amostra, a variável de resposta é na verdade uma variável contínua: o lucro / perda do projeto.
Como meu objetivo final é apenas uma classificação binária (projeto lucrativo ou projeto não lucrativo), devo usar uma técnica de classificação? Ou devo usar regressão para não jogar fora as informações adicionais fornecidas por uma variável de resposta contínua?
fonte
Vladimir Vapnik (co-inventor da Support Vector Machine e principal teórico da aprendizagem computacional) defende sempre a tentativa de resolver o problema diretamente, em vez de resolver um problema mais geral e depois descartar algumas das informações fornecidas pela solução. Eu geralmente estou de acordo com isso, então eu sugeriria uma abordagem de classificação para o problema como atualmente. A razão para isso é que, se estamos interessados apenas em classificar um projeto como lucrativo ou não, então estamos realmente interessados apenas na região onde a lucratividade é em torno de zero. Se formarmos um modelo de classificação, é aí que concentraremos nossos recursos de modelagem. Se adotarmos uma abordagem de regressão, podemos estar desperdiçando recursos de modelagem para fazer pequenas melhorias no desempenho de projetos que serão muito lucrativos ou não rentáveis, potencialmente à custa de melhorar o desempenho de projetos limítrofes.
Agora, a razão pela qual eu disse "como está atualmente" é que muito poucos problemas realmente envolvem classificação binária simples e difícil (o reconhecimento óptico de caracteres provavelmente seria um). Geralmente, tipos diferentes de classificação incorreta têm custos diferentes, ou as frequências da classe operacional podem ser desconhecidas ou variáveis etc. Nesses casos, é melhor ter um classificador probabilístico, como regressão logística, em vez de um SVM. Parece-me que, para uma aplicação financeira, faremos melhor se soubermos a probabilidade de o projeto ser lucrativo e quão lucrativo ou não é provável. Podemos estar dispostos a financiar um projeto com poucas chances de ser lucrativo, mas extremamente lucrativo, caso seja bem-sucedido, mas não um projeto quase garantido para ser bem-sucedido, mas que tenha uma margem de lucro tão pequena que seríamos melhor apenas colocar o dinheiro em uma conta poupança.
Então, Frank e Omri374 estão certos! (+1; o)
EDIT: Para esclarecer por que a regressão nem sempre pode ser uma boa abordagem para resolver um problema de classificação, aqui está um exemplo. Digamos que temos três projetos, com lucratividade e, para cada projeto, temos uma variável explicativa que esperamos ser indicativa de lucratividade, . Se uma abordagem de regressão (com deslocamento), obtemos coeficientes de regressão e (desde que eu tenha feito as somas corretamente!). O modelo prevê os projetos como gerando lucros , e → x =(1,2,10)p0=-800,8288β1=184,8836 y 1≈-$616 y 2≈-$ 431 y 3≈$1048 → t =2y⃗ = ( - $ 1000 , + $ 1 , + $ 1000 ) x⃗ = ( 1 , 2 , 10 ) β0 0= - 800,8288 β1= 184,8836 y^1≈ - $ 616 y^2≈ - $ 431 y^3≈ $ 1048 . Observe que o segundo projeto está incorretamente previsto como não lucrativo. Se, por outro lado, temos uma abordagem de classificação e regressão em vez de , temos de regressão coeficientes e , que pontua os três projetos da seguinte maneira: , e . Portanto, uma abordagem de classificação classifica corretamente o projeto 1 como não lucrativo e os outros dois como lucrativos.β 0 = - 0,2603 β 1 = 0,1370 t 1 = - 0,1233 t 2 = 0,0137 t 3 = 1,1096t⃗ = 2 ∗ ( y> = 0 ) - 1 β0 0= - 0,2603 β1= 0,1370 t^1= - 0,1233 t^2= 0,0137 t^3= 1,1096
A razão pela qual isso acontece é que uma abordagem de regressão tenta igualmente difícil minimizar a soma dos erros ao quadrado para cada um dos pontos de dados. Nesse caso, um SSE mais baixo é obtido permitindo que o projeto dois caia no lado incorreto do limite de decisão, a fim de obter erros mais baixos nos outros dois pontos.
Portanto, Frank está correto ao dizer que uma abordagem de regressão provavelmente é uma boa abordagem na prática, mas se a classificação é realmente o objetivo final, há situações em que ela pode ter um desempenho ruim e uma abordagem de classificação terá um desempenho melhor.
fonte
Depois de ler os comentários, acho que a seguinte distinção é o que está faltando na discussão:
Como modelar o problema
Isso não tem nada a ver com qual técnica usar. É a questão de quais são as entradas e saídas e como avaliar o resultado.
Se você realmente se importa apenas se nossos projetos são ou não rentáveis e a quantia pela qual eles são assim é absolutamente irrelevante, modele isso como um problema de classificação. Isso significa que você está otimizando para a taxa esperada de classificação correta (precisão) ou AUC. O que essa otimização traduz depende de qual técnica você usa.
Todas as questões de escolha de modelo e algoritmos de busca podem ser abordadas heuristicamente (usando os argumentos apresentados nas outras respostas e comentários), mas a prova final do pudim está na comida. Qualquer que seja o modelo que você tenha, você avaliará por testes cruzados validados quanto à precisão. Portanto, a precisão é o que você otimiza.
Como resolver o problema
Você pode usar qualquer método que desejar que se encaixe no paradigma de classificação. Como você tem uma variável y contínua, é possível fazer regressão e traduzir para uma classificação binária. Provavelmente isso funcionará bem. No entanto, não há garantia de que o modelo de regressão ideal (por soma de erros quadrados ou máxima probabilidade ou qualquer outra coisa) também forneça o modelo de classificação ideal (por precisão ou AUC).
fonte
Um modelo de classificação geralmente tenta minimizar o sinal (erro em termos de classe) e não o viés. No caso de muitos outliers, por exemplo, eu preferiria usar um modelo de classificação e não um modelo de regressão.
fonte
Eu enquadraria o problema como o de minimizar as perdas. A questão é qual é a sua verdadeira função de perda? Uma previsão incorreta de rentável quando o projeto perdeu US $ 1 custa tanto quanto uma previsão de rentável quando o projeto perdeu US $ 1000? Nesse caso, sua função de perda é verdadeiramente binária, e é melhor lançar a coisa toda como um problema de classificação. A função de regressão ainda pode ser um dos classificadores candidatos, mas você deve otimizá-la com a função de perda discreta em vez da contínua. Se você tem uma definição mais complicada de perda, tente formalizá-la e veja o que obtém se usar a derivada.
Curiosamente, muitos métodos de aprendizado de máquina realmente otimizam uma função de perda discreta aproximando-se de uma função contínua, uma vez que uma função de perda discreta fornece gradientes ruins para otimização. Portanto, você pode acabar definindo-o como um problema de classificação, já que essa é sua função de perda, mas aproximando-a da função de perda com a contínua original.
fonte