범주 형 데이터와 숫자 형 데이터를 어떻게 동적으로 구별 할 수 있습니까?


12

열이나 데이터 형식에 관계없이 데이터 파일을 수집하는 프로젝트를 수행하는 사람을 알고 있습니다. 이 작업은 임의의 수의 열과 다양한 데이터 유형 및 숫자 데이터에 대한 요약 통계를 출력하는 파일을 가져 오는 것입니다.

그러나 특정 숫자 기반 데이터에 대해 데이터 유형을 동적으로 할당하는 방법을 잘 모릅니다. 예를 들면 다음과 같습니다.

    CITY
    Albuquerque
    Boston
    Chicago

이것은 분명히 숫자 데이터가 아니며 텍스트로 저장됩니다. 하나,

    ZIP
    80221
    60653
    25525

카테고리로 명확하게 표시되지 않았습니다. 그의 소프트웨어는 우편 번호를 수치 및 출력 요약 통계로 할당 할 것인데, 이러한 종류의 데이터에는 적합하지 않습니다.


우리가 가진 몇 가지 아이디어는 다음과 같습니다.

  1. 열이 모두 정수인 경우 범주로 분류하십시오. 이것은 분명히 작동하지 않지만 아이디어였습니다.
  2. 열의 고유 값 이 n 보다 작고 숫자 인 경우 범주 레이블을 지정하십시오. 이것은 더 가까울 수 있지만 여전히 수치 데이터가 떨어지는 문제가있을 수 있습니다.
  3. 실제로 범주 형이어야하는 공통 숫자 데이터 목록을 유지하고 열 머리글을이 목록과 비교하여 일치시킵니다. 예를 들어 "ZIP"가있는 항목은 범주 형입니다.

내 직감은 숫자 데이터를 범주 또는 숫자로 정확하게 할당 할 수있는 방법이 없지만 제안을 기대하고 있다고 말합니다. 당신이 가진 모든 통찰력은 대단히 감사합니다.


완전한 증거는 아니지만 0으로 시작하면 일반적으로 숫자
paparazzo

당신은 또한 그것이 잘못 된 결과가 무엇인지 스스로에게 물어봐야할까요? 프로세스에 얼마나 많은 노력을 기울여야하는지 결정해야합니다. 90 % 정확도, 99 % 정확도 또는 99.9999 % 정확도를 원하십니까?
Spacedman

답변에서 제안 된 모든 휴리스틱을 기능으로 사용하고 이진 분류기를 훈련시킵니다.
Emre

stats.stackexchange.com/a/106400/17230을 참조하십시오 . 여기에는 실제적인 사실이 없습니다.
Scortchi-복원 Monica Monica

답변:


8

나는 이것을하는 바보 같은 방법을 모른다. 내 머리 꼭대기에서 한 가지 아이디어가 있습니다.

  1. 기본적으로 값을 범주 형으로 취급하십시오.
  2. 실제로 연속적임을 암시하는 데이터의 다양한 속성을 확인하십시오. 연속 데이터와 연관 될 가능성에 따라 이러한 속성에 가중치를 부여하십시오. 가능한 예는 다음과 같습니다.
    • 값은 정수입니다. +.7
    • 값은 수레입니다. +.8
    • 값은 일반적으로 분포합니다 : +.3
    • 값에는 상대적으로 적은 수의 고유 값이 포함됩니다. +.3
    • 값이 모두 같은 문자 수는 아닙니다 : +.1
    • 값은 선행 0을 포함하지 않습니다 : +.1
  3. 1보다 큰 열은 숫자로 취급하십시오. 필요에 따라 다른 데이터 세트에 대한 테스트를 기반으로 요인과 가중치를 조정하십시오. 이를 위해 별도의 기계 학습 알고리즘을 구축하고 훈련시킬 수도 있습니다.

이 답변은 흥미 롭습니다. 다른 대답을하는 대신이 답변을 제안하고 싶습니다. 이 문제를 정규 분류 문제로 취급하는 것은 어떻습니까? 이 답변의 속성 (정수, 부동 소수점, 정규 분포, 고유 값의 상대 수 등)을 기반으로 각 열에 대해 일련의 기능을 정의 할 수 있습니다. 그 후 분류 알고리즘을 사용하면됩니다.
Pablo Suau

