특징 선택 대 특징 추출. 언제 사용할 것인가?


16

지형지 물 추출 및 지형지 물 선택은 본질적으로 데이터의 차원을 감소 시키지만, 지형지 물 추출은 또한 내가 옳다면 데이터를 더 분리 가능하게 만듭니다.

어떤 기술이 다른 기술 보다 언제 선호 됩니까?

나는 기능 선택이 원본 데이터와 속성을 수정하지 않기 때문에 훈련하고있는 기능이 변경되지 않아야 할 때 기능 선택을 사용한다고 가정합니다. 근데 왜 이런걸 원 할까 상상이 안나

답변:


18

Toros가 제공 한 답변에

이 (아래 글 머리 기호 참조) 3은 매우 유사하지만 미묘한 차이점이 있습니다.

  • 특징 추출 및 특징 공학 : 원시 데이터를 모델링에 적합한 특징으로 변환;

  • 특징 변환 : 알고리즘의 정확성을 향상시키기 위해 데이터의 변환;

  • 기능 선택 : 불필요한 기능 제거.

같은 예제를 추가하기 만하면

특징 추출 및 엔지니어링 (우리는 그들로부터 무언가를 추출 할 수 있음)

  • 텍스트 (ngrams, word2vec, tf-idf 등)
  • 이미지 (CNN, 텍스트, Q & A)
  • 지리 공간 데이터 (lat, long 등)
  • 날짜 및 시간 (일, 월, 주, 연도, 롤링 기반)
  • 시계열, 웹 등
  • 차원 축소 기법 (PCA, SVD, 고유면 등)
  • 아마도 우리는 클러스터링도 사용할 수 있습니다 (DBSCAN 등)
  • .....(그리고 많은 다른 사람들)

기능 변형 (이해하기 위해 변형)

  • 정규화 및 분포 변경 (확장)
  • 상호 작용
  • 결 측값 채우기 (중간 채우기 등)
  • .....(그리고 많은 다른 사람들)

기능 선택 (선택된 기능을 사용하여 모델 작성)

  • 통계적 접근
  • 모델링에 의한 선택
  • 그리드 검색
  • 교차 검증
  • .....(그리고 많은 다른 사람들)

도움이 되었기를 바랍니다...

다른 사람들이 공유 한 링크를보십시오. 그들은 아주 좋은 ...


+1에 대한 좋은 답변입니다.
Toros91

이 커뮤니티에 대한
Aditya

1
그 사람, 나는 2017 년 10 월부터 회원이되었습니다. 나는 많은 것을 배웠습니다. 그것이 당신에게도 동일하기를 바랍니다. 나는 당신의 답변을 읽었으며, 그들은 좋습니다. BTW 당신이 그렇게 한 것에 대해 미안합니다. 나는 모든 것을 볼 수 없었지만 Neil Slater가 말했듯이 당신이 끝까지 시원함을 유지했다고 말했다. 유지하십시오! 아직 갈 길이 멀다. :)
Toros91

이러한 처리 순서는 무엇입니까? 데이터 정리 및 데이터 분할 외에도. 첫 번째 단계는 5 개 중 어느 것입니까?
technazi

데이터 분할은 모델링을 위해 데이터를 전송할 준비가되었을 때 가장 마지막에 이루어집니다 ... 그리고 imho는 위에서 언급 한 것들이 상당히 여러 번 겹치기 때문에 그러한 순서는 없습니다 (피처 추출, 피처 엔지니어링, 기능 변환.). 교차 검증 또는 이와 동등한 항목에 대해 모델 메트릭 또는 유효성 검사 데이터 세트에서 동등한 성능을 측정하는 경우 (성능을 측정하기 위해) 데이터를 검증으로 분할 한 후 기능 선택이 반드시 수행됩니다. 열을 삭제하고 imp colsorimp 참조
Aditya

5

Aditya가 말했듯이 때로는 서로 혼동되는 3 가지 기능 관련 용어가 있습니다. 나는 그들 각자에게 요약 설명을 시도 할 것입니다 :

  • 특징 추출 : 직접 분석하기 어려운 형식의 데이터에서 직접 특징을 생성하거나 직접 비교할 수없는 (예 : 이미지, 시계열 등) 시계열의 예에서 일부 간단한 특징은 다음과 같습니다. 예 : 시계열 길이, 기간, 평균값, 표준 등
  • 기능 변환 : 기존 기능을 기반으로 새 기능을 작성하기 위해 기존 기능을 변환합니다. 차원 축소에 가장 널리 사용되는 기술은 초기 변수 세트를 기반으로 선형 비 상관 변수 세트를 생성하기 위해 직교 변환을 사용하는 PCA (Principal Component Analysis)입니다.
  • 기능 선택 : 기존 기능 세트에서 대상 변수에 대한 "중요도"/ 영향이 가장 높은 기능 선택. 이는 선형 회귀, 의사 결정 트리, "중요도"가중치 계산 (예 : Fisher 점수, ReliefF)과 같은 다양한 기술로 수행 할 수 있습니다.

