연속 및 범주 기능을 모두 사용하여 예측


26

일부 예측 모델링 기법은 연속 예측 변수를 처리하기 위해 더 설계된 반면, 다른 예측 기법은 범주 형 또는 이산 변수를 처리하는 데 더 좋습니다. 물론 한 유형을 다른 유형으로 변환하는 기술이 있습니다 (분산, 더미 변수 등). 그러나 단순히 피처 유형을 변환하지 않고 두 유형의 입력을 동시에 처리하도록 설계된 예측 모델링 기술이 있습니까? 그렇다면 이러한 모델링 기술이보다 자연스러운 데이터에서 더 잘 작동하는 경향이 있습니까?

내가 알고있는 가장 가까운 것은 일반적으로 의사 결정 나무가 잘 분리 된 데이터를 처리하고 그들이 필요없이 연속적인 데이터를 처리하는 것입니다 앞까지 이산화를. 그러나 연속 기능의 분할은 동적 이산의 한 형태이기 때문에 이것은 내가 찾고있는 것이 아닙니다.

참고로 다음은 중복되지 않는 관련 질문입니다.


1
당신이하고 싶은 것에 대해 더 말할 수 있습니까? 확실히, 연속 및 범주 형 공변량과 함께 다중 회귀 분석을 사용하여 예측 모델을 작성할 수 있습니다. 이것은 다소 초등입니다. 대신 여러 응답 변수를 예측한다는 의미 입니까 (예 : 일부는 계속되는 고양이와 고양이 같은 경우)?
gung-복직 모니카

@gung 범주 형 예측 변수를 어떤 의미에서 숫자로 변환 하지 않고 범주 형 공변량과 관련된 다중 회귀 분석을 수행하는 방법은 무엇입니까?
Michael McGowan

1
'숫자'는 아무것도 의미하지 않으며 실제로 수치 가 아닙니다 . 방법의 관점에서, 당신은 코딩 체계를 사용합니다; 참조 셀 코딩 (일반적으로 '더미 코딩'이라고 함)이 가장 일반적이지만 많은 체계가 있습니다. 이것은 가능한 다양한 체계를 배우기에 좋은 자료입니다. 예를 들어 R에서는 실제로 그렇게 할 필요는 없지만 벡터 나 문자 데이터 (예 : 이름)를 포함하면 모든 것을 처리합니다.
gung-복직 모니카

2
나는 여전히 질문의 자극을 따르지 않을까 두려워합니다 (약간 느립니다). 범주 형 변수는 숫자 형 변수로 "변환"또는 "변환"되지 않습니다. 그들은되는 대표 1에 의해,하지만 한 것을 정말 수치가 아닙니다. 정성 예측 변수는 의사 결정 트리 (예 : CART)보다 다중 회귀 분석에서 더 이상 수치가 아닙니다. 이론적 인 관점에서 보면 아무것도 없습니다. 실제적인 관점에서, 몇 줄의 코드를 저장하려는 경우 소프트웨어 (R 등)가 종종 그렇게합니다.
복직 모니카

1
공정하게, 당신은 당신이 생각하는 것을 이론적으로 설명 할 수 있습니까? 더미 코딩은 범주 형 변수를 의미있는 숫자 형 변수로 어떻게 변환 합니까? CART가 변수에 '범주 성'을 유지하도록하는 것은 어떻습니까?하지만 더미 코딩은 그렇지 않습니다. 위의 질문에서 이러한 질문에 대한 답변이 무엇인지 파악할 수 없어서 이전 게시물을 볼 수 없습니다.
gung-복직 모니카

답변:


6

내가 아는 한, 과거 에이 문제를 깊이 연구 한 결과, 두 가지 유형의 입력을 동시에 변형시키지 않고 동시에 입력 유형을 처리하도록 설계된 예측 모델링 기술 (나무, XgBoost 등)이 없습니다. 기능의 유형.

랜덤 포레스트 (Random Forest) 및 XGBoost와 같은 알고리즘은 혼합 된 기능의 입력을 허용하지만 노드 분할시이를 처리하기 위해 일부 로직을 적용합니다. "후드 아래"논리를 이해하고 블랙 박스에서 발생하는 모든 작업에 문제가 없는지 확인하십시오.

