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

    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

    댓글