inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

8회 작업형2

해결된 질문

50

김범준

작성한 질문수 2

0

train = train.drop('customerID', axis=1)
test = test.drop('customerID', axis=1)
target = train.pop('TotalCharges')

train = pd.get_dummies(train)
test = pd.get_dummies(test)

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=0)
print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)

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

from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_val, pred)
print(mse)

pred = rf.predict(test)
result = pd.DataFrame({'pred':pred})
result.to_csv('result.csv', index=False)
print(pd.read_csv('result.csv'))

print(pd.read_csv('result.csv').head())
print(pd.read_csv('result.csv').shape)

원핫인코딩, 랜덤포레스트로 진행했는데

mse 값이

1561363.7676789626

크게 나오는데 이렇게 진행해도 괜찮을까요?

제출파일의 pred값을 확인해보면 선생님이 하셨던 라벨인코딩, lgbm pred 예측값과는 차이가 별로 나지는 않습니다

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

답변 2

0

퇴근후딴짓

네 정상입니다 🙂

0

인프런 AI 인턴

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

진행하신 코드에 대해 피드백 드리겠습니다. 현재 코드는 RandomForestRegressor를 사용하여 예측을 수행하고 있으며, 데이터 전처리에서 범주형 변수를 원-핫 인코딩하는 과정을 포함하고 있습니다. 주요한 코딩 부분에서는 큰 문제 없이 잘 처리되어 있습니다.

MSE가 큰 이유:
- Mean Squared Error (MSE)는 예측 값과 실제 값의 차이를 제곱해 평균한 값으로, 높은 값은 예측 모델이 실제와 많이 다르다는 것을 의미합니다. 이는 다양한 요인에 의해 발생할 수 있습니다.

  1. 데이터 스케일:

    • TotalCharges 변수의 값이 상당히 큰 경우, MSE 역시 더 커집니다. 예측 대상의 범위를 확인하여 필요하다면 피처 스케일링(예: StandardScaler 또는 MinMaxScaler)을 테스트해 볼 수 있습니다.
  2. 파라미터 조정:

    • RandomForestRegressor의 하이퍼파라미터를 튜닝하여 성능을 향상시킬 수 있습니다. 예를 들어, 트리의 개수, 분할 규칙 등을 조정하여 개선을 시도할 수 있습니다.
  3. 모델 변경:

    • LGBMRegressor와 같은 다른 머신러닝 모델을 사용하여 성능을 비교할 수 있습니다. 실제로 lgbm에서 더 나은 결과를 제공할 수도 있으며, 이를 통해 어떤 모델이 해당 데이터에 적합한지 파악할 수 있습니다.

관련된 게시물을 추천드리니, 코드와 과정에서 도움을 받으시길 바랍니다:
- 작업형2 모의문제2: 원-핫 인코딩 및 모델 선택에 관한 문제를 다루고 있습니다.
- 시험환경 ver.2025 작업형2 RMSE: 데이터 전처리 및 결과 개선에 대한 논의가 포함되어 있습니다.

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

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

0

27

1

강의 연장 문의

0

31

1

출력값 질문

0

31

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

63

1

ols

0

44

2

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

0

41

2

2유형 작성관련 질문

0

42

2

2유형 object컬럼 개수 다르면

0

49

2