Transformação de recursos nos dados de entrada


22

Eu estava lendo sobre a solução para esse desafio OTTO Kaggle e a solução em primeiro lugar parece usar várias transformações para os dados de entrada X, por exemplo Log (X + 1), sqrt (X + 3/8) etc. orientação geral sobre quando aplicar quais transformações de tipo a vários classificadores?

Eu entendo os conceitos de normalização mean-var e min-max. No entanto, para as transformações acima, meu palpite é que Log e Sqrt são usados ​​para compactar o intervalo dinâmico dos dados. E a mudança do eixo x é apenas para atualizar os dados. No entanto, o autor escolhe usar métodos diferentes de normalização para a mesma entrada X ao alimentar diferentes classificadores. Alguma ideia?


1
Não faço ideia do que poderia sugerir esse tipo de fórmula, mas você pode querer olhar para transformações box-cox, que sugerem expoentes para variáveis.
Anymous.asker

Respostas:


19

Adoramos a forma normal

Na maioria dos casos, tentamos fazê-los agir como normal. Não é o ponto de vista dos classificadores, mas a exibição de extração de recursos!

Qual transformação ?

O principal critério na escolha de uma transformação é: o que funciona com os dados? Como os exemplos acima indicam, é importante considerar também duas perguntas.

O que faz sentido físico (biológico, econômico, qualquer que seja), por exemplo, em termos de comportamento limitante, à medida que os valores se tornam muito pequenos ou muito grandes? Essa pergunta geralmente leva ao uso de logaritmos.

Podemos manter dimensões e unidades simples e convenientes? Se possível, preferimos escalas de medição fáceis de pensar.

A raiz cúbica de um volume e a raiz quadrada de uma área têm as dimensões de comprimento; longe de complicar, essas transformações podem simplificá-las. Recíprocos geralmente têm unidades simples, como mencionado anteriormente. Muitas vezes, porém, unidades um tanto complicadas são um sacrifício que precisa ser feito.

Quando usar o quê ?

As transformações mais úteis na análise introdutória de dados são recíproco, logaritmo, raiz de cubo, raiz quadrada e quadrada. A seguir, mesmo quando não é enfatizado, supõe-se que as transformações sejam usadas apenas em faixas nas quais elas produzam números reais (finitos) como resultados.

  • Recíproco : O recíproco, x a 1 / x, com seu irmão o recíproco negativo, x a -1 / x, é uma transformação muito forte, com um efeito drástico no formato da distribuição. Não pode ser aplicado a valores zero. Embora possa ser aplicado a valores negativos, não é útil a menos que todos os valores sejam positivos. O recíproco de uma proporção pode frequentemente ser interpretado tão facilmente quanto a própria proporção: Exemplo:
    • densidade populacional (pessoas por unidade de área) torna-se área por pessoa
    • pessoas por médico torna-se médico por pessoa
    • taxas de erosão tornam-se tempo para corroer a profundidade de uma unidade

(Na prática, convém multiplicar ou dividir os resultados de obter o recíproco por alguma constante, como 1000 ou 10000, para obter números fáceis de gerenciar, mas que não afetem a assimetria ou a linearidade.)

O recíproco inverte a ordem entre os valores do mesmo sinal: o maior se torna menor etc. O recíproco negativo preserva a ordem entre os valores do mesmo sinal.


  • Logaritmo : O logaritmo, x log 10 x, x log ex ou ln x, ou x log 2 x, é uma forte transformação com um grande efeito no formato da distribuição. É comumente usado para reduzir a assimetria correta e geralmente é apropriado para variáveis ​​medidas. Não pode ser aplicado a valores zero ou negativos. Uma unidade em uma escala logarítmica significa uma multiplicação pela base de logaritmos que está sendo usada. Crescimento exponencial ou declínio.

    • y=aexp(bx)

