7회 작업형3유형 1번문제 질문
100
작성한 질문수 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
30
1
빅분기2회기출문제 1유형 2번문제
0
25
2
변경된 체험환경 작업형3번질문이요
0
38
2
수업노트는 어디서 볼 수 있나요?
0
35
2
accuracy_score() 사용 시 인자 순서 오류 관련
0
35
2
정규화 여부
0
50
1
코드 자동완성 or 추천 기능
0
53
2
7회 기출문제 작업형3유형 2번째문제
0
56
2
수강 기한 연장 문의
0
108
4
코랩 기본 사용법 문의
0
86
1
8회 작업형1 문제2
0
78
2
4회 2유형 1번 문제
0
62
1
다중 선형 회귀 상수항 추가 관련 질문
0
102
2
10회 작업형1번문제2번 문제 풀이 틀림
0
91
2
8회 1유형 1번 문제
0
87
1
답변 항상 감사드립니다. 질문 있습니다.
0
89
2
원핫인코딩 이후 칼럼 불일치 문제
0
82
2
6회 1유형 3번 문제
0
78
1
코딩 방법에 따른 채점 기준에 관하여 질문있습니다.
0
101
1
데이터 파일들은 어디서 다운받을 수 있나요?
0
103
2
선형회귀분석 질문
0
63
2
링크가안보여요 어디에올라와있는거죠대체 ? 구글코랩파일이요
0
111
4
범주형 인코딩
0
108
1
원핫인코딩시 라벨링질문
0
94
1





