inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

평가 실습 - 피마 인디언 당뇨병 예측

피미 인디언 당뇨병 예측 관련 질문

해결된 질문

351

신봉균

작성한 질문수 2

1

교수님 안녕하십니까
교수님의 수업을 정말 즐기면서 듣고있는 AI빅데이터 전공 대학생입니다.

교수님의 강의 피마 인디언 당뇨병 예측 편을 보고 여태 배운 것을 백분 활용하여 제 방식대로 따로 모델을 구현을 해보았는데요.

먼저 임신횟수와 Outcome을 제외한 나머지 column들에 있는 0 값들은 모두 결측치로 판단하고 평균 값으로 대체하였습니다.
RandomForestClassifier 알고리즘을 사용하고 GridSearchCV 함수를 통해 best estimator를 추출였습니다.
정밀도와 재현율이 동시에 높으면 좋지만 재현율이 증가하면 정밀도가 하락하는 현상(trade-off) 때문에 둘 중 하나를 선택해야 했고 이 피마 인디언 당뇨병 데이터 셋 같은 경우 병의 발견 목적으로 모델을 제작한다고 했을 때 실제로 당뇨병인데 모델이 당뇨병이 아니라고 예측하는 것이 치명적이라고 생각하여 정밀도 보다는 재현율을 중점적으로 보았습니다.
그리하여 precision_recall_curve 함수를 통해 최적의 재현율과 F1_score얻은 threshold 값을 추출하였습니다.

 

제가 얻은 값은
오차 행렬 [[72 28] [ 4 50]] 정확도: 79.22% , 정밀도: 64.10% , 재현율 92.59%, F1_Score: 75.76%
임계값: 0.32212471005503873

입니다. 오차 행렬을 보았을때도 한쪽에 치우쳐있는 불균형도 없다고 판단하였고 정밀도와 재현율 f1_score도 괜찮게 나왔다고 판단했습니다.

임계값을 0.32212471005503873로 주었을 때 roc_auc_score는 0.82296이라는 1에 꽤나 근접한 수치를 얻었습니다.

질문1:

이런식으로 모델을 찾아가는 방식이 옳은 방식인지 궁금합니다.

질문2:
제가 선택한 모델을 사용한다고 한다면 매번 RandomClassifier로 fit한 model을 Binarizer을 통해서 threshold 값을 매번 지정해주어야 하는건가요? 애초에 처음 모델을 fit할 때 임계값을 제가 부여는 못하는 것일가요?

python 머신러닝 통계

답변 1

1

권 철민

안녕하십니까,

오, 잘듣고 계시다니 저도 기분이 좋습니다.

  1. recall을 위해서 임계치를 낮추는 것은 모델 성능 향상을 위한 한 방법이지만, 지나치게 낮추지 않도록 조심해야 합니다. precision이 확 떨어지는 구간이 존재하기 때문입니다. 저는(경험적으로) 가능한 0.4 이하로는 떨어뜨리지 않으려 합니다.

  2. 이게 학습 시 임계치를 동적으로 변경하는게 아니라, 예측 시에 임계치를 변경해서 판별하는 방식입니다. 때문에 fit()으로 할 수 없고, 모델 예측 시마다 임계치를 변경 적용해 줘야 합니다.

감사합니다.

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

23

2

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

0

66

2

정수 인덱싱

0

71

2

넘파이 오류

0

87

2

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

0

89

2

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

0

80

2

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

0

71

2

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

0

76

2

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

0

65

2

5강 강의 오류가 있어요.

0

86

1

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

0

74

2

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

0

70

3

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

0

122

2

좋은 강의 감사합니다.

0

75

2

scoring 함수 음수값

0

68

2

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

0

104

2

분류 평가 정확도 예측

0

80

2

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

0

100

1

카카오톡 채널 있나요

0

110

1

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

0

191

2

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

0

102

2

주피터 대신 구글 코랩

0

174

2

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

0

149

2

실루엣 스코어..

0

87

2