inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

해결된 질문

64

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

26

1

강의 연장 문의

0

30

1

출력값 질문

0

29

2

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

0

29

1

실기시험 제출관련

0

160

2

6.20 작업형 2 과적합

0

169

3

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

0

52

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

62

1

ols

0

44

2

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

0

41

2

2유형 작성관련 질문

0

42

2

2유형 object컬럼 개수 다르면

0

49

2