inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Chuẩn bị thi thực hành Kỳ thi Kỹ sư Phân tích Dữ liệu lớn năm 2026] Đỗ 100% kỳ thi thực hành Chứng chỉ Phân tích Dữ liệu lớn! Nhận ra được quy luật của các đề thi trước đây!

선형회귀분석 질문

Đã giải quyết

104

beassles7

13 câu hỏi đã được viết

0

from statsmodels.formula.api import ols

import statsmodels.api as sm

강의를 듣다보니 문제에 따라 위의 두가지를 사용하시던데

어느때에 어떤걸 사용하는지 알 수 있을까요?

문제에 상수항을 구하라는 말이 없는데, 어떤때는 종속과 독립변수를 나눠서 상수항을 직접 구하고

어떤때는 자동으로 계산해주는 걸 사용하셔서 그 기준이 궁금합니다.

시험에서는 두가지 모두 해봐야하는지도 궁금합니다!'

 

회귀외에도 로지스틱도 두가지 유형중에 어떤 코드로 불러와서 해야하는지 궁금합니다.

빅데이터 빅데이터분석기사

Câu trả lời 2

0

codingkorea

안녕하세요!

두 가지 방법 다 결과는 같은데, formula.api의 ols가 훨씬 편합니다.

 

# 이게 더 간단함 (추천)

from statsmodels.formula.api import ols

model = ols('y ~ x1 + x2', data=df).fit()

 

이렇게 하면 R처럼 공식으로 바로 쓸 수 있어서 코드도 짧고 상수항도 알아서 들어가요.

 

# 이건 좀 번거로움

import statsmodels.api as sm

X = sm.add_constant(df[['x1', 'x2']])

model = sm.OLS(df['y'], X).fit()

 

이 방법은 X, y 따로 분리하고 상수항도 직접 넣어줘야 해서 손이 더 가더라구요.

실기 시험에서는 formula 방식으로 푸는게 시간도 절약되고 실수할 일도 적어요.

다만 문제에서 “sm.OLS 사용” 이렇게 명시되어 있으면 그때만 두 번째 방식 쓰시면 될 것 같아요!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. beassles7님이 질문하신 선형 회귀 분석에서의 두 가지 방법에 대해 설명드리겠습니다.

선형 회귀 분석 방법의 두 가지 접근 방식

  1. Statsmodels API 사용:
import statsmodels.api as sm
x = sm.add_constant(x)
model = sm.OLS(y, x)
result = model.fit()
  • 상수항 추가: sm.add_constant(x) 를 통해 독립변수 x 에 상수항을 추가합니다. 이 방식은 직접적인 행렬 계산을 통해 회귀 분석을 수행하며, 데이터가 numpy 배열 형태일 때 주로 사용됩니다.
  1. Formula API 사용:
from statsmodels.formula.api import ols
formula = 'y ~ x'
model = ols(formula, data=data)
result = model.fit()
  • 상수항 자동 포함: formula API를 사용하면 상수항(절편)이 자동으로 포함됩니다. y ~ x 형식의 식만 작성하면 모델에 상수항이 추가됩니다. 이는 데이터 프레임을 직접 사용하는 경우에 유용합니다.

선택 기준

  • 데이터 형태: 데이터가 numpy 배열 형태라면 Statsmodels API를 통해 명시적으로 상수항을 추가하는 것이 일반적입니다. 반면, 데이터가 pandas DataFrame 형태라면 Formula API를 사용하면 간편하게 상수항이 포함된 회귀 분석을 수행할 수 있습니다.

  • 코드 가독성: Formula API를 사용하면 코드가 더 직관적이며, R 언어의 형식과 유사해 이해하기 쉽습니다.

시험에서의 활용

시험에서는 문제 요구에 따라 둘 중 하나의 방법을 선택하여 사용하면 됩니다. 상수항 추가 여부가 명확히 언급되지 않는다면, Formula API 방식이 포함되어 있기에 별도의 처리가 필요하지 않을 수 있습니다. 그러나 명시적인 상수항 추가 요구가 있거나 numpy 배열로 작업할 경우에는 Statsmodels API 방식이 필요합니다.

이해를 돕기 위해 관련 논의를 포함한 링크를 제공합니다:
- “Statsmodels로 회귀 분석을 시작하는 법”

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

변수명 한글로 써도 될까요

0

69

1

빅분기2회기출문제 1유형 2번문제

0

81

2

변경된 체험환경 작업형3번질문이요

0

80

2

수업노트는 어디서 볼 수 있나요?

0

80

2

accuracy_score() 사용 시 인자 순서 오류 관련

0

89

2

정규화 여부

0

74

1

코드 자동완성 or 추천 기능

0

98

2

7회 기출문제 작업형3유형 2번째문제

0

102

2

수강 기한 연장 문의

0

157

4

코랩 기본 사용법 문의

0

121

1

8회 작업형1 문제2

0

106

2

4회 2유형 1번 문제

0

89

1

다중 선형 회귀 상수항 추가 관련 질문

0

145

2

10회 작업형1번문제2번 문제 풀이 틀림

0

123

2

8회 1유형 1번 문제

0

112

1

답변 항상 감사드립니다. 질문 있습니다.

0

117

2

원핫인코딩 이후 칼럼 불일치 문제

0

115

2

6회 1유형 3번 문제

0

103

1

코딩 방법에 따른 채점 기준에 관하여 질문있습니다.

0

127

1

데이터 파일들은 어디서 다운받을 수 있나요?

0

134

2

링크가안보여요 어디에올라와있는거죠대체 ? 구글코랩파일이요

0

161

4

범주형 인코딩

0

131

1

원핫인코딩시 라벨링질문

0

122

1

인코딩 질문!!

0

119

1