입력 데이터의 기능 변환


22

나는이 OTTO Kaggle 챌린지 에 대한 솔루션에 대해 읽고 있었고 첫 번째 장소 솔루션은 입력 데이터 X에 대해 몇 가지 변환을 사용하는 것 같습니다 (예 : Log (X + 1), sqrt (X + 3/8) 등). 다양한 분류 자에게 어떤 종류의 변환을 적용 할 것인지에 대한 일반 지침?

평균-평균 및 최소-최대 정규화의 개념을 이해합니다. 그러나 위의 변환에서 Log 및 Sqrt는 데이터의 동적 범위를 압축하는 데 사용됩니다. 그리고 x 축 이동은 최근 데이터에 불과합니다. 그러나 저자는 다른 분류기로 공급할 때 동일한 입력 X에 대해 다른 정규화 방법을 사용하도록 선택합니다. 어떤 아이디어?


1
어떤 종류의 수식을 제안 할 수 있을지 모르지만 변수에 대한 지수를 제안하는 박스-콕스 변환을보고 싶을 수도 있습니다.
anymous.asker

답변:


19

우리는 정상적인 형태를 좋아합니다

대부분의 경우 우리는 그것들이 정상적인 것처럼 행동하도록 노력합니다. 분류기는 관점이 아니라 기능 추출 관점입니다!

어떤 변환 ?

변환을 선택하는 주요 기준은 다음과 같습니다. 데이터와 함께 작동하는 것은 무엇입니까? 위의 예에서 알 수 있듯이 두 가지 질문을 고려해야합니다.

예를 들어, 가치가 매우 작거나 커질 때 행동을 제한하는 관점에서 물리적 (생물학적, 경제적, 무엇이든) 의미가있는 것은 무엇입니까? 이 질문은 종종 대수를 사용합니다.

치수와 단위를 간단하고 편리하게 유지할 수 있습니까? 가능하면 생각하기 쉬운 측정 스케일을 선호합니다.

체적의 제곱근과 면적의 제곱근은 길이의 치수를 가지므로 복잡한 문제와는 거리가 멀기 때문에 이러한 변형으로 단순화 할 수 있습니다. 왕복은 일반적으로 앞에서 언급했듯이 간단한 단위를 갖습니다. 그러나 종종 다소 복잡한 단위가 만들어 져야하는 희생입니다.

언제 무엇을 사용해야 합니까?

입문 데이터 분석에서 가장 유용한 변환은 역수, 로그, 입방체 근, 제곱근 및 제곱입니다. 다음은 강조하지 않아도 변환 결과가 (유한 한) 실수를 산출하는 범위에 대해서만 변환이 사용된다고 가정합니다.

  • 역수 : 음의 역수 x--1 / x를 갖는 역수 x-1 / x는 분포 형태에 급격한 영향을주는 매우 강력한 변환입니다. 0 값에는 적용 할 수 없습니다. 음수 값에도 적용 할 수 있지만 모든 값이 양수가 아닌 한 유용하지 않습니다. 비율의 역수는 종종 비율 자체처럼 쉽게 해석 될 수 있습니다. 예 :
    • 인구 밀도 (단위 면적당 인원)는 1 인당 면적이됩니다
    • 의사당 사람은 사람당 의사가됩니다
    • 침식 속도는 단위 깊이를 침식하는 시간이된다

(실제로, 우리는 관리하기 쉽지만 그 자체가 왜도 또는 선형성에 영향을 미치지 않는 숫자를 얻기 위해 왕복을 취한 결과에 1000 또는 10000과 같은 상수를 곱하거나 나누고 싶을 수 있습니다.)

역수는 같은 부호의 값들 사이에서 순서를 거꾸로한다 : 최대 값은 가장 작아진다.


  • 대수 : 대수, x log 10 x 또는 x log ex 또는 ln x 또는 x log 2 x는 분포 형태에 큰 영향을 미치는 강력한 변형입니다. 일반적으로 오른쪽 왜도를 줄이는 데 사용되며 종종 측정 변수에 적합합니다. 0 또는 음수 값에는 적용 할 수 없습니다. 로그 스케일에서 하나의 단위는 사용되는 로그의 기초에 의한 곱셈을 의미합니다. 기하 급수적 성장 또는 감소.

    • y=aexp(bx)

