inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

작업형2 코드

해결된 질문

66

tjwngml9110

작성한 질문수 2

0

 

이렇게 작성해도 감점 없을까요? 영상에 나온 rmse 값보다 훨씬 작습니다. (저는 rmse : 816.38 나옵니다)

 

# 2. 탐색적 분석 / 결측치 채우기 # 환불금액

# print(train.info())

# print(train.head(3))

# print(train.isnull().sum())

# print(test.isnull().sum())

a = int(train['환불금액'].mean())

# print(a)

train['환불금액'] = train['환불금액'].fillna(a)

test['환불금액'] = test['환불금액'].fillna(a)

train = train.drop('주구매상품',axis=1)

test = test.drop('주구매상품',axis=1)

# print(train.isnull().sum())

# print(test.isnull().sum())

# 3. 인코딩

target = train.pop('총구매액')

# print(target)

train = pd.get_dummies(train)

test = pd.get_dummies(test)

# print(train.info())

# print(test.info())

# 4. 분할

from sklearn.model_selection import train_test_split

x_t, x_v, y_t, y_v = train_test_split(train, target, test_size = 0.2, random_state = 0)

# 5. 학습

from sklearn.ensemble import RandomForestRegressor

model = RandomForestRegressor(random_state = 0)

model.fit(x_t, y_t)

pred = model.predict(x_v)

# 6. 평가 - 816.38

from sklearn.metrics import root_mean_squared_error

rmse = root_mean_squared_error(y_v, pred)

print(rmse)

# 7. 예측

pred = model.predict(test)

# 8. 제출

submit = pd.DataFrame({'pred':pred})

submit.to_csv("result.csv", index=False)

result = pd.read_csv("result.csv")

print(result)

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

답변 2

1

퇴근후딴짓

큰 문제 없어 보입니다 🙂 응원합니다 !!! 화이팅!

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. tjwngml9110님의 질문에 답변드리겠습니다.

작성하신 코드를 살펴보니, 데이터 전처리 과정과 머신러닝 모델 학습 및 평가라는 측면에서 크게 문제는 없어 보입니다. 하지만 몇 가지 고려해볼 점이 있어 말씀드립니다.

주요 검토 사항:

  1. 결측치 처리 방법:

    • 결측치를 채울 때, 환불금액의 평균을 사용하여 결측치를 처리하셨습니다. 이 방법은 나쁘지 않지만, 결측치가 많은 경우 평균 대신 중앙값을 사용하거나, 다른 피처들과의 관계를 고려한 방법도 고려해 볼 수 있습니다.
  2. 특징 선택과 드롭:

    • ‘주구매상품’ 컬럼을 드롭하였는데, 이 결정이 모델 성능에 미치는 영향을 확인할 필요가 있습니다. 이 변수가 중요한 예측 변수일 경우, 그것을 드롭함으로써 성능이 떨어질 수 있습니다.
  3. 모델 선택:

    • RandomForestRegressor를 사용하셨는데, 이 모델은 일반적으로 다양한 데이터에 좋은 성능을 보여주지만, 데이터의 특성에 따라 다른 모델(e.g., GradientBoosting, XGBoost)도 고려해 볼 수 있습니다.
  4. 모델 평가지표:

    • root_mean_squared_error 함수를 사용하는 부분에서 인식 오류가 있을 수 있습니다. sklearn.metrics에서 제공하지 않는 함수로 보입니다. RMSE는 보통 mean_squared_error를 사용하고 그 제곱근을 계산하여 얻습니다.
    from sklearn.metrics import mean_squared_error
    rmse = mean_squared_error(y_v, pred, squared=False)
    print("RMSE:", rmse)
    

유사한 질문의 참고자료:

  • 기출문제 풀이와 예제 설명이 포함된 유사한 게시글에서 도움을 받을 수 있습니다:

현재 RMSE 값(816.38)이 강의에서 제시된 것과 차이가 있다는 부분은 전처리 과정이나 데이터 셋 자체 차이 때문일 가능성이 높습니다. 위에서 언급한 부분들을 점검하여 결과를 비교해 보시길 권장드립니다.

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

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

0

14

1

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

0

10

1

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

0

21

2

이상치 전처리 작업

0

25

2

평가결과값 문의

0

29

2

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

0

35

2

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

0

27

2

작업형 2 기출7회분에서

0

38

2

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

0

34

2

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

0

42

2

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

0

30

2

작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?

0

50

2

작업형 1 -연습문제 4-6

0

38

2

작업형 1 유형 부분

0

42

2

작업형 1 (삭제예정, 구 버전)

0

51

2

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

0

38

2

2유형 레이블 인코딩 VS 원핫 인코딩

0

37

3

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

0

44

2

인덱스 슬라이싱

0

37

2

질문 드립니다.

0

50

2

강의 내용 관련 질문드립니다~

0

46

2

수강 연장 문의

0

63

2

강의자료 일괄 다운로드

0

62

2

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

0

48

2