순서대로 임신횟수,혈당량,혈압,삼두에서 측정한 피부의 두께,인슐린 농도,BMI지수, 당뇨 유전력,나이,당뇨 예측 변수이며 1이면 5년이내 발병 아니면 0이다.
위에 히스토그램을 차례대로 보면 임신 횟수에서 이상점이 있는 것을 볼 수 있다. 또한 혈당치를 보면 0인 환자도 있는데 혈당이 0인 경우는 불가능인 것으로 보아 이는 결측값일 확률이 높다. 혈압도 앞과 마찬가지로 0인 경우는 불가능하다. BMI지수도 0인 환자가 있는 것으로 보아 이 경우도 결측값일 확률이 있다.
점선이 당뇨환자를 나타낸다. 밀도 차트를 보면 혈당치와 나이,BMI가 두 집단간에 차이가 있음을 볼 수 있다. 하지만 혈압이나 피부 두께는 두 집단이 서로 비슷함을 알 수 있다.
데이터 전처리리 위해서 우선 데이터에 결측치가 있는지 확인한다.
위에 기술 통계량을 살펴보면 인슐린,혈압,피부두께,BMI,혈당량이 0이 min으로 나타낸 것을 볼 수 있다. 하지만 이 값들은 0이 될 수 없으니 해당되는 행들을 처리해야한다.
각 열들의 값중 0인 것들의 갯수를 세어보았다. 삭제를 하기에는 인슐린을 나타내는 칼럼이 데이터의 절반정도이니 이러면 모델 성능이 저하된다.
이러한 경우에는 처리하는 방법들
결측치 행들을 제거
평균 or 중앙값 혹은 최빈값으로 대체
다른 머신 러닝 모델을 사용해서 예측
여기에서는 평균으로 대체한다. 그러기 위해서 0을 우선 Nan으로 바꾼다.
처리후
처리후에 통계량 확인
머신 러닝을 위해서 데이터를 표준화 시킨다.
원본에서 80%를 훈련셋 20%를 테스트로 나눈다. 그리고 또 이 훈련 데이터셋에서 80%를 훈련 데이터 셋으로 20%는 검증 데잍터셋으로 나눈다.