@PabloSuau, 나는 그 아이디어를 좋아한다. 분류 알고리즘은 여기서 좋은 방법 일 수 있습니다. jncraton 덕분에 일부 특성을 볼 수 있습니다.
Poisson Fish

4

예를 들어 가족의 자녀 수가있는 경우 (예 : 0과 5 사이의 범위 일 수 있음) 범주 형 또는 숫자 형 변수입니까? 실제로 문제와 해결 방법에 따라 다릅니다. 이런 의미에서 다음을 수행 할 수 있습니다.

  • 해당 열의 고유 값 수 계산
  • 이 수를 총 행 수로 나눕니다.
  • 이 비율이 일부 임계 값 (예 : 20 %)보다 낮 으면 범주 형으로 간주합니다.

불연속 값의 경우 한 가지 추가 테스트는 다음과 같습니다. 회귀 모델을 사용하여 일부 매개 변수를 추정하고 추정 된 값이 원래 값 세트에 포함되어 있는지 확인하십시오. 이것이 사실이 아니면, ZIP의 경우와 같이 범주 형 데이터를 처리하고있을 것입니다.

과거에는 비교적 잘 작동했습니다 ...


2

이 질문은 교차 게시되었으므로 교차 검증에 대한 @nickcox의 초기 의견은 관련성이 높고 사실입니다. 내 견해는 약간 다릅니다. 첫째, 문제가있다 : 예를 들어, 나는 두 부분으로 분해, 질문을 바꿔 것이 어떻게 하나가 두 번째, 데이터 유형에 의해 알 수없는 정보의 흐름을 분류하고 가겠어요은 어떤 종류의 오 분류 율 것은 예상 할 수있다. 누군가가 시간을 내고자한다면 두 질문 모두 즉시 대답 할 수 있습니다.

첫 번째 문제는 쉽게 이용할 수있는 실제 데이터 샘플을 사용하여 이러한 스레드에 대한 의견과 답변에서 사전 제안 된 내용에 따라 규칙 기반 전문가 시스템을 개발하는 것입니다.

둘째,이 실제 데이터에는 분류 오류를 벤치마킹하는 알려진 데이터 형식이 포함되어 있습니다.

세 번째 단계는 통과되는 정보를 가능한 한 정확하게 반영하기 위해 규칙을 반복적으로 업데이트하는 것입니다.

제 생각에는 지루하지만 그러한 프로젝트에는 엄청난 양의 작업이 필요하지 않습니다.

---- 추가 설명 ----

CV에 표시되는 데이터 생성 프로세스와 관련하여 기능 추출에 대한 적절한 설명은 다음과 같습니다.

/stats/191935/what-does-the-process-that-generates-the-data-mean-and-how-does-feature-selec

피처 추출, 선택 및 DGP는 전문가 시스템 개발을위한 탁월한 출발점입니다.


Cross Validated에서 질문을 삭제했습니다. 참고로 @NickCox는 다음과 같이 말했습니다 : "당신이 생각하는 것보다 나쁘다고 생각하더라도 생각보다 나쁩니다. 산업이나 질병과 같은 코드화 된 분류의 일부로 소수 변수가 범주 형 변수 내에 숨어있을 수 있습니다. 작은 정수는 오히려 수를 의미 할 수 있습니다 카테고리 : 3 대 또는 고양이를 의미하는 3은 3 대와 동일하지 않습니다. "개인은 자동차를 소유하고 있습니다"또는 "사람은 고양이를 소유하고 있습니다". 관례에 따라 정수일 수 있습니다. 예를 들어, 키는 사람 일 수 있습니다. 정수 cm 또는 인치로보고되고, 혈압은 정수 mm Hg로보고된다. "
Poisson Fish

@NickCox의 두 번째 논평 : "고유 한 값 (여전히 한 번만 발생한다는 주요 의미를 갖는"고유 한 "보다 더 나은 용어)의 값도 좋은 가이드가 아닙니다. 적당한 샘플에서 가능한 다른 사람의 키 수는 아마도 다른 종교 나 민족 출신보다 훨씬 적을 것입니다. "
Poisson Fish
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.