강의

멘토링

로드맵

Inflearn brand logo image

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

유창균님의 프로필 이미지
유창균

작성한 질문수

[2025년 최신 기출 반영] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !

9회 작업형3번 문제1-3번

7회 작업형3유형 1번문제 질문

작성

·

66

0

오즈비를 구할때

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()를 사용하는 방법이 맞습니다. 이를 통해 해당 변수의 증분 효과를 명확하게 해석할 수 있습니다.

이와 관련된 유사한 질문과 답변 자료를 참고하시면 도움이 될 것입니다:

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

유창균님의 프로필 이미지
유창균

작성한 질문수

질문하기