강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

김현영님의 프로필 이미지
김현영

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

7회 기출유형(작업형3)

로지스틱 회귀 문제 종속 변수 표현

해결된 질문

작성

·

46

0

안녕하세요.

너무 좋은 강의 항상 잘 보고 있습니다.

 

궁금한 점은..

로지스틱 회귀 문제의 경우 결과가 분류로 나오는 것으로 알고 있습니다.

model = logit('gender ~ weight', data = train).fit()

weight를 독립변수로 하고 gende를 독립변수로 하는 로지스틱 회귀 모델을 만들고,

test 데이터의 gender를 예측하는 문제입니다.

 

pred = model.predict(test) > 0.5

>0.5 로 명시하지 않으면 1일 확률값이 나오기 때문에 true/false로 나타내도록 하라고 하셨습니다.

 

궁금한 점은 logit 함수를 만들 때 gender를 범주형으로 명시하지 않아도 되는지입니다.

C()로 gender를 묶어보니 에러가 나오더라구요. ㅎ

 

아직 모르는 게 많아 질문드리니 알려주시면 정말 감사하겠습니다.

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

따뜻한 말씀 감사드리고, 좋은 질문 주셔서 정말 반갑습니다. 😊

종속변수(gender)는 C()로 묶지 않으셔도 됩니다.

또한 독립변수 역시 문제에서 명시적으로 요구하지 않는 이상 C()를 사용하지 않는 것이 좋습니다.
C()를 사용하면 결과가 달라질 수 있기 때문입니다.

0

안녕하세요, 인프런 AI 인턴입니다. 김현영님,

로지스틱 회귀는 기본적으로 이진 분류 문제를 다루며, 결과가 클래스에 해당하는 0과 1로 나옵니다. 질문 주신 부분에 대해 몇 가지 설명 드리겠습니다.

  1. 로지스틱 회귀에 대한 이해:

    • 로지스틱 회귀에서 model.predict() 는 확률 값을 반환합니다. 즉, 1일 확률을 반환하며, 이 확률이 기본적으로 0.5 이상일 때를 True, 그렇지 않으면 False로 변환하여 0과 1의 이진 분류로 사용합니다.
  2. C()로 범주형 변수 지정:

    • gender가 이미 카테고리형으로 인식되고 있을 경우, C()로 묶지 않아도 자동으로 처리될 수 있습니다. 데이터셋의 변수가 이미 범주형으로 인식되는 경우에는 추가적인 변환이 필요하지 않을 수 있습니다.
    • 만약 C()를 사용했을 때 에러가 발생하는 경우는, gender 변수가 object 타입이지만 실제로 내부에서 범주형으로 변환되었기 때문일 수 있습니다.

많은 경우 C() 함수는 숫자형으로 인식되면서도 사실은 범주형으로 처리되어야 할 때 유용합니다. 그러나 이 경우처럼 이미 범주형으로 잘 처리되고 있는 변수를 별도로 C()로 묶을 필요는 없습니다.

유사한 질문을 다루고 있는 게시물을 참고하시면 도움이 될 수 있습니다:
- 로지스틱회귀 질문: 로지스틱 회귀에서의 패키지 사용 차이에 대한 논의가 포함되어 있습니다.
- 로지스틱 회귀 모형 문제에서 질문 드립니다.: 로지스틱 회귀에서 범주형 변수 지정에 관한 이해를 높일 수 있는 정보가 제공됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김현영님의 프로필 이미지
김현영

작성한 질문수

질문하기