해결된 질문
작성
·
42
0
안녕하세요. 질문이 있습니다.
기출 7회 작업형 1-3 문제에서 저는 강사님처럼 gender 컬럼을 pop하지 않고
그냥 바로 test 데이터를 넣어 예측하였습니다.
강사님이랑 결과는 동일하게 나오는데 혹시 gender 컬럼을 꼭 분리해야 할까요?
사실 test 안에는 weight 말고도 다른 독립변수들이 같이 있잖아요.
근데 모델이 독립변수로 weight을 사용하여 종속변수 gender를 예측하는 모델이니까
자동으로 test 안의 weight 변수만 사용한다고 생각하고 있는데 틀린 생각인가요?
from statsmodels.formula.api import logit
# 1) 로지스틱 회귀모델 적합
model = logit('gender ~ weight', data = train).fit()
# 2) test 데이터의 gender 예측 (남자로 분류되는 기준을 0.5로 임의 설정)
pred = model.predict(test) > 0.5
# print(sum(pred))
# 3) error rate 구하기
from sklearn.metrics import accuracy_score
acc = accuracy_score(test['gender'], pred)
er = 1 - acc
print(round(er, 3)) # 0.478
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. kki733232님,
질문에 대한 답변을 드리겠습니다.
로지스틱 회귀에 대한 올바른 이해를 돕기 위해 몇 가지 핵심 사항을 살펴보겠습니다:
데이터의 독립변수와 종속변수:
gender ~ weight
)에서 지정됩니다. 이때 모델은 지정된 독립변수만을 사용하여 종속변수를 예측합니다.테스트 데이터에서의 예측:
predict
메소드는 모델에 명시된 독립변수만을 고려합니다. 즉, test
데이터프레임 안에 weight
외의 다른 컬럼이 있어도 weight
데이터만 사용하여 예측을 수행합니다.pop
메소드 사용 여부:
pop
메소드는 데이터프레임에서 특정 열을 제거하고 반환하는 기능을 합니다. 종속변수를 예측할 때, pop
메소드로 gender
열을 제거하지 않아도 모델은 이미 지정된 독립변수만으로 예측을 수행하므로 결과에는 영향을 미치지 않습니다. 다만, 정확한 비교를 위해서 accuracy_score
에 사용될 test['gender']
열과 같은 형태로 남겨두는 것이 필요합니다.따라서, test
데이터에서 gender
를 분리하지 않더라도 모델의 예측에는 영향을 미치지 않지만, 실수로 인해 데이터 프레임의 구조가 변하지 않도록 주의가 필요합니다.
관련하여 유사한 질문에 대한 설명이 포함된 다음의 링크를 참고해 보시길 권장합니다:
- 로지스틱 회귀 모형 문제에서 질문 드립니다.: 로지스틱 회귀에서의 데이터 처리 방법에 대한 논의가 있습니다.
- 작업형3 로지스틱 회귀: 작업형에서의 로지스틱 회귀 처리 방법에 대한 토론이 포함되어 있습니다.
질문자님의 이해를 돕기 위해 위 정보를 제공하며, 이외에도 추가적인 궁금증이 있으시면 편하게 질문 주세요. 곧 지식공유자께서 자세한 답변을 드릴 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.