inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

5회 기출유형 (작업형2)

점수차가 많이 나는데 따로 하신게 있으신가요?

해결된 질문

44

anycallkjs

작성한 질문수 3

0

안녕하세요 선생님

선생님 인강 보면서 기출을 풀어보면서 시험에 대비하고 있습니다.

근데 기출 5회에서 2유형 선생님의 baseline과 제 baseline 수치가 너무 달라서 이렇게 Q&A를 보냅니다.

선생님 baseline(랜포)은 1296이 나오는데 제가 한 baseline(랜포)은 1400대가 나옵니다
혹시 제가 뭘 잘 못한게 있는지 궁금합니다
아래는 제가한 코드입니다!

#eda

print('\n====데이터 크기=====')
print(train.shape,test.shape)

print('\n====데이터 정보=====')
print(train.info())

print('\n====train 결측치=====')
print(train.isnull().sum())

print('\n====test 결측치=====')
print(test.isnull().sum())

print('\n====카테고리=====')
cols=train.select_dtypes(include='O').columns
for col in cols:
  set_train=set(train[col])
  set_test=set(test[col])
  same=set_train==set_test
  if same:
    print(col,'O')
  else:
    print(col,'X')

print('\n====타겟 기초 =====')
print(train['price'].describe())

# 전처리
target=train.pop('price')
train=pd.get_dummies(train)
test=pd.get_dummies(test)
# print(train.shape,test.shape)

#검증
from sklearn.model_selection import train_test_split
X_tr,X_val,y_tr,y_val=train_test_split(train,target,test_size=0.2,random_state=42)
print(X_tr.shape,X_val.shape,y_tr.shape,y_val.shape)

# rf
from sklearn.ensemble import RandomForestRegressor
rf=RandomForestRegressor(random_state=42)
rf.fit(X_tr,y_tr)
pred=rf.predict(X_val)

#학습
from sklearn.metrics import root_mean_squared_error
print('===rf===')
print(root_mean_squared_error(y_val,pred))

#lg
import lightgbm as lgb
lg=lgb.LGBMRegressor(random_state=42,verbose=-1)
lg.fit(X_tr,y_tr)
pred=lg.predict(X_val)
print('==lg==')
print(root_mean_squared_error(y_val,pred))

#lr
from sklearn.linear_model import LinearRegression
lr=LinearRegression()
lr.fit(X_tr,y_tr)
pred=lr.predict(X_val)
print('==lr==')
print(root_mean_squared_error(y_val,pred))

#결과
pred=lg.predict(test)
submit=pd.DataFrame({'pred':pred})
submit.to_csv('result.csv', index=False)

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

답변 2

0

퇴근후딴짓

안녕하세요! 코드에 전혀 문제 없습니다.

시험에서 제공하는 데이터 그리고 제가 제공한 데이터가 빅데이터가 아니라

매우 작은 데이터라 파라미터 값에 영향을 받는 경향이 있는데

원인을 찾자면 강의에서 사용한 random_state 값이 운이 좋게도 2022가 더 낮은 결과를 보여줬네요

그렇다고 random_state 변경하는 연습은 무의미 해요! (한 두번만 변경해보는건 좋아요)

우리가 사용한 검증데이터라서 그렇지 테스트 데이터에서는 또 달라질 수 있고 알 수 없는 영역이라

지금 하던대로 진행해 주시면 됩니다.

 

GPT가 42를 주로 많이 사용하더라고요 🙂

 

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. anycallkjs님께서 작성하신 코드와 선생님께서 제시하신 baseline 값의 차이로 인해 고민이 있으시군요. 이런 경우에는 여러 가지 요인들이 RMSE (Root Mean Squared Error) 값에 영향을 줄 수 있습니다. 다음은 점검해 보면 좋을 몇 가지 사항입니다:

  1. 데이터 전처리:

    • 코드에서 pd.get_dummies() 함수를 사용하여 범주형 변수를 인코딩하고 있으나, train 데이터와 test 데이터가 각각 다른 범주를 가질 수 있다는 점을 염두에 두어야 합니다. 동일하게 맞춰주셨는지 확인해보고, 필요시 두 데이터셋을 합친 후 다시 인코딩을 적용해보세요.
  2. 결측치 처리:

    • 데이터셋 내부에 존재하는 결측치를 어떻게 처리했는지가 중요한데요, train과 test 데이터셋에서 결측치를 체크한 후 동일한 방법으로 처리했는지 확인이 필요합니다.
  3. 모델 하이퍼파라미터:

    • RandomForestRegressor의 하이퍼파라미터가 기본값으로 설정되어 있어서 결과 차이가 발생할 수 있습니다. n_estimators, max_depth, min_samples_split 등 특이사항이 없는지 확인해보세요.
  4. 평가 지표 함수:

    • 코드에서 사용한 root_mean_squared_error 는 기본 제공되는 sklearn의 함수가 아닙니다. 일반적으로 sklearn.metrics.mean_squared_error 로부터 RMSE를 계산할 수 있습니다. 아래 코드를 참고하세요:
    from sklearn.metrics import mean_squared_error
    rmse = mean_squared_error(y_val, pred, squared=False)
    print("RMSE:", rmse)
    

위 사항들을 하나씩 점검해보시면 모델 성능 차이의 원인을 파악하는 데 도움이 될 것입니다. 이와 관련한 유사한 질문이 있던 게시물을 추천드리니 참조하시기 바랍니다:

이 질문에서는 데이터 처리 및 모델 평가 하면서 발생할 수 있는 변수형 성능 영향에 대해 다루고 있습니다.

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

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

0

4

1

작업형1 - 연습문제 1번 관련 질문입니다.

0

29

2

강의 자료 16~39 관련

0

38

2

데이터 전처리 시 문의

0

40

2

random_state 값

0

35

2

인코딩 사용여부

0

44

2

인코딩 전 데이터 합치기 질문드립니다!

0

40

1

섹션5. 회귀 강의 관련 질문드립니다

0

43

2

수강기간연장 문의드립니다

0

49

2

수강 연장 문의

0

46

2

label 인코딩 에러 발생 원인

0

43

2

LabelEncoding 시 train data 학습(fit_transform, transform)

0

43

2

로지스틱 회귀분석은 옛날거 밖에 없나요?

0

49

2

판다스 표 표시

0

36

3

1유형 강의 다 나간 후 어떻게 할까요?

0

44

2

작업형1 모의문제 4번에 3)문제 질문

0

40

2

이상치 전처리 작업

0

47

2

평가결과값 문의

0

35

2

시계열 데이터 날짜와 시간 format

0

46

2

평가지표 F1 스코어 질문드립니다.

0

33

2

작업형 2 기출7회분에서

0

45

2

작업형2 모의문제1 (30강)

0

37

2

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

0

55

2

수강 계획과 관련해 문의 드립니다.

0

38

2