기존 데이터 세트의 차원 축소 만 달성하려는 경우 피쳐 변환 또는 피쳐 선택 방법을 사용할 수 있습니다. 그러나 "중요"한 것으로 식별 된 기능의 물리적 해석을 알아야하거나 분석을 위해 수집해야하는 데이터의 양을 제한하려는 경우 (기능 변환을위한 모든 초기 기능 세트가 필요함), 기능 선택 만 가능합니다.

기능 선택 및 차원 축소 에 대한 자세한 내용 은 다음 링크를 참조하십시오.


4

나는 그들이 다른 두 가지라고 생각합니다.

기능 선택으로 시작합니다 .

이 기법은 목표 변수를 가장 많이 설명하는 기능을 선택하는 데 사용됩니다 (목표 변수와 상관 관계가 있음).이 테스트는 모델이 데이터에 적용되기 직전에 실행됩니다.

더 잘 설명하기 위해 10 개의 특징과 1 개의 목표 변수가 있으며, 9 개의 특징은 목표 변수의 90 %를 설명하고 10 개의 특징은 목표 변수의 91 %를 설명합니다. 따라서 1 변수는 큰 차이를 일으키지 않으므로 모델링하기 전에 제거하는 경향이 있습니다 (비즈니스에도 주관적입니다). 또한 예측 자 중요도라고도합니다.

이제 특징 추출 에 대해 이야기하겠습니다 .

비지도 학습, 이미지의 윤곽 추출, 텍스트에서 Bi-gram 추출, 음성 텍스트 녹음에서 음소 추출에 사용됩니다. 데이터 사전이없는 것과 같이 데이터에 대해 아무것도 모르는 경우 데이터가 이해할 수없는 형식이 아닌 기능이 너무 많습니다. 그런 다음이 기술을 적용하여 대부분의 데이터를 설명하는 기능을 사용하십시오. 형상 추출에는 형상 변환이 포함되는데, 이는 치수 축소 프로세스에서 일부 정보가 손실되기 때문에 되돌릴 수없는 경우가 많습니다.

주어진 데이터에 피쳐 추출을 적용하여 피쳐를 추출한 다음 대상 변수와 관련하여 피쳐 선택을 적용하여 좋은 결과로 좋은 모델을 만드는 데 도움이되는 하위 세트를 선택할 수 있습니다.

더 나은 이해 를 위해이 Link-1 , Link-2 를 살펴볼 수 있습니다.

R, Python, SPSS로 구현할 수 있습니다.

더 자세한 설명이 필요하면 알려주십시오.


3

형상 선택은 실제로 치수를 줄이지 만 형상 추출은 다른 형상에서 계산 된 치수를 추가합니다.

패널 또는 시계열 데이터의 경우 일반적으로 날짜 시간 변수가 있으며 미래에는 발생하지 않으므로 날짜 자체에 종속 변수를 학습하지 않으려 고합니다. 따라서 datetime : 기능 제거를 제거해야합니다.

반면에 주중 / 주말은 매우 관련이있을 수 있으므로 날짜 시간 (주요 기능 추출)에서 주중 상태를 계산해야합니다.


0

머신 러닝 프로젝트 성공의 중요한 부분은 훈련 할 훌륭한 기능 세트를 제공하는 것입니다. 기능 엔지니어링이라고하는이 프로세스에는 다음이 포함됩니다.

• 기능 선택 : 기존 기능 중에서 가장 유용한 기능을 선택합니다.
• 기능 추출 : 기존 기능을 결합하여보다 유용한 기능을 생성합니다 (앞서 살펴본 것처럼 차원 축소 알고리즘이 도움이 될 수 있음).
• 새로운 데이터를 수집하여 새로운 기능 생성

인용 : "SciKit-Learn, Keras & Tensorflow를 이용한 머신 러닝 실습-Aurelien Geron"

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