해결된 질문
작성
·
122
0
https://www.kaggle.com/code/agileteam/t3-2-example-py/
캐글에 올려주신 문제를 보고 있는데 위랑 아래 각각 결과가 다른데 이유를 모르겠어서 문의남깁니다.
로지스틱 회귀 문제의 계수문제는 logit으로 푸는게 맞는걸까요?
import pandas as pd
from sklearn.linear_model import LogisticRegression
# 데이터 로드
df = pd.read_csv('/kaggle/input/bigdatacertificationkr/Titanic.csv')
# 데이터 전처리
df['Gender'] = df['Gender'].map({'male': 0, 'female': 1})
# 로지스틱 회귀 모형 생성 및 학습
X = df[['Pclass', 'Gender', 'SibSp', 'Parch']]
y = df['Survived']
model = LogisticRegression()
model.fit(X, y)
# parch 변수의 계수값 출력
print("Parch 변수의 계수값:", model.coef_[0][3])
import pandas as pd
from statsmodels.formula.api import logit
df = pd.read_csv("/kaggle/input/bigdatacertificationkr/Titanic.csv")
formula = "Survived ~ C(Pclass) + Gender + SibSp + Parch"
model = logit(formula, data=df).fit()
model.params['Parch']
답변 1
0
풀이 방법을 달리 하는 것은 응원합니다만 시험이 1주 밖에 남지않아 알려드린 풀이법을 추천해요💪💪💪
LogisticRegression 모델을 사용한다면 Gender 원핫인코딩시 N-1개(범주형 수)로 인코딩이 필요합니다. 위 방식으로 하려면 원핫인코딩 후 생성된 컬럼 중 첫번째 컬럼을 삭제가 필요합니다.
또는 겟더미 사용시 아래 방법이 있어요!
pd.get_dummies(df[['컬럼명']], drop_first=True)