inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

5회 작업형2 질문있습니다.

해결된 질문

628

류한민

작성한 질문수 4

0

import pandas as pd
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
# print(train.shape,test.shape)
# print(train.head())
# print(test.head())
# print(train.isnull().sum())
# print(test.isnull().sum())
# print(train.describe(include='object'))
# print(test.describe(include='object'))
target = train.pop('price')
from sklearn.preprocessing import LabelEncoder
cols = ['model']
for col in cols:
  le = LabelEncoder()
  train[col] = le.fit_transform(train[col])
  test[col] = le.transform(test[col])
# print(train.head())
train = pd.get_dummies(train)
test = pd.get_dummies(test)
# from sklearn.preprocessing import MinMaxScaler
# cols = ['year','mileage','tax','mpg','engineSize']
# scaler = MinMaxScaler()
# train[cols] = scaler.fit_transform(train[cols])
# test[cols] = scaler.transform(test[cols])
# print(train.head())
# 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=2023)
# from sklearn.ensemble import RandomForestRegressor
# model = RandomForestRegressor(random_state=2023,max_depth=5,n_estimators=200)
# model.fit(X_tr,y_tr)
# pred = model.predict(X_val)
# print(pred)
import lightgbm as lgb
model = lgb.LGBMRegressor(random_state=2023,max_depth=5,n_estimators=200)
model.fit(X_tr,y_tr)
pred = model.predict(X_val)
from sklearn.metrics import mean_squared_error
print(mean_squared_error(y_val,pred)**0.5)
pred = model.predict(test)
pd.DataFrame({'pred':pred}).to_csv("result.csv",index=False)
pd.read_csv("result.csv")
  1. model의 unique개수가 19개로 많아서 model만 라벨인코딩한 후 나머지는 원핫인코딩으로 진행했는데 위의 코드처럼 하는게 맞을까요?

  2. 수치형에서 minmax사용했을 때, 별 차이가 없으면 범주형 인코딩만 진행해도 될까요? 아니면 범주형은 필수이고 수치형은 선택이니, 굳이 안해봐도 될까요?

  3. lightgbm을 사용했을때 값은 나오지만 아래와 같은 오류도 같이 출력됩니다. 무슨 문제인가요?

    [LightGBM] [Warning] No further splits with positive gain, best gain: -inf

  4. learning_rate는 lightgbm에만 쓸 수 있는건가요? 랜덤포레스트에서 사용시 오류가 뜹니다.

  5. max_depth는 3~7, n_estimators는 200~800사이로 하는게 맞나요?

  6. 실습환경을 보면 데이터가 자동으로 불러와져있는데, 실제 시험에서도 자동으로 불러와져있나요? 아니면, 데이터 저장 위치를 알려주나요?

  7. 작업형1,2,3 모두 제출은 여러번 가능하고 마지막으로 제출한 값이 저장되는게 맞나요?

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

답변 1

0

퇴근후딴짓

1 네 잘 풀이 한 것 같아요

2 네 스케일링은 선택이에요! 인코딩은 필수 입니다.

3 모델이 더 이상의 유의미한 분할을 찾지 못했다는 것을 의미합니다. 이는 일반적으로 모델이 충분히 학습되었거나, 데이터에 더 이상 학습할 정보가 없음을 나타냅니다. 이 경고는 성능에 크게 영향을 미치지 않으므로 걱정할 필요는 없습니다.

4 네 부스팅 계열에만 있습니다 랜덤포레스트에는 없는 파라미터입니다.

5 분류일 때 예를 들어서 설명했습니다. 회귀는 max_depth가 제 경험으로는 더 컷습니다.(7~15) 그런데 경험적인 수치일 뿐 데이터에 따라 달라지니 참고로 범위는 생각해주세요. 성능이 개선되지 않는데 무리하게 튜닝할 필요 없습니다.

6 지금까지는 불러오는 코드는 작성되어 있었어요

7 네 맞습니다 그래서 한 번 더 풀고 다시 제출하지 않는 경우도 간혹 있으니 주의해주세요!!

 

합격 응원합니다 🙂

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

0

18

1

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

0

21

1

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

0

19

1

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

0

44

2

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

0

32

2

작업형 1 유형 부분

0

39

2

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

0

50

2

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

0

35

1

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

0

36

3

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

0

38

1

인덱스 슬라이싱

0

35

2

질문 드립니다.

0

49

2

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

0

46

2

수강 연장 문의

0

63

2

강의자료 일괄 다운로드

0

58

2

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

0

47

2

list 문제 질문드립니다~

0

38

2

빅분기 실기 12회 재도전

0

62

2

강의 기간 연장 가능여부 검토 요청건

0

49

2

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

0

45

2

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

0

52

2

질문이요

0

57

2

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

0

60

2

문제 3-2 질문드립니다

0

47

2