inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

후속 질문2 드립니다!

161

밍블리

작성한 질문수 6

0

train, test 데이터셋을 나눌 때 stratify=y_df 옵션을 넣어줬더니 0.85 에서 정확도가 확연히 상승되었습니다!

1. 이 경우 train데이터와 test데이터의 타겟값의 비율이 이전에는 상당히 왜곡되어 있었기 때문에 정확도가 낮았던걸로 이해하면 될까요?

2. 주어진 전체 데이터의 타겟 비율은 A, B, C로 쳤을 때 각각 60%, 30%, 10%(대략적인 값입니다) 정도 됩니다. 여기서 정확도를 더 높이기 위해 필요한 작업이 있을까요?

3. LGBM을 사용할 때 제가 위에 써놨다시피 n_estimators 를 높일수록 정확도가 높아지는데, 여기서 궁금한 점이 early stopping(=100 정도일때)으로 멈추는 시점까지는 n_estimators 를 높여도 되는걸까요? 위의 경우 7245에서 early stopping이 되어서 더이상 n_estimators를 높이지 않았습니다. 이 경우 과적합의 우려가 있는지 궁금합니다.

4. 책과 강의에서는 learning_rate를 낮출수록 정확도가 높아진다고 하셨는데 제가 실습해본 결과 0.1에서 0.01로 낮추면 정확도가 현격히 떨어지는 것을 보았습니다 ㅠㅠ 제가 잘못 이해한걸까요?

python 머신러닝 배워볼래요? 통계

답변 1

0

권 철민

안녕하십니까,

1. 네, 지난 질문에서 성능이 저하된 이유는 학습과 테스트 데이터의 타겟값 비율이 서로 맞지 않아서 인것 같습니다.

2. 타겟 비율로 정확도를 더 높일 작업은 없습니다. 다만 정확도를 지표를 사용할 경우 C가 10% 정도이므로 A, B 두개로만 정확도를 맞추고 C는 포기해도 90%가 나옵니다. 재현율등의 다른 지표도 사용해서 모델 성능 검증을 고민해볼 필요도 있습니다.

3. n_estimators를 더 크게 늘려도 상관 없습니다.  보통은 수행하신 대로 n_estimators를 크게 하고 early stopping으로 조정합니다.

4. 일반적으로 learning_rate를 작게하고(0.01 정도), n_estimators를 크게하면 조금이라도 성능이 증가할 여지가 있습니다. learning_rate를 크게하고 n_estimators를 줄이면 좀 더 빠르게 수렴하면서 조금 최적화에 못미칠때가 있습니다. 하지만 learning_rate의 차이로 인해 크게 성능 영향을 받지는 않습니다(최적이냐, 아니냐 정도입니다)

그런데 learning_rate가 0.1에서 0.01로 줄였는데 확연하게 차이가 난다면 살짝 다른 요인을 의심해 봐야 할 수도 있습니다. 먼저 learning_rate가 0.1인데 n_estimators가 7245번째에서 최적화 되었습니다. 7245회 이상 굉장히 많이 iteration을 수행하면서 loss를 계속 줄였는데, 보통은 0.1 정도면 그 이전에 어느정도 수렴을 하는 경향이 있습니다(제 예상엔 1000 이하정도?). 최적화에 달하는데 너무 오랜 iteration이 걸립니다. 전체 소스나 데이터를 제가 볼수 없기 때문에 정확한 원인은 찾기 어렵지만 0.01로 줄였다면 iteration도 훨씬 많이 필요합니다. n_estimators를  20,000정도로 더 늘려 보십시요. 그리고 결과 update 부탁드립니다.

안녕하세요 열심히 수강중인 학생입니다

0

61

2

정수 인덱싱

0

68

2

넘파이 오류

0

85

2

11강 numpy의 axis 축 질문 드립니다.

0

85

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

79

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

70

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

64

2

5강 강의 오류가 있어요.

0

84

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

72

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

69

3

파이썬 다운그레이 후 사이킷런 재설치

0

117

2

좋은 강의 감사합니다.

0

72

2

scoring 함수 음수값

0

67

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

100

2

분류 평가 정확도 예측

0

76

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

98

1

카카오톡 채널 있나요

0

107

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

189

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

172

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

147

2

실루엣 스코어..

0

85

2

float64 null 값 처리 방법

0

102

2