목록부스트코스/프로젝트로 배우는 데이터 사이언스 5
Sangwon Coding
프로젝트 A. 건강검진 정보로 음주여부 분류하기 국민건강보험 건강검진 정보는? 건강검진정보란 국민건강보험의 직장가입자와 40세 이상의 피부양자, 세대주인 지역가입자와 40세 이상의 지역가입자의 일반건강검진 결과와 이들 일반건강검진 대상자 중에 만40세와 만66세에 도달한 이들이 받게 되는 생애전환기건강진단 수검이력이 있는 각 연도별 수진자 100만 명에 대한 기본정보(성, 연령대, 시도코드 등)와 검진내역(신장, 체중, 총콜레스테롤, 혈색소 등)으로 구성된 개방데이터 중 만개의 데이터를 임의로 추출했습니다. 분류로 음주여부 예측하기 건강검진 센터에서 음주여부에 응답을 하지 않는 사람이 있다고 가정합니다. 검진 데이터를 바탕으로 음주여부를 예측한다면 건강한 생활습관을 가이드하는데 도움이 될 것 입니다. 분..
1. Random Forest 트리를 앙상블 기법(여러 기법을 섞어서 사용하는 기법)에 사용할 수 있습니다. Random Forest는 샘플링하여 여러 데이터를 만들며, 이 샘플은 부트스트랩이라고 합니다. 이를 통해 오버피팅을 방지할 수 있습니다. 2. Gradient Boosting boosting은 트리에 가중치를 부여합니다. RamdomSearchCV를 사용해서 여러 알고리즘 속에 최적의 하이퍼 파라미터를 찾아봅니다. 맨 위에서부터 차례대로 높은 정확도를 가집니다.
여러가지의 모델성능 개선 방법을 알 수 있었습니다. 1. Feature Engineering 2. One Hot Encoding 3. 결측치 값 대체하기(평균값, 중앙값) 4. 수치형 변수 정규분포 형태로 만들기(log) 5. 상관분석을 통해 파생변수 만들기 6. 이상치 다루기 7. Feature Scaling 최종적으로는 71%였던 정확도가 90%까지 올랐습니다. 이 개선한 데이터 셋을 다시 CSV파일로 저장하였습니다.
데이터는 지난 번 모델 기초 포스트에서 사용한 당뇨병 데이터 셋을 사용하였습니다. subplot, distplot을 통해 모든 항목이 각각 당뇨병 결과에 영향을 끼치는지 한눈에 알아볼 수 있습니다. 이제 상관계수를 계산합니다. 대각선은 자기자신이므로 1이고, 수치에 따라 다른 색상을 볼 수 있습니다. 글루코스와 Outcome 값이 상관관계가 높은 것으로 나타납니다. 인슐린과 Outcome은 상관관계가 높지 않습니다.
의사결정나무 알고리즘으로 간단한 분류 예측 모델을 만들었습니다. 데이터 셋은 당뇨병 데이터셋을 사용하였습니다. https://www.kaggle.com/uciml/pima-indians-diabetes-database Pima Indians Diabetes Database Predict the onset of diabetes based on diagnostic measures www.kaggle.com 실제 정답과 예측한 정답의 차를 합하여 diff_count 변수에 넣습니다. 전체 중에서 44개가 정답과 다릅니다. 모델의 옵션에서 다양한 값들이 랜덤하게 들어가므로 수치가 다를 수 있습니다. 71%의 예측도를 보입니다.