데이터분석 과정/데이터 분석

데이터분석 실습 | 당뇨병에 가장 영향을 미치는 요인은 무엇일까?

ANNASENA 2024. 1. 21. 10:29
728x90

 

0. 가설설정

 

▶ 가설: 당뇨병 발병에 가장 큰 영향을 미치는 요소는 글루코스(혈당) 수치일 것이다.

애리조나 사막지역 원주민인 피마 인디언은 세계에서 당뇨병 발병률이 가장 높은 종족으로 조사됨

피마 인디언은 환경적 영향으로 인해 조금만 먹어도 생존할 수 있도록 음식을 축적하는 유전자를 가지고 있음

하지만 식생활의 서구화로 비만을 초래하면서 각종 성인병에 걸리게 됨

당뇨병 발병에 가장 큰 영향을 미치는 요소는 무엇일까?


1. 분석할 데이터 가져오기

 

▶ 판다스 라이브러리 가져오기

import pandas as pd

 

▶ 당뇨병(diabetes) 데이터 가져오기

diabetes = pd.read_table('/content/diabetes.csv', sep = ',')

 

  • Pregnanices : 임신 횟수
  • Glucose : 포도당 부하 검사 수치
  • BloodPressure : 혈압(mm Hg)
  • SkinThickness : 팔 삼두근 뒤쪽의 피하지방 측정값(mm)
  • Insulin : 혈청 인슐린(mu U/ml)
  • BMI : 체질량지수(체중(kg)/키(m))^2
  • DiabetesPedigreeFunction : 당뇨 내력 가중치 값
  • Age : 나이
  • Outcome : 당뇨병에 걸렸으면 1, 아니면 0

2. 데이터 전처리하기

 

▶ null 값 세보기

: .isnull().sum()

diabetes.isnull().sum()

diabetes.head()

>> null 값이 없음

 

▶ null 값이 있는 경우 없애주기

: .dropna()

diabetes = diabetes.dropna()

3. 데이터 분석하기

 

▶ 각 요인들 간 상관관계 구하기

: corr(method = ' ')

corr_dia = diabetes.corr(method = 'pearson')

 

▶ Outcome - Outcome과의 상관관계 없애기

: 여기에서 Outcome은 당뇨병에 걸린 유무를 나타내고 있는데

다른 요인들과 Outcome의 상관관계 수치를 보고싶은 거지 Outcome끼리의 상관관계를 보고싶은 게 아니므로 Outcome이 1이 아닌( != 1 즉, 자기 자신이 아닌) 수치를 제외해줌

corr_dia = corr_dia[corr_dia.Outcome != 1]

>> 다른 요인들과 Outcome과의 상관관계를 나타내고 있는 맨 오른쪽 ['Outcome'] 컬럼을 시각화하면 됨

 


4. 데이터 시각화하기

 

▶ ['Outcome'] 컬럼 시각화

import matplotlib.pyplot as plt

corr_dia['Outcome'].plot.bar()

 

▶ x축 글자 각도 트는 법

:  xticks(rotation = 원하는 각도)

plt.xticks(rotation = 60)

5. 최종 결론

 

▶ 결론

당뇨병을 유발하는 가장 큰 요인은 Glucose(혈당) 수치였다.

그 다음은 BMI 지수(비만도)Age(나이)가 뒤를 이었다.

728x90