inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

로지스틱회귀 질문

해결된 질문

52

현우

작성한 질문수 14

0

import pandas as pd
from statsmodels.formula.api import logit
from sklearn.metrics import accuracy_score

# 1. 로지스틱 회귀 모델 적합 (test로 직접 학습 — 실전에서는 train 사용 권장)
model = logit('target ~ age + sex + cp + trestbps + chol + fbs + restecg + thalach + exang + oldpeak + slope + ca + thal', data=test).fit()

# 2. 예측 수행 (test 그대로 사용)
pred_probs = model.predict(test)
pred = (pred_probs > 0.5).astype(int)

# 3. 정확도 → 오류율 계산
error_rate = 1 - accuracy_score(test['target'], pred)
print(f'오류율: {error_rate:.4f}')
Optimization terminated successfully.
         Current function value: 0.310865
         Iterations 8
오류율: 0.1034

 

 

# model = logit('target~age+sex+cp+trestbps+chol+fbs+restecg+thalach+exang+oldpeak+slope+ca+thal',test).fit()
import statsmodels.api as sm

X2 = test.drop(columns = ['target'])
X2 = sm.add_constant(X2)
pred = model.predict(X2)
pred = (pred>0.5).astype(int)
pred
from sklearn.metrics import accuracy_score
1-accuracy_score(test['target'],pred)
0.1954022988505747

 

문제는 test데이터의 독립변수로 target 예측 후 오류율을 구하여라 입니다.

 

근데 로짓이랑 sm이랑 차이가 좀 심하게 나는데 원래 로지스틱 회귀분석할때 sm으로 해야하나요..?

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 2

0

퇴근후딴짓

logit은 상수항 처리를 자동으로 해주는 것인데

logit 모델에 갑자기 왜 상수항을 더 했을까요?

혼용하면 안됩니다. 저는 상수항을 더하는 방법은 알려드린적이 없어요.

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

로지스틱 회귀 분석을 진행할 때 사용하는 라이브러리나 패키지에 따라 결과가 조금씩 다를 수 있습니다. 특히, statsmodelsscikit-learn는 서로 다른 방식으로 모델을 구현하고, 디폴트 옵션 값이나 최적화 알고리즘도 다를 수 있습니다.

두 방법 모두 로지스틱 회귀 모델을 적합하는 데 사용될 수 있는 대표적인 방법입니다만, 결과의 차이는 각 패키지의 구현 차이에서 비롯될 수 있습니다.

  1. logit vs sm.OLS:

    • logit: statsmodels의 사용 방법으로, 통계 모델링에 강점이 있으며, 오차에 대한 유의성 검토를 할 때 사용됩니다.
    • sm.OLS: 일반적으로 회귀 분석에 사용되는 API로 이 역시 statsmodels의 사용 방법이지만, 보통 등급 회귀에 좀 더 최적화되어 있습니다.
  2. 결과 차이의 원인:

    • 두 방법의 내부 최적화 알고리즘의 차이, 예측 시 사용하는 데이터 전처리 방식 등이 결과에 영향을 미칠 수 있습니다.
    • 각 모델이 수렴하는 방식이나, 사용하는 초기값, 반복 조건 등이 서로 다르기 때문에 결과가 차이가 날 수 있습니다.

추천드리는 방법은 처음부터 같은 방식으로 모델을 적합하고, 동일한 평가 지표를 활용하여 비교하는 것입니다. 또한, 각 패키지의 설정이 다르게 되어 있는 경우가 종종 있으니, 모델 학습 전에 해당 옵션들을 통합적으로 조정해보는 것도 좋은 방법입니다.

아래의 링크들을 통해 유사한 질문과 답변을 참고해 보세요:
- 작업형3 로지스틱 회귀: 이 게시물에서는 LogisticRegression 모델에 대한 방법론 차이에 대한 질문과 답변들을 확인할 수 있습니다.
- 예시문제 작업형 2유형 질문있습니다: 결측치 처리나 데이터 전처리에 관련된 다른 사례를 확인할 수 있습니다.

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

빅이시 작업형2 기초 - 케이스 1~3 관련 문의

0

7

1

데이터프레임 슬라이싱 인덱싱 질문2

0

11

1

단일표본검정, 샤피로검정, 윌콕슨검정

0

20

2

강의자료 다운로드 여부

0

20

1

문제에 첨부된 예시와 실제 출력된 샘플 비교

0

16

2

원핫 인코딩 관련

0

26

2

타겟 분리

0

22

2

Id 삭제

0

25

2

roc_auc_score 질문: 작업형2 모의문제3 09분 48초

0

23

2

원핫인코딩 코드 질문

0

24

2

map 함수 사용 필수적인가요

0

31

2

수강 기한 연장 문의드립니다.

0

39

2

34강 평가지표

0

32

2

103강 작업2형 전처리(레이블인코딩 부분) 오류

0

25

3

작업형1_section14 문의

0

20

2

작업형1_연습문제 7번 관련입니다.

0

24

2

데이터 프레임 슬라이싱 혹은 데이터 선택하기가 어렵습니다.

0

22

2

크로스 밸리데이션 질문

0

26

2

로지스틱 회귀분석 질문

0

27

2

수치형 데이터만 선택하여 푸는 경우에 오답확률이 높아질까요?

0

31

2

2유형 object 컬럼 인코딩 관련 질문

0

44

2

하이퍼파라미터 변수

0

35

2

52강 이원분산분석

0

32

2

실제시험환경에서 작업형1,2,3의 문제풀이 순서

0

40

2