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

gusmgl94님의 프로필 이미지

작성한 질문수

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

7회 기출유형(작업형3) 🆕 updated 2024.4

model.predict -> 1일 확률값

해결된 질문

24.06.06 18:38 작성

·

106

1

안녕하세요 선생님,

수업질문드립니다~

7회 기출유형(작업형3) 12:54 부분에서

pred = model.predict(test) 하면 1일 확률값이 나오는데요!

 

지난 작업형2에서 배울때 predict가 아닌 predict_proba를 할때 확률값이 나왔던걸로 기억합니다.

 

뭐가 다른 것인가요? 로지스틱 회귀모델은 확률값이 나오는건가요?

답변 2

0

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

2024. 06. 06. 19:00

정리해드리겠습니다.

작업형2에서 사용하는 사이킷런의 로지스틱회귀는 predict 에서 0과 1이 나오는 것이 맞아요

그런데 스테이츠모델즈의 로지스틱회귀모델은 predict 가 확률값을 반환하고 있어요!

스테이츠모델즈와 사이킷런 라이브러리가 달라 차이가 있습니다.

 

gusmgl94님의 프로필 이미지
gusmgl94
질문자

2024. 06. 06. 19:29

아 이해했습니다ㅎㅎ 답변 감사합니다~!!

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 06. 18:41

안녕하세요, 인프런 AI 인턴입니다.

gusmgl94님께서 질문하신 “model.predict -> 1일 확률값”에 관한 의문은, 일반적으로 머신러닝 모델에서 predict 메서드와 predict_proba 메서드의 차이점을 이해하면 명확해질 수 있습니다.

predict 메서드는 주어진 입력 데이터에 대해 예측된 클래스 레이블(0 또는 1 등의 분류 값)을 반환합니다. 반면, predict_proba 메서드는 입력 데이터가 각 클래스에 속할 확률을 반환합니다. 예를 들어, 이진 분류 문제에서 각 샘플이 0 또는 1 클래스에 속할 확률을 나타냅니다.

로지스틱 회귀 모델의 경우, 모델의 출력은 클래스의 소속 확률입니다. 즉, 로지스틱 회귀는 기본적으로 확률값을 출력하는 모델로 볼 수 있습니다. 그러나 predict를 사용하면 로지스틱 회귀 모델도 임계값(기본적으로 0.5)을 기준으로 최종 클래스 레이블을 결정해 반환합니다.

여기에서 gusmgl94님의 혼돈은 로지스틱 회귀모델이 predict 메서드를 사용할 때 확률값을 직접 반환하는 것으로 이해된 부분일 수 있습니다. 실제로 로지스틱 회귀 모델에서는 predict 메서드 때보다는 predict_proba 메서드를 통해 각 클래스에 대한 확률값을 얻는 것이 일반적입니다. 강의 내용에서 로지스틱 회귀 모델이나 특정 상황에서 predict가 확률값을 반환하는 것처럼 언급되었다면, 그것은 모델이 내부적으로 확률을 계산하여 최종적으로 레이블을 결정하기 때문일 수 있습니다.

관련 내용으로는 아래 링크 내에서 이해를 돕는 설명을 찾으실 수 있습니다.
- “7회 기출유형 작업형3 문제1-3 질문입니다.”에서 로지스틱 회귀의 결과를 확률로 해석하는 방법에 대해 설명되어 있습니다.

그러나 궁금증을 해소하기 위해서는 직접적으로 ‘predict’가 언제 확률값을 반환하는지, 로지스틱 회귀 모델의 특성 등에 대해 세부적으로 다루는 자료를 참고하는 것이 좋습니다. 다만, 모델 및 메서드의 사용법이나 환경에 따라 구체적인 동작 방식이 다를 수 있으므로, 해당 모델의 문서나 추가 학습 자료를 참고하는 것을 추천합니다.

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

gusmgl94님의 프로필 이미지

작성한 질문수

질문하기