2020.09.17
[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 39회차 미션
개념을 다 배우면 빠질 수 없는 시각화! 이번시간에 배운 시각화는 38회차에서 배운 의사나무 모형을 더 세부적으로 시각화한 것 같이 느껴졌다.
시각화를 위해서는 export_graphviz를 코딩식에 넣어야한다.
dtc 0번 5번 → 트리로 분류된 개수? 데이터가 복잡할 수록 이 depth가 많아진다.
Value에 보면 41,39,32의 데이터 개수가 나온다. 위의 예제에서 x의 3번째칼럼이 0.8보다 작으면 왼쪽으로 분리되고, 그렇지 않으면 오른쪽으로 가서 다른 기준으로 또 분리됨이 진행된다.
gini갯수는 경제학에서 말하는 그 지니계수가 아니라, 데이터가 얼마나 혼합되어있는지 불순도를 보여주는 수치로, 위의 예시에서 첫번째에는 0.663으로 불순도가 높으나 true로 분리된 후에는 불순도가 0으로 분류가 완료되었음 보여준다.
❗ 과적합 되는 경우가 있기 때문에, max_depth로 n번째에서 분류가 될 수 있도록 따로 지정해줄 수 있기도 하다.
from sklearn.tree import export_graphviz
from subprocess import call
def graph_tree(model):
# .dot 파일로 export 해준다.
export_graphviz(model, out_file='tree.dot')
# 생성된 .dot 파일을 .png로 변환
call(['dot', '-Tpng', 'tree.dot', '-o', 'decision-tree.png', '-Gdpi=600'])
# .png 출력
return Image(filename = 'decision-tree.png', width=500)
graph_tree(dtc)
강사님께서 암환자의 데이터로 설명을 해주셨는데, 양성환자 음성환자 데이터를 같이 예측했을 때보다 의사가 어떠한 목적으로 양성환자 데이터를 다 제외하고 음성환자 데이터만 가지고 예측을 했을때 정확도가 높아지지만, 실제로 이렇게 환자들을 속이면 안되겠죠..?
model = LogisticRegression()
model.fit(x_train, y_train)
pred = model.predict(x_test)
(pred == y_test).mean()
my_prediction = np.ones**(shape=y_test.shape**) (my_prediction == y_test).mean()
정확도의 함정❓
데이터가 특정 클래스에서 많이 분류 되었을 때 정확도는 높을 수 있기 때문에 정확도만 보고 분류기의 성능을 판별하면 '정확도의 함정'에 빠질 수 있다. 다음시간에는 이 정확도 함정을 보완할 다른 기준을 배우기로 했다.!
시각화
정확도의 함정
04. Part1 24강, 25강 수강완료!✊
[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 41회차 미션 (0) | 2020.09.19 |
---|---|
[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 40회차 미션 (0) | 2020.09.18 |
[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 38회차 미션 (0) | 2020.09.16 |
[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 37회차 미션 (0) | 2020.09.15 |
[패스트캠퍼스 수강 후기] 데이터분석 강의 100% 환급 챌린지 36회차 미션 (0) | 2020.09.14 |
댓글 영역