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

인옥님의 프로필 이미지
인옥

작성한 질문수

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

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

다중회귀와 다중선형회귀 공식

작성

·

21

0

다중회귀와 다중선형회귀 공식이 틀린거죠?

 

다중회귀

import statsmodels.stats.api as sm

 

다중선형회귀

from statsmodels.formula. api import ols

답변 3

1

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

제가 from statsmodels.formula. api import ols 로 사용한 것 같은데

import statsmodels.stats.api as sm로 사용한 영상이 있나요??

 

sm.OLS()도 ols()같은 회귀 모델입니다. 다만

ols()는 r 포뮬라 방식을 따르고 있고,

OLS()는 사용법은 머신러닝 방식과 유사하나

상수를 직접 넣어야하는 불편함이 있어요 sm.add_constant(X)

 

다중회귀 다중선형회귀로 구분하기보다 OLS()와 ols() 사용법 차이가 있어요

0

인옥님의 프로필 이미지
인옥
질문자

감사합니다. 저도 다시한번 해보겠습니다

0

인옥님의 프로필 이미지
인옥
질문자

다른 예시 문제를 풀다보니 그렇게 풀어야 풀이답이 나와서요

다중선형회귀분석이든 다중회귀이든 선생님이 알려주신대로

from statsmodels.formula.api import ols로 푸니까 문제집에 있는 답과 안맞아서요

회귀분석이라고 나오면 '선형' 이란 말 없어도 위에 공식으로 풀면 되나요?

로지스틱회귀모형도 from statsmodels.formula.api import

logit로만 풀면 다되는 줄 알았는데 제가 가지고 있는 문제집은 상수항 추가하는 것으로 풀어서 답이 일치가 안되네요 ㅜㅜㅜ 어떤것으로 해야할지요

상수항 추가는 번거롭다고 하셔서 그건 아예 외우지도 않았어요

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

동일한 함수이고 결과는 같아야 정상입니다. (미세한 소수 끝자리 차이 제외)

달랐다면 전처리에서 입력 데이터를 다르게 넣은 것은 아닐까요?

 

다른 도서에서 어떻게 설명하고 있는지는 모르겠지만 제가 설명한 방식으로 시험문제에서 이슈가 없었습니다.

 

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

두 코드를 코드블럭 활용해 보여주시겠어요?

image.png


 

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

혹시나 싶어 저도 체크해봤어요
시험환경에서 아래 코드 활용시 결과는 같습니다.

import pandas as pd
from statsmodels.formula.api import ols
import statsmodels.api as sm

# Titanic 데이터 로드
df = pd.read_csv("data/Titanic.csv")

# 필요한 데이터 전처리 (예: Null 값 처리)
df = df.dropna(subset=['Survived', 'Age', 'Fare', 'Pclass'])  # Null 값 제거

# 1. ols 사용 
formula_model = ols("Survived ~ Age + Fare + Pclass", data=df).fit()

# 2. OLS 사용
X = df[['Age', 'Fare', 'Pclass']]  
X = sm.add_constant(X)   
y = df['Survived']       

manual_model = sm.OLS(y, X).fit()

# 결과 비교
print("ols")
print(formula_model.summary())

print("sm.OLS")
print(manual_model.summary())

스크린샷 2024-11-22 오후 7.11.47.png.webp스크린샷 2024-11-22 오후 7.11.58.png.webp

 

 

 

인옥님의 프로필 이미지
인옥

작성한 질문수

질문하기