lny=lna+bxx=0y=aexp(0)=a de modo que a é a quantidade ou a contagem em que x = 0. Se a e b> 0, então y cresce a uma taxa cada vez mais rápida (por exemplo, juros compostos ou crescimento populacional não verificado), enquanto que se a> 0 eb <0, y diminui a uma taxa cada vez mais lenta (por exemplo, decaimento radioativo).


  • Funções de energia :
  • y=umaxbeuogy=euoguma+beuogx
    x=0 0b>0 0

  • y=umaxb=0 0

    • Considere razões y = p / q onde p e q são ambos positivos na prática.
  • Exemplos são:

    • Masculinos femininos
    • Dependentes / Trabalhadores
    • Comprimento a jusante / comprimento a jusante
  • Então y está em algum lugar entre 0 e infinito, ou, no último caso, entre 1 e infinito. Se p = q, então y = 1. Essas definições geralmente levam a dados distorcidos, porque há um limite inferior claro e sem limite superior claro. O logaritmo, no entanto, é o

  • log y = log p / q = log p - log q, está em algum lugar entre -in infinito e infinito ep = q significa que log y = 0. Portanto, o logaritmo dessa proporção provavelmente será distribuído mais simetricamente.


  • Raiz do cubo : a raiz do cubo, x 1/3 . Essa é uma transformação bastante forte, com um efeito substancial no formato da distribuição: é mais fraca que o logaritmo. Também é usado para reduzir a assimetria correta e tem a vantagem de poder ser aplicado a valores zero e negativos. Observe que a raiz do cubo de um volume possui as unidades de um comprimento. É comumente aplicado a dados de chuva.

    • A aplicabilidade a valores negativos requer uma nota especial. Considere
      (2) (2) (2) = 8 e (-2) (- 2) (- 2) = -8. Esses exemplos mostram que a
      raiz do cubo de um número negativo tem sinal negativo e o mesmo
      valor absoluto que a raiz do cubo do número positivo equivalente. Uma propriedade semelhante é possuída por qualquer outra raiz cujo poder é o
      inverso de um número inteiro positivo ímpar (potências 1/3, 1/5, 1/7, etc.)

    • Esta propriedade é um pouco delicada. Por exemplo, altere a potência apenas um pouquinho de 1/3 e não podemos mais definir o resultado como um produto de precisamente três termos. No entanto, a propriedade existe para ser explorada, se útil.


  • x(1/2)

  • x2

    y=uma+bx+cx2



    quadráticos são normalmente usados ​​apenas porque podem imitar um
    relacionamento dentro da região de dados. Fora dessa região, eles podem
    se comportar muito mal, porque assumem valores arbitrariamente grandes para valores extremos de x, e, a menos que a interceptação a seja limitada a 0, eles podem se comportar de maneira irrealista perto da origem.
    • (-x)2x2


obrigado pelo post. Realmente util. você pode complementá-lo com alguns exemplos e figuras que mostram como ele transforma os dados originais em dados separados?
Mvkt

1
@ SVK: Eu apenas formatado de uma maneira que seja compreensível, acho que hadi foi a pessoa que escreveu a resposta. Se meu palpite estiver certo, ele pode ter copiado de algum livro. Vamos ver se ele responde de volta / sugere alguma coisa. Mais poderia escrever uma resposta
Toros91

2
como @ disse Toros91, É a combinação de diferentes fontes, eu recomendo para ver como ganhar uma competição Ciência dados: Aprenda com Top Kagglers e também docs stata
hadi gharibi

alrite. embora um de vocês possa postar algum código de exemplo em python ou matlab sobre como transformar eixos x em sq.root ou escala de raiz de cubo. O matlab possui o gráfico de loglog para a escala de log. mas para outras escalas, vai ser útil ter um lote com estes eixos transformados
Mvkt

1

Esses específicos podem ser puramente heurísticos. Para imagens, embora isso seja bastante padrão: altere RGB para BGR e subtraia a média de cada pixel. Isso é usado em todos os concursos / conjuntos de dados como Imagenet, Pascal VOC, MS COCO. O motivo é que a rede é apresentada com um conjunto de dados padronizado, pois todas as imagens podem ser muito diferentes.


0

O mesmo aqui - não faço ideia, não vi isso antes. Eu acho que eles tentaram transformações diferentes e escolheram a que funcionou melhor. Como no relatório, eles dizem que algumas outras transformações também seriam boas.

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.