Quando dizemos que o conjunto de dados não é classificável?


11

Analisei muitas vezes um conjunto de dados no qual eu realmente não poderia fazer nenhum tipo de classificação. Para ver se consigo obter um classificador, geralmente utilizei as seguintes etapas:

  1. Gere plotagens de caixa de etiqueta com valores numéricos.
  2. Reduza a dimensionalidade para 2 ou 3 para ver se as classes são separáveis, também tentei o LDA às vezes.
  3. Tente forçar o ajuste de SVMs e florestas aleatórias e observe a importância dos recursos para ver se os recursos fazem algum sentido ou não.
  4. Tente alterar o equilíbrio de classes e técnicas como subamostragem e superamostragem para verificar se o desequilíbrio de classe pode ser um problema.

Existem muitas outras abordagens em que posso pensar, mas ainda não tentei. Às vezes eu sei que esses recursos não são bons e nem estão relacionados ao rótulo que estamos tentando prever. Então, uso essa intuição comercial para encerrar o exercício, concluindo que precisamos de melhores recursos ou rótulos totalmente diferentes.

Minha pergunta é como um cientista de dados relata que a classificação não pode ser feita com esses recursos. Existe alguma maneira estatística de relatar isso ou ajustar os dados em diferentes algoritmos primeiro e analisar a métrica de validação é a melhor opção?


Sinto que, se essa pergunta tem uma resposta clara e objetiva, todo o esforço científico fica sem sentido. Ciência é arte.
Mephy

Haha, é verdade. Estou interessado apenas em conhecer mais métodos para encontrar separabilidade. Mais como mostrar estatisticamente aos clientes que dedicar mais tempo a alguns exercícios pode ser inútil.
vc_dim

1
Sugiro abandonar os dois últimos parágrafos, pois eles tornam a questão muito aberta / ampla. A primeira parte - como lidar e relatar um resultado não profissional - deve ser respondida e, pessoalmente, acho que precisamos de mais desse tipo de pergunta sobre etiqueta profissional de Data Science no site.
Neil Slater

Faz sentido Neil. Editando para ser nítido.
vc_dim

Respostas:


4

Depende dos seus dados. Existe algo chamado erro no nível humano. Suponha que tarefas como a leitura de livros impressos, os humanos não lutem para ler e que não cometa um erro, a menos que seja devido à má qualidade da impressão. Em casos como a leitura de manuscritos manuscritos, pode acontecer muito não entender todas as palavras se a fonte do escritor for estranha para o leitor. Na primeira situação, o erro no nível humano é muito baixo e os algoritmos de aprendizado podem ter o mesmo desempenho, mas o segundo exemplo ilustra o fato de que, em algumas situações, o erro no nível humano é muito alto e de maneira usual (se você usar o mesmo recursos como seres humanos), seu algoritmo de aprendizado terá muita taxa de erros.

No aprendizado estatístico, há algo chamado Bayes Error, sempre que a distribuição de classes se sobrepõe, a razão de erro é grande. sem alterar os recursos, o erro Bayes das distribuições atuais é o melhor desempenho e não pode ser reduzido.

Eu também sugiro que você leia aqui . Problemas com uma grande quantidade de erros de Bayes com recursos designados são considerados não classificáveis no espaço desses recursos. Como outro exemplo, você pode supor que deseja classificar carros com luzes acesas. Se você tentar fazer isso de manhã, poderá ter muitos erros e, se usar as mesmas imagens para treinar o algoritmo de aprendizado, isso também poderá ocorrer.

Também recomendo que você não altere a distribuição de suas aulas. Nesses casos, o resultado do classificador próximo ao limite seria completamente aleatório. A distribuição de dados para o treinamento do algoritmo de aprendizado de máquina não deve ser alterada e deve ser como está na condição real.


Isso é útil, eu não sabia sobre o erro Bayes. Eu encontrei dificuldade em melhorar a precisão depois de alterar a distribuição das classes. Eu concordo que não é uma ótima idéia. Ainda assim, às vezes tentei mudar as hierarquias de classe, esperando que esse recurso representasse classes mais granulares ou abstratas (por exemplo, mudar macacos, cães e outros para Mammal). Acho que se houver um erro de Bayes, mudar a hierarquia de classes também não ajudará.
vc_dim

@SumitSinghChauhan Na verdade, em situações em que o erro de Bayes é grande, tentar fazer a engenharia de recursos é a melhor solução. Porque o aprendizado profundo, que encontra os recursos em si, não pode ser usado nos casos em que o conjunto de dados não é grande.
Media

5

Pegue um elemento de amostra de uma classe e um elemento de amostra da outra classe. É possível que esses dois elementos tenham exatamente o mesmo vetor de recurso? Se isso pode nunca acontecer, em seguida, as duas classes não são completamente seperable usando seus vetores de características atuais (desde a decisão de classificação baseia-se inteiramente no vetor de recurso para um determinado elemento).

Por outro lado, se * todo "elemento em uma classe possui um elemento correspondente na outra classe, de modo que os dois elementos tenham os mesmos vetores de recursos, as duas classes são indistinguíveis usando seus vetores de recursos atuais.

Além disso, se essa condição for válida apenas para alguns de seus elementos e não para outros, você estará em algum lugar no meio e poderá usá-lo como base para medir o quão bem você pode esperar que um classificador funcione usando seu conjunto de recursos atual.

Todas essas avaliações podem ser usadas para argumentar em graus variados que você precisa para extrair mais recursos.


1
Obrigado Robert. Isso é familiar e parece certo. Fiz a mesma análise para alguns dos projetos. Eu tinha um conjunto de dados com o mesmo vetor de recurso sendo marcado de maneira diferente e usei isso como base para o quão preciso eu posso ser. Algumas vezes, a plotagem da caixa também ajudou. Até agora, encontrei a abordagem que você mencionou melhor para convencer os clientes.
vc_dim
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.