inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

예시문제 작업형2(ver. 2023)

안녕하세요, 라벨 인코딩 후 train 전체 데이터를 학습에 사용하는 것이 적절한지 궁금하여 질문드립니다.

해결된 질문

67

변재현

작성한 질문수 5

0

1)혹시 현재 범주형 컬럼에 대해 라벨인코딩 한 후, 인코딩한 컬럼만 따로 학습에 사용하는 것이 아니라, 수치형 컬럼과 함께 전체 데이터(총 10개 컬럼)를 모델에 넣어 학습했습니다. 이때 오히려 성능이 더 잘 나왔는데, 이런 방식이 괜찮은지 확인 받고 싶습니다.

from sklearn.preprocessing import LabelEncoder

cols = list(train.select_dtypes(include = 'O'))

for col in cols:

le = LabelEncoder()

train[col] = le.fit_transform(train[col])

test[col] = le.transform(test[col])

 

이후 전체 데이터를 사용해 모델 학습을 진행했습니다.

X_train, X_val, y_train, y_val = train_test_split(train.drop('성별',axis=1), train['성별'], test_size = 0.2, random_state = 0)

print(X_train.shape, X_val.shape, y_train.shape, y_val.shape) #(2800, 10) (700, 10) (2800,) (700,) 범주형데이터 인코딩한 상태로 10개 컬럼 그대로 가지고 학습

 

from sklearn.ensemble import RandomForestClassifier

from sklearn.metrics import roc_auc_score

rf = RandomForestClassifier(random_state = 0, max_depth =5)

rf.fit(X_train,y_train)

rf_predpro = rf.predict_proba(X_val)

rf_rocauc = roc_auc_score(y_val,rf_predpro[:,1])

print(rf_rocauc) # train data 전체 데이터 사용 시 약 0.63, 범주형 컬럼 두 개만 썼을 때는 약 0.60

 

감사합니다

 

 

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

답변 2

0

퇴근후딴짓

인코딩 후에 전체데이터(수치+범주]로 학습하는 것이 정상입니다.

인코딩 후 인코딩한 데이터로만 학습하는 것은 잘못된 방식이에요 🙂

 

1

변재현

네 감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 변재현님께서 질문하신 내용에 대해 답변드리겠습니다.

범주형 데이터를 라벨 인코딩하여 수치형 데이터와 함께 전체 데이터를 학습에 사용하는 것은 일반적인 머신러닝 과정에서 자주 사용되는 접근 방식 중 하나입니다. 이렇게 했을 때, 성능이 더 잘 나왔다는 것은 데이터의 주요 특성을 모두 포함하여 모델을 학습시켰기 때문일 수 있습니다. 각자의 데이터를 이해하는 것이 중요하며, 성능 향상이 있었다면 이는 좋은 징조입니다.

  1. 전체 데이터 사용의 장점: 모델이 더 많은 정보를 학습할 수 있게 되어 성능이 향상될 수 있습니다. 특히 랜덤 포레스트와 같은 앙상블 모델은 다양한 피처에 대해 로버스트한 성능을 발휘할 수 있습니다.

  2. 모델 검증: 모든 피처를 사용하여 모델을 학습한 후에는 교차 검증을 통해 모델이 과적합되지 않았는지 추가적인 검토가 필요합니다.

  3. 성능 측정: 다양한 피처 조합으로 실험해 보는 것이 필요하며, 학습 데이터와 검증 데이터의 분포 차이를 최소화하여 일관된 결과를 얻을 수 있는지를 확인하는 것도 중요합니다.


관련하여 더 많은 정보를 얻고자 한다면, 다음 게시물을 참고하실 수 있습니다:

이러한 설명과 링크들이 변재현님이 실습하시는데 참고가 되셨으면 좋겠습니다.

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

뒤로가기 버튼 같은 것이 있나요?

0

28

1

강의 연장 문의

0

32

1

출력값 질문

0

31

2

수업노트가 어디에 있나요?

0

29

1

실기시험 제출관련

0

160

2

6.20 작업형 2 과적합

0

169

3

코딩팡 장업형2 베이스 라인 인코딩 종류 질문

0

54

2

로지스틱회귀, 회귀

0

52

2

회귀 문제를 풀때 질문입니다.

0

59

1

불균형 처리 후 성능이 더 낮아졌다면,

0

66

2

실기 체험 제2유형 에러 문의

0

66

1

LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요

0

52

2

3번문제 등분산 가정

0

50

2

작업형3 target 형 변환 질문

0

38

2

[작업형1] 연습문제 섹션1 ~ 10 의 section4

0

40

3

원핫인코딩과 레이블 인코딩에서 concat

0

62

2

제2유형 질문입니다.

0

49

2

C()

0

44

2

작업형 2에서 strafity 적용 유무

0

53

2

수강 기간 연장 가능 여부 문의드립니다.

0

63

1

ols

0

44

2

2유형 작성관련 질문(일반 심화)

0

41

2

2유형 작성관련 질문

0

42

2

2유형 object컬럼 개수 다르면

0

49

2