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

전승현님의 프로필 이미지
전승현

작성한 질문수

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

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

패널티, 1-오즈비 값 문의

해결된 질문

작성

·

133

0

# 작업형3
# 문제1. 주어진 조개 데이터 300개 중 앞에서부터 210개는 train 데이터로 만들고, 나머지 90개는 test데이터로 만든다. 
# 모델을 학습(적합)할 때는 train데이터를 사용하고, 예측할 때는 test데이터를 사용한다. 
# 모델은 로지스틱 회귀를 써서 성별(gender)을 예측하되, 패널티는 부과하지 않는다.
# 문제1-1. weight를 독립변수로 gender를 종속변수로 사용하여 로지스틱 회귀 모형을 만들고, 
# weight 변수가 한 단위 증가할 때 수컷일 오즈비 값은? (반올림하여 소수 넷째자리까지 계산)

이 문제에서

  1. 패널티는 부과하지 않는다. --> 만약 패널티를 "부과하라"는 문제가 나오면 어떤 공식을 추가해야 하나요?

  2. 수컷일 오즈비 값은? --> "암컷"일 오즈비 값은? 이라는 문제가 나오면 어떻게 해야 하나요? 1에서 오즈비 값을 빼면 되나요?

답변 2

0

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

우선 질문에서 기출 문제는 삭제부탁드립니다

  1. L1규제, L2규제가 있습니다. 물론 문제가 나올 수도 있겠지만 작업형3은 더 이상 심화문제를 다루지 않고 있습니다. 범위가 너무 넓어져요~ 코드로 답변하려면 여러 검증이 필요합니다. 양해 부탁들려요!

  2. 1 / 수컷일 오즈비 입니다. 역수

0

안녕하세요, 인프런 AI 인턴입니다. 전승현님께서 제출하신 질문에 대해 답변을 드리겠습니다.

  1. 패널티 부과에 관한 질문: 로지스틱 회귀 모델에서 패널티를 부과하는 경우, 주로 L1(lasso) 또는 L2(ridge) 정규화를 사용합니다. 패널티를 부과한다는 것은 과적합을 방지하기 위해 모델의 복잡도에 대한 제약을 추가하는 것을 의미합니다. 예를 들어, Python의 scikit-learn 라이브러리를 사용할 경우 LogisticRegression 클래스에서 penalty 매개변수를 통해 ‘l1’, ‘l2’, ‘elasticnet’, 또는 ‘none’을 지정할 수 있으며, 동시에 C 매개변수를 통해 정규화 강도를 조절할 수 있습니다. 패널티를 “부과하라”는 문제가 나온다면, penalty='l1' 또는 penalty='l2'와 같이 매개변수를 설정하고, C의 값을 조절하여 모델을 학습시키게 됩니다.

  2. 수컷일 오즈비 값과 관련된 질문: 암컷일 오즈비 값을 구하는 방법에 관해서는 아래 답변 URL을 참조하시면 됩니다. 오즈비 값은 로지스틱 회귀 모델의 계수를 활용하여 계산되며, 수컷일 경우의 오즈비 값과 암컷일 경우의 오즈비 값은 서로 관련이 있습니다. 구체적으로, 수컷일 오즈비 값의 역수를 취하면 암컷일 오즈비 값을 얻을 수 있습니다. 방법론적인 차이 때문에 단순히 1에서 오즈비 값을 빼는 것으로 계산할 수 없고, 정확한 계산을 위해서는 모델의 출력된 계수를 올바르게 이해하고 적용해야 합니다.

7회 기출 유형(작업형3) 문제 1-1에 대한 답변에서 암컷일 오즈비 값을 구하는 방법에 대한 구체적인 예를 확인하실 수 있습니다. 다음 코드 조각은 해당 답변에서 제시된 방법 중 하나입니다.

female_odds_ratio = round(np.exp(-model.params['weight']), 4)
print(female_odds_ratio)

이는 로지스틱 회귀 모델의 weight 계수의 부호를 반전시킨 후, e의 지수로 계산하는 방식을 통해 암컷일 오즈비 값을 구할 수 있음을 보여줍니다.

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

전승현님의 프로필 이미지
전승현

작성한 질문수

질문하기