2017-09-27 13 views
0

저는 파이썬을 사용하여 기계 학습을 배우고 있으며 모델을 통해 범주 형 데이터를 실행할 수없고 처음에는 인형을 얻어야한다는 것을 알고 있습니다. 내 범주 데이터 중 일부는 null (2 개 기능 중 매우 작은 부분)이 있습니다. 인형으로 변환 할 때 누락 된 값이 있는지 항상 확인합니다. 사전에 전가해야합니까? 아니면 나는 범주적인 데이터를 전혀 전가합니까? 예를 들어 카테고리가 남성/여성 인 경우 null을 most_frequent로 바꾸고 싶지 않습니다. 이 기능이 소득이라면 이것이 어떻게 합리적인지를 알 수 있습니다. 누락 된 가치를 희생 시키려했습니다. 소득은 소득이지만 남성은 여성이 아닙니다.Python 기계 학습 - 범주 데이터를 입력 하시겠습니까?

따라서 범주 형 데이터를 전가하는 것이 맞습니까? 나는 벗어 났습니까? 이것은 실제 파이썬 프로그래밍보다 적용된 이론이지만 유감 스럽지만이 유형의 질문을 게시 할 위치는 확실하지 않았습니다.

+0

인형이 무엇을 의미하는지 명확히 할 수 있습니까? – BradMcDanel

+0

Dummies는 범주 데이터를 0과 1로 대체합니다. 또한 기능의 고유 한 값의 수로 데이터 세트를 확장합니다. 따라서 M/F라는 기능은 '남성'또는 '여성'중 하나의 값을가집니다. 이것은 가짜 형태로 2 개의 열, 남성과 여성, 텍스트 대신 이진수 0 또는 1이됩니다. 이 특정 사례는 또한 남성 기둥이 0 일 때마다, 여성이 1 등과 같이 동일하기 때문에 동일 직선 성을 도입하는 것으로 보입니다. – user3486773

+0

그래서 1-hot 인코딩 형식으로 M/F를 매핑하는 것입니다. M -> [0, 1] F-> [1, 0] – BradMcDanel

답변

3

답변은 내 기능의 속성에 달려 있다고 생각합니다.

당신이 두 가지 기능을 가지고 말 expectation maximization (EM)과 누락 된 데이터를 입력, 하나는 성별 (누락 된 데이터를했다)와 다른 하나는 임금 (누락 된 데이터)입니다. 두 기능간에 관계가있는 경우 임금에 포함 된 정보를 사용하여 성별의 누락 된 값을 채울 수 있습니다.

성별 항목에 누락 값이 있지만 임금에 대한 값이있는 경우 EM은 P (gender = Male | wage = w0, theta) 즉, 성별은 남성 임금 임금 = w0 및 theta는 최대 우도 추정으로 얻은 매개 변수입니다.

간단히 말하면 위에서 설명한 확률을 얻기 위해 임금에 대한 성별 회귀 (y- 변수는 범주 형이므로 회귀 분석 사용)를 수행하면됩니다. 시각적으로

:

enter image description here

(이 있습니다 완전히 값을 임시-추가하지만, 남성의 임금 분포는 일반적으로 여성에 대한 그 이상이라는 생각을 전달) 값 # 누락 기입

을 2 두 기능간에 아무런 관계가 없더라도 데이터가 무작위로 누락되었다고 생각되는 경우 가장 빈번한 관찰을 사용하여 누락 된 값을 채울 수 있습니다. 나는 조심 스러울 것이다. 두 기능 사이에 관계가없는 경우

을 전가하지 말고 누락 된 데이터가 무작위로 실종되지 않을 수 있다고 생각합니다.