인프런 커뮤니티 질문&답변
임계값 > 0.5 관련
해결된 질문
작성
·
25
0
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요
먼저 유사한 질문이 있었는지 검색해보세요
선생님, 아래 두 코드 중 하나를 쓰면 될까요?
두 코드는 똑같은 의미인가요?
해당 문제로 적용했을 때, 같은 값이 나오긴 합니다만,,
현재 강의에서는 첫번째 코드
[작업형3] 9. 로지스틱 회귀
에는 두번째 두 줄짜리 코드로 적혀있어서
둘 중 하나로 외워두면 될지 궁금합니다.(임계값이 따로 나오지않으면 >0.5 를 적용하는것으로 전제하에..)
pred = model.predict(test) > 0.5pred = 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의 클래스 값으로 변환하는 것을 목표로 하고 있습니다. 다음은 각 코드가 수행하는 주요 작업입니다:
pred = model.predict(test) > 0.5model.predict(test)는 테스트 데이터에 대한 예측값을 확률로 반환합니다.
> 0.5를 통해 이 확률이 0.5 이상인 경우 True (1), 그렇지 않으면 False (0)으로 분류하는 역할을 합니다.
-
pred = model.predict(test) pred = (pred > 0.5).astype(int)- 첫 번째 줄에서 교재와 동일하게 테스트 데이터에 대한 예측값을 확률로 반환합니다.
- 두 번째 줄에서는
> 0.5를 사용하여 각 예측 확률을 0과 1로 변환합니다.astype(int)는 이 결과를 정수형 데이터로 변환합니다.
- 첫 번째 줄에서 교재와 동일하게 테스트 데이터에 대한 예측값을 확률로 반환합니다.
일반적으로 로지스틱 회귀의 예측 결과를 이진 분류로 변환할 때 사용하는 이 임계값은 모델의 목표에 따라 달라질 수 있지만, 임계값이 별도로 주어지지 않으면 0.5를 기준으로 하는 것이 보편적입니다. 강의 자료에서 둘 중 어느 하나를 선택하여 사용하셔도 무방하며, 개인적으로 편한 방법을 선택하여 일관되게 사용하시면 됩니다.
비슷한 질문과 답변을 참고하실 수 있는 링크는 다음과 같습니다:
- 예측 임계값 설정 관련 질문
- 작업형3 문제 풀기: 임계값 변경의 이유
위 답변이 지은님께 도움이 되었길 바라며, 추가적으로 궁금한 점이 있으시면 언제든지 질문해 주세요. 지식공유자님께서도 곧 답변해주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