lny=lna+bxx=0y=aexp(0)=a a와 b> 0 인 경우, y는 더 빠르고 더 빠른 속도로 증가합니다 (예 : 복리이자 또는 확인되지 않은 인구 증가). a> 0과 b <0이면 y 느리고 느린 속도로 감소합니다 (예 : 방사성 붕괴).


  • 전원 기능 :
  • y=axblogy=loga+blogx
    x=0b>0

  • y=axb=0

    • 비율 y = p / q를 고려하십시오. 여기서 p와 q는 모두 양수입니다.
  • 예를 들면 다음과 같습니다.

    • 남성 / 여성
    • 부양 가족
    • 다운 스트림 길이 / 다운 밸리 길이
  • 그런 다음 y는 0과 무한대 사이, 마지막 경우에는 1과 무한대 사이입니다. p = q이면 y = 1입니다. 명확한 하한과 명확한 상한이 없기 때문에 이러한 정의로 인해 데이터가 치우쳐지는 경우가 종종 있습니다. 그러나 로그는

  • log y = log p / q = log p-log q는 -infinity와 무한대 사이에 있으며 p = q는 log y = 0을 의미합니다. 따라서 이러한 비율의 로그는보다 대칭 적으로 분포 될 가능성이 높습니다.


  • 큐브 루트 : 큐브 루트, x 1/3 . 이것은 분포 형태에 상당한 영향을주는 상당히 강력한 변형입니다. 대수보다 약합니다. 또한 오른쪽으로 치우침을 줄이는 데 사용되며 0 및 음수 값에 적용 할 수 있다는 장점이 있습니다. 볼륨의 큐브 루트에는 길이 단위가 있습니다. 강우량 데이터에 일반적으로 적용됩니다.

    • 음수 값에 적용하려면 특별한주의가 필요합니다. 고려
      (- 2) (- 2) = -8 (2) (2) (2) = 8 (-2)를. 이 예제
      는 음수의 제곱근이 음의 부호를 가지며
      동등한 양수의 제곱근과 동일한 절대 값을 가짐을 보여줍니다. 비슷한 성질을 가진 다른 뿌리는 그 힘이
      홀수 양의 정수 의 역수입니다 (1/3, 1/5, 1/7 등의 힘)

    • 이 속성은 약간 섬세합니다. 예를 들어, smidgen의 전력 만 1/3에서 변경하면 더 이상 정확히 세 항의 곱으로 결과를 정의 할 수 없습니다. 그러나 유용한 경우이 속성을 악용해야합니다.


  • x(1/2)

  • x2

    y=a+bx+cx2



    2 차법은 일반적으로
    데이터 영역 내에서 관계를 모방 할 수 있기 때문에 단독으로 사용됩니다 . 이 영역 밖에서
    는 x의 극단 값에 대해 임의로 큰 값을 취하기 때문에 매우 열악하게 작동 할 수 있으며, 절편 a가 0으로 제한되지 않으면 비현실적으로 원점에 가깝게 작동 할 수 있습니다.
    • (x)2x2


게시물 주셔서 감사합니다. 정말 도움이되었습니다. 원본 데이터를 분리 가능한 데이터로 변환하는 방법을 보여주는 몇 가지 예와 그림으로 보충 할 수 있습니까?
Mvkt

1
@ svk : 방금 이해할 수있는 방식으로 형식이 지정되었으므로 hadi가 답을 쓴 사람이라고 생각합니다. 내 추측이 맞다면, 그는 어떤 책에서 복사했을 것입니다. 그가 답장을하거나 무언가를 제안하는지 봅시다. 그렇지 않으면 대답을 쓸 것입니다
Toros91

2
@ Toros91이 말했듯이, 그것은 서로 다른 출처의 조합이므로 데이터 과학 경쟁에서이기는 방법을 볼 것을 강력히 권장합니다 . 최고의 Kagglersstata 문서
hadi gharibi

알 라이트. x 축을 sq.root 또는 cube root scale로 변환하는 방법에 대한 예제 코드를 Python 또는 matlab에 게시 할 수 있습니다. matlab에는 로그 스케일에 대한 로그 로그 도표가 있습니다. 그러나 다른 스케일의 경우 이러한 변환 된 축으로 플롯하는 것이 도움이됩니다.
Mvkt

1

이 특정 것들은 순수한 휴리스틱 일 수 있습니다. 이미지는 꽤 표준이지만 RGB를 BGR로 변경하고 모든 픽셀에서 평균을 뺍니다. 이것은 Imagenet, Pascal VOC, MS COCO와 같은 모든 콘테스트 / 데이터 세트에 사용됩니다. 그 이유는 모든 이미지가 매우 다를 수 있기 때문에 네트워크에 표준화 된 데이터 세트가 제공되기 때문입니다.


0

여기서도 마찬가지입니다. 이전에 본 적이 없습니다. 나는 그들이 다른 변형을 시도하고 가장 효과가 좋은 것을 선택했다고 생각합니다. 보고서에서 그들은 다른 변형도 괜찮을 것이라고 말합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.