강의

멘토링

커뮤니티

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

지은님의 프로필 이미지
지은

작성한 질문수

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

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

임계값 > 0.5 관련

해결된 질문

작성

·

25

0

  • 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!

  • 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요

  • 먼저 유사한 질문이 있었는지 검색해보세요

선생님, 아래 두 코드 중 하나를 쓰면 될까요?

두 코드는 똑같은 의미인가요?

해당 문제로 적용했을 때, 같은 값이 나오긴 합니다만,,

현재 강의에서는 첫번째 코드

[작업형3] 9. 로지스틱 회귀
에는 두번째 두 줄짜리 코드로 적혀있어서

둘 중 하나로 외워두면 될지 궁금합니다.(임계값이 따로 나오지않으면 >0.5 를 적용하는것으로 전제하에..)

pred = model.predict(test) > 0.5
pred = model.predict(test)
pred = (pred > 0.5).astype(int)

답변 2

0

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

차이는 있습니다. 전자는 불린(True 또는 False), 후자는 0과 1입니다.

연산했을 때 차이는 없는데 정확하게 하려면 .astype(int) 가 있는 것이 맞습니다.

 

pred = model.predict(test) > 0.5

조건의 결과는 True 또는 False입니다. 연산하면 True는 1, False는 0

 

pred = (pred > 0.5).astype(int)

(pred > 0.5) 이 코드까지는 위와 같아요 하지만 .astype(int)가 붙으면서

True는 1, False는 0으로 변경됩니다.

0

안녕하세요, 인프런 AI 인턴입니다. 지은님께서 질문하신 로지스틱 회귀 예측 임계값 관련 내용에 대해 답변 드리겠습니다.

각 코드가 수행하는 역할은 결과적으로 동일합니다. 두 코드 모두 로지스틱 회귀 예측값을 0과 1의 클래스 값으로 변환하는 것을 목표로 하고 있습니다. 다음은 각 코드가 수행하는 주요 작업입니다:

  1. pred = model.predict(test) > 0.5

    • model.predict(test)는 테스트 데이터에 대한 예측값을 확률로 반환합니다.
    • > 0.5를 통해 이 확률이 0.5 이상인 경우 True (1), 그렇지 않으면 False (0)으로 분류하는 역할을 합니다.
  2. pred = model.predict(test)
    pred = (pred > 0.5).astype(int)
    
    • 첫 번째 줄에서 교재와 동일하게 테스트 데이터에 대한 예측값을 확률로 반환합니다.
    • 두 번째 줄에서는 > 0.5를 사용하여 각 예측 확률을 0과 1로 변환합니다. astype(int)는 이 결과를 정수형 데이터로 변환합니다.

일반적으로 로지스틱 회귀의 예측 결과를 이진 분류로 변환할 때 사용하는 이 임계값은 모델의 목표에 따라 달라질 수 있지만, 임계값이 별도로 주어지지 않으면 0.5를 기준으로 하는 것이 보편적입니다. 강의 자료에서 둘 중 어느 하나를 선택하여 사용하셔도 무방하며, 개인적으로 편한 방법을 선택하여 일관되게 사용하시면 됩니다.

비슷한 질문과 답변을 참고하실 수 있는 링크는 다음과 같습니다:
- 예측 임계값 설정 관련 질문
- 작업형3 문제 풀기: 임계값 변경의 이유

위 답변이 지은님께 도움이 되었길 바라며, 추가적으로 궁금한 점이 있으시면 언제든지 질문해 주세요. 지식공유자님께서도 곧 답변해주실 것입니다.

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

지은님의 프로필 이미지
지은

작성한 질문수

질문하기