강의

멘토링

로드맵

Inflearn brand logo image

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

smrudsla님의 프로필 이미지
smrudsla

작성한 질문수

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

기출7회 작업형3 1-3

해결된 질문

작성

·

36

0

아래 문제를 제가 혼자 다시 풀었을 때, 처음에

model = logit(formula,test).fit()

이라고 test데이터로 모델을 학습해서 답이 안나왔었습니다.

작업형2에서 배웠던 머신러닝의 train, test의 개념이 동일하게 적용되어

학습은 무조건 test가 아니라 train데이터로 진행하는 걸 대전제로 이해하면 될까요?

 

기출7회 작업형3 / 문제1-3. 독립변수 weight 만 사용해 학습한 로지스틱 회귀모델에서 test데이터의 gender를 예측하고, error rate(오류율)를 구하시오. (반올림하여 소수 셋째자리까지 계산)

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_3/clam.csv")

# train test 나누기
train = df.iloc[:210]
test = df.iloc[210:]
# print(train.shape, test.shape)  (210, 6) (90, 6)

# logit
from statsmodels.formula.api import logit
formula = 'gender ~ weight'
model = logit(formula,train).fit()

# test데이터의 gender 예측
pred = model.predict(test)
print(pred)
pred_ver2 = pred > 0.5

from sklearn.metrics import accuracy_score
AS = accuracy_score(test['gender'],pred_ver2)

ER = 1 - AS
print(round(ER,3))

답변 2

1

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

네 일반적으로 학습을 test로 하는 케이스는 없습니다. train으로 학습합니다.

아마 시험에서는 명확하게 어떤 데이터로 학습하라는 말이 있을거에요 🙂

0

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

질문하신 내용은 머신러닝 모델을 학습할 때 데이터셋의 분할에 관한 것입니다. 일반적으로 모델링을 할 때는 데이터를 학습(training)용 데이터와 테스트(test)용 데이터로 나누어 사용합니다.

학습(train) 데이터는 모델을 학습시키고 최적화하는 데 사용되고, 테스트(test) 데이터는 학습한 모델을 평가하는 데 사용됩니다. 이는 모델이 학습하지 않은 새로운 데이터를 얼마나 잘 예측하는지를 본다는 점에서 중요한 절차입니다. 따라서 모델의 학습은 항상 train 데이터로 이루어지는 것이 맞습니다.

예측 및 오류율 계산 과정:

  1. 학습: model = logit(formula, train).fit()

    • train 데이터로 로지스틱 회귀 모델을 학습합니다. 여기서 formula는 종속변수와 독립변수 사이의 관계를 정의합니다.
  2. 예측: pred = model.predict(test)

    • 학습된 모델을 사용하여 test 데이터의 예측값을 계산합니다. 이 예측값들은 확률 형태로 제공됩니다.
  3. 클래스 결정: pred_ver2 = pred > 0.5

    • 확률을 기준으로 예측 클래스를 결정합니다. 일반적으로 0.5를 기준으로 하여 0.5보다 크면 1, 작으면 0으로 분류합니다.
  4. 정확도 및 오류율 계산:

    • AS = accuracy_score(test['gender'], pred_ver2): 예측된 값과 실제 값을 비교하여 정확도를 계산합니다.
    • ER = 1 - AS: 오류율을 계산합니다.

이러한 과정은 아래 링크들에서도 비슷한 질문과 답변을 확인하실 수 있습니다.

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

smrudsla님의 프로필 이미지
smrudsla

작성한 질문수

질문하기