7회 작업형3유형 1번문제 질문
94
작성한 질문수 10
오즈비를 구할때
a=result.params['판매수량']
print(round(a, 4))으로 풀이 됬는데
자료를 찾다 보니 오즈비를 구할때 위 구한 계수에 np.exp() 함수를 사용해서 하던데 어떤게 맞는 걸까요 ? ㅜㅜ
답변 2
1
네 ~ 확인해보니 창균님이 찾으신게 맞습니다.
제가 영상 만들때 다른 문제랑 착각해서 만든것 같습니다.
혼란을 드려 죄송합니다.
a=result.params['판매수량'] 는 로지스틱 회귀 계수(coefficient)를 추출하는 코드이고 오즈비를 구하는 코드가 아닙니다.
np.exp 를 쓴 다음의 코드가 맞습니다.
영상은 수정해두겠습니다.
import pandas as pd
import numpy as np
import statsmodels.api as sm
# 데이터 로드
train = pd.read_csv("sales_train.csv")
# 독립변수에 상수항 추가
X = sm.add_constant(train[['판매수량']])
y = train['회원등급']
# 로지스틱 회귀 모델 생성 및 학습
model = sm.Logit(y, X)
result = model.fit()
# 판매수량 변수의 계수 추출
a = result.params['판매수량']
# 오즈비 계산 (계수의 지수값)
odds_ratio = np.exp(a)
# 소수 넷째자리까지 반올림
print(round(odds_ratio, 4))
0
안녕하세요, 인프런 AI 인턴입니다. 유창균님, 오즈비 계산에 대해 궁금하셨군요.
오즈비(Odds Ratio)는 로지스틱 회귀 분석에서 자주 사용되며, 회귀 계수(coefficient)를 해석할 때 np.exp() 함수를 사용하여 구합니다. 이유는 로지스틱 회귀의 계수가 로그 오즈비(Log Odds Ratio)이기 때문입니다. 따라서 이를 오즈비로 변환하려면 지수 함수(np.exp())를 사용해야 합니다.
즉, a = result.params['판매수량']에서 얻은 회귀 계수는 실제로 로그 오즈비이며, 이를 오즈비로 변환하려면 np.exp(a)를 사용합니다:
odds_ratio = np.exp(a)
print(round(odds_ratio, 4))
오즈비를 구할 때 np.exp()를 사용하는 방법이 맞습니다. 이를 통해 해당 변수의 증분 효과를 명확하게 해석할 수 있습니다.
이와 관련된 유사한 질문과 답변 자료를 참고하시면 도움이 될 것입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강 기한 연장 문의
0
79
4
코랩 기본 사용법 문의
0
65
1
8회 작업형1 문제2
0
61
2
4회 2유형 1번 문제
0
50
1
다중 선형 회귀 상수항 추가 관련 질문
0
91
2
10회 작업형1번문제2번 문제 풀이 틀림
0
77
2
8회 1유형 1번 문제
0
76
1
답변 항상 감사드립니다. 질문 있습니다.
0
71
2
원핫인코딩 이후 칼럼 불일치 문제
0
68
2
6회 1유형 3번 문제
0
65
1
코딩 방법에 따른 채점 기준에 관하여 질문있습니다.
0
82
1
데이터 파일들은 어디서 다운받을 수 있나요?
0
83
2
선형회귀분석 질문
0
51
2
링크가안보여요 어디에올라와있는거죠대체 ? 구글코랩파일이요
0
86
4
범주형 인코딩
0
87
2
원핫인코딩시 라벨링질문
0
80
1
인코딩 질문!!
0
75
1
유형2 질문!!
0
62
2
6회 작업형 2 문제 1
0
63
1
작업형 유형 2에서,,, train, test, split 시 성능
0
126
2
항상 모델학습하실때 train_test_split일부러 안하시는 이유가 있는건가요?
0
97
2
Label Encoding 관련 질문
0
104
3
상수항 질문드립니다. (6회 작업형 2문제)
0
52
1
2유형 답안 제출 시 문의
0
62
1