u1u2fid(u1,u2)fi=(discategorical(u1,u2)fifid(u1,u2)fi=disnumeric(u1,u2)fififiu1u2

범주 기능에 대해 알려진 거리 기능 :

  • 레 벤슈 티엔 거리 (또는 "편집 거리"의 모든 형태)

  • 가장 긴 공통 서브 시퀀스 메트릭

  • 고 우어 거리
  • 그리고 더 메트릭 여기

5

나는이 질문이 게시 된 지 오래되었다는 것을 알고 있지만 여전히이 문제 (또는 비슷한 문제)를보고 있다면 GAM (Generalized Additive Model)을 사용하는 것이 좋습니다. 전문가는 아니지만 이러한 모델을 사용하면 다른 모델을 결합하여 단일 예측을 만들 수 있습니다. 입력 한 모형에 대한 계수를 찾는 데 사용되는 프로세스는 한 번에 모든 모형에 대해 풀기 때문에 범주 형 예측 변수에 대한 선호 모델과 연속 예측 변수에 대한 선호 모델을 일반화 된 가산 모델에 보내고 RSS를 최소화하는 단일 모델을 얻을 수 있습니다. 다른 오류 기준을 사용하려는 경우

내 머리 위에 GAM을 구현 한 유일한 소프트웨어 패키지는 언어 R이지만 다른 패키지도 있다고 확신합니다.


SAS에는 Proc Gam이라는 절차가 있습니다.
Alph

1
대부분의 주요 통계 패키지 (예 : Stata)는 아마도 GAM을 구현할 수 있습니다. 그러나 GAM은 더미 코드를 사용하여 범주 형 변수를 예측 변수로 나타냅니다. 범주 형 예측 변수를 범주 형으로 사용하지만 더미 코드로 표시하지 않는 모델을 찾는 데있어 OP가 무엇을 원하는지는 명확하지 않지만, 이것이 아닐 수도 있습니다.
gung-복원 Monica Monica

이력서에 오신 것을 환영합니다. 사용자 이름, ID 아이콘 및 사용자 페이지에 대한 링크는 모든 게시물에 자동으로 추가되므로 게시물에 서명 할 필요가 없습니다. 사실, 우리는 당신이하지 않는 것을 선호합니다.
gung-복원 Monica Monica

4

이산화가 연속 데이터를 이산 데이터로 변환하는 동안 더미 변수가 범주 형 데이터를 연속 데이터로 변환한다고 말할 수는 없습니다. 실제로 컴퓨터에서 알고리즘을 실행할 수 있기 때문에 범주 형 데이터를 더미 변수로 변환하지 않는 분류 알고리즘이 거의 없습니다.

마찬가지로 분류자는 예측 변수를 클래스에 속하는 개별 변수로 변환합니다 (클래스 확률을 출력하더라도 최종 컷오프를 선택하더라도). 실제로 로지스틱 회귀, 임의 포리스트, 의사 결정 트리 및 SVM과 같은 많은 분류 기준은 두 유형의 데이터 모두에서 잘 작동합니다.

지속적인 데이터로 작동하지만 범주 형 데이터를 전혀 처리 할 수없는 알고리즘을 찾기가 어렵다고 생각합니다. 일반적으로 모델의 왼쪽에있는 데이터 유형에 더 큰 차이가 있음을 발견합니다.


2
아니오, 제 요점은 로지스틱 회귀 등은 두 가지 유형의 데이터 모두에서 설명하는 의미에서 "작동"하지 않는다는 것입니다. 적어도 어떤 의미에서는 모든 예측 변수를 숫자로 취급하거나 숫자로 취급하지 않아야합니다. 예를 들어, "남성"은 1, "여성"은 0으로 "성별"과 같은 것을 코딩하여 로지스틱 회귀 분석으로 훌륭한 결과를 얻을 수 있다는 것을 알고 있습니다. 그러나 알려진 모델링 패러다임으로 이러한 유형의 프로세스를 피할 수 있는지 궁금합니다.
Michael McGowan

1

이것은 기계 학습 끝뿐만 아니라 통계에서 일반적으로 다루어지는 심오한 철학적 질문입니다. 일부는 분류가 범주 별 지표에 대한 개별화에 더 적합하므로 패키지가 모델 입력을 쉽게 소화 할 수 있다고 말합니다. 다른 사람들은 비닝으로 인해 정보가 손실 될 수 있지만 범주 형 변수는 모델 잔차의 마지막 클래스를 제외한 {1,0} 표시기 변수로 변환 할 수 있어야합니다.

Applied linear regression (Kutner et al.) 책 은 처음 몇 장에서 모델에 지표 변수를 도입하는 논리에 대해 언급합니다. 다른 유사한 텍스트도있을 수 있습니다.

실험 계획에서 블록과 같은 범주 형 변수를 상상하면 지표 변수는 실험 기반이 아닌 데이터 분석의 자연스러운 확장입니다. 데이터 마이닝 알고리즘 (의사 트리 패밀리)과 관련하여 모델에 공급해야하는 분류는 불가피합니다 (수동 또는 자동 바 이닝).

따라서 같은 방식으로 범주화 변수뿐만 아니라 숫자 형 변수에 대해서도 비닝 숫자식이 없거나 인디케이터-범주 형을 사용하는 모델이 없을 수 있습니다.

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