0

Python 2.7 사용. 문제는 적합 방법에 관한 것입니다. 숫자 입력이 불가능한 기능 (예 : Male, Female과 같은 문자열 유형 기능)이 필요한 경우 기능에 대한 질문입니다 (매개 변수 X에서 제공). 필요합니까, 아니면 성능 및 기타 이유로 숫자 기능으로 변환 할 것을 권장합니다. ? 그리고이 다중 값 문자열 유형의 기능을 가지고 또한 경우scikit-learn의 로지스틱 회귀 기능 값 정규화

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.fit

관련, 린 (예 : 기능의 지오가 San Francisco의 값, San Jose, Mountain View 등이 될 수 있음)

답변

1

당신은 범주 인코딩해야합니다 기능을 사용하고 숫자 값으로 변환하십시오 (sklearn을 사용하려는 경우). 이 사과는 모두 sklearn 견적 (LogisticRegression 포함)이며 사용중인 파이썬의 버전은 중요하지 않습니다.

보기 4.3.4. 자세한 내용은 범주 형식 기능http://scikit-learn.org/stable/modules/preprocessing.html#encoding-categorical-features 인코딩

+0

감사합니다 MhFarahani, 남성/여성을 0/1 또는 -1/1로 인코딩하면 예측 결과가 변경 될지 확실하지 않습니까? –

+0

또한 인코딩에 대한 몇 가지 예제를 읽었지 만, 예를 들어이 링크 (http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing)에서 혼란스러워합니다. OneHotEncoder)는 4 개의 샘플을 나타내는'[0, 0, 3], [1,1,0], [0, 2, 1], [1, 0, 2] 풍모? 그렇다면 왜 문서가 '세 가지 특징과 두 가지 샘플'이라고 혼란스러워할까요? –

+1

남성/여성의 경우 0/1은 합당한 선택입니다. 그러나 1/1은 남녀간에 차이가 없다는 것을 나타내는 잘못된 결과를 줄 것입니다. 당신이'sklearn.preprocessing.LabelEncoder'에 당신의 기능을 넘겨 주면, 당신의 범주 적 특징을 자동으로 인코딩 할 것입니다. – MhFarahani

2

그냥 MhFarahani의 답변에 비트를 추가하십시오 : 예, 해당 레이블을 숫자 값 (일반적으로 0 또는 1)으로 변환해야합니다. 성별과 같은 경우, 남성의 경우 0, 여성의 경우 1, 또는 그 반대의 행을 갖기를 원할 것입니다. 지리적 위치와 같은 것에 대해서는 조금 더 복잡 할 것입니다. 적당한 수의 대답이 있으면 pandas의 get_dummies 함수를 사용하여 (here 확인) 데이터 프레임에 각 가능한 위치를 나타내는 행을 자동으로 채 웁니다. 그 행 중 하나를 삭제하여 해당 위치를 '기본값'으로 만들 수 있습니다.

+0

감사 바락, 남성/여성을 0/1 또는 -1/1로 인코딩하면 예측 결과가 변경 될지 확실하지 않습니까? –

+1

0/1 또는 1/0을 의미한다고 생각하나요? 즉, "성별"이라는 열을 가지며 값은 1 또는 0이며 1은 여성이고 0은 남성 또는 0은 여성이고 1은 남성입니다. 선택은 임의적이지만, 회귀의 결과를 볼 때 명심해야합니다. 예를 들어 성별 계수가 양수이고 1이 남성을 의미하면 남성이 종속 변수에 긍정적 영향을 미친다는 것을 의미합니다. 1은 여성을 의미하면 여성은 긍정적 인 효과가 있습니다! –

+0

Hi Barak, 남성을 1로, 여성을 0으로 인코딩하거나 남성이 -1로 여성을 인코딩 할 수 있으며, 두 메커니즘이 예측 결과에 영향을 미치는지 여부를 나타냅니다. –