Skip to content

An-Dongsun/Section3-Project

Repository files navigation

Section3-Project

발표영상

Video Label

🎯 해결하고자 하는 문제

🎯 Main : 새로운 환자의 설문조사 결과를 바탕으로 당뇨병의 유무를 파악한다.

☑️ 주제 선정 이유

  • 당뇨병은 개인이 혈액 내 포도당 수준을 효과적으로 조절하는 능력을 상실하고 삶의 질과 기대 수명을 감소시키는 심각한 만성 질환이다.

  • 심장병, 시력 상실, 하지 절단 및 신장 질환과 같은 합병증은 당뇨병 환자의 혈류에 만성적으로 높은 수준의 당이 남아 있는 것과 관련이 있다.

  • 당뇨병을 완치할 수 있는 방법은 없지만 체중 감량, 건강한 식사, 활동적 생활 및 치료를 받는 것과 같은 전략은 많은 환자에서 이 질병의 피해를 완화할 수 있다.

  • 따라서 조기 진단은 생활 방식의 변화와 보다 효과적인 치료로 이어질 수 있으므로 중요하다.

💾 Data collection

  • The Behavioral Risk Factor Surveillance System(BRFSS)은 CDC에서 매년 수집하는 건강 관련 전화 설문조사다.
  • 데이터 출처 : kaggle

💾 Data set 설명

이 프로젝트에서는 2015년 Kaggle에서 제공되는 데이터 세트의 csv를 사용했다.

  • 🇺🇸 미국의 설문조사 결과를 토대로 만들어진 데이터셋이다.
  • 원래 데이터 세트는 330개개 변수를 가지고 있는데 22개 변수로 축소된 어느정도 정제된 데이터 셋이다.
  • shape = (253680, 22)

📋 feature 설명

  • Diabetes_012 : 당뇨병 유무 및 단계
    0 = 당뇨병 없음, 1 = 당뇨병 전증, 2 = 당뇨병

  • HighBP : 고혈압 여부
    0 = 높은 혈압 없음, 1 = 높은 혈압

  • HighChol : 고콜레스테롤의 유무
    0 = 고콜레스테롤 없음, 1 = 고콜레스테롤

  • CholCheck : 5년 동안 콜레스테롤 검사 유무
    0 = 검사 없음, 1 = 검사 있음

  • BMI : 체질량 지수

  • Smoker : 당신은 일생 동안 적어도 100개비의 담배를 피웠습니까? [참고: 5갑 = 100개비]
    0 = 아니오, 1 = 예

  • Stroke : 뇌졸중의 유무
    0 = 아니오, 1 = 예

  • HeartDiseaseorAttack : 관상 동맥 심장 질환(CHD) 또는 심근 경색증(MI) 유무
    0 = 아니오, 1 = 예

  • PhysActivity : 지난 30일 동안의 신체 활동 - 직업을 포함하지 않음
    0 = 아니오, 1 = 예

  • Fruits : 과일을 하루에 1번 이상 섭취
    0 = 아니오, 1 = 예

  • Veggies : 채소를 하루에 1번 이상 섭취
    0 = 아니오, 1 = 예

  • HvyAlcoholConsump : 과음자(성인 남성은 주당 14잔 이상, 성인 여성은 주당 7잔 이상)
    0 = 아니오, 1 = 예

  • AnyHealthcare : 건강 보험, HMO와 같은 선불 플랜 등을 포함한 모든 종류의 의료 보험이 있습니다.
    0 = 아니오, 1 = 예

  • NoDocbcCost : 지난 12개월 동안 의사의 진찰이 필요했지만 비용 때문에 갈 수 없었던 적이 있습니까?
    0 = 아니오, 1 = 예

  • GenHlth : 일반적으로 귀하의 건강 상태는 어떤가요?(1-5 척도)
    1 = excellent 2 = very good 3 = good 4 = fair 5 = poor

  • MentHlth : 스트레스, 우울증, 감정 문제 등을 포함한 정신 건강을 생각해보면, 지난 30일 동안 정신 건강이 좋지 않았던 날은 며칠입니까? (1-30일)

  • PhysHlth : 지금 귀하의 신체적 질병과 부상을 포함한 신체적 건강을 생각해보면, 지난 30일 동안 귀하의 신체 건강이 좋지 않았던 날은 며칠입니까? (1-30일)

  • DiffWalk : 걷거나 계단을 오르는데 심각한 어려움이 있습니까?
    0 = 아니오, 1 = 예

  • Sex : 0 = 여성, 1 = 남성

  • Age : 13단계 연령 범주
    1 = 18 ~ 24세
    2 = 25 ~ 29세
    3 = 30 ~ 34세
    4 = 35 ~ 39세
    5 = 40 ~ 44세
    6 = 45 ~ 49세
    7 = 50 ~ 54세
    8 = 55 ~ 59세
    9 = 60 ~ 64세
    10 = 65 ~ 69세
    11 = 70 ~ 74세
    12 = 75 ~ 79세
    13 = 80세 이상
    14 = 모름 / 답변 거부 (이것도 제거했습니다)

  • Education : 교육 수준 척도(1-6)
    1 = 학교에 다니지 않았거나 유치원에만 다니다
    2 = 1-8학년(초등)
    3 = 9-11학년(일부 고등학교)
    4 = 12학년 또는 GED(고등학교 졸업)
    5 = 대학 1년~3년 (일부 대학 또는 기술 학교)
    6 = 대학 4년 이상(대졸)
    9 = 거부됨(이 모든 기록은 데이터세트에서 삭제됨)

  • Income :
    1 = $10,000 미만
    2 = $15,000 미만 ($10,000 ~ $15,000 미만)
    3 = $20,000 미만($15,000 ~ $20,000 미만)
    4 = $25,000 미만($20,000 ~ $25,000 미만)
    5 = $35,000 미만($25,000 ~ $35,000 미만)
    6 = $50,000 미만($35,000 ~ $50,000 미만)
    7 = $75,000 미만($50,000 ~ $75,000 미만)
    8 = $75,000 이상
    77 = 모름/모름(데이터 세트에서 제거됨)
    99 = 거부됨(데이터 세트에서 제거됨)
    BLANK = 묻지 않음 또는 누락(데이터 세트에서 제거됨)

🎯타겟 선정

  • Diabetes_012 : 0 = 당뇨병 없음, 1 = 당뇨병 전증, 2 = 당뇨병

당뇨병의 유무 파악

  • 분류문제 → 모델의 성능은 중요하지 않으므로 빠르게 학습하고 정확도가 우수한 LightGBM 모델을 사용할 것이다.

    • LightGBM 모델
  • 성능평가 지표 : f1_beta_score

    • 정밀도(Precision) VS 재현율(Recall)
    • 당뇨병이 아니라고 예측했는데 실제로 당뇨병인 경우 → 치명적이다!
    • 당뇨병이라고 예측했는데 실제로는 당뇨병이 아닌 경우 → 추가 검사를 통해 정정하면 된다.
    • 따라서 당뇨병의 유무를 판별하는 모델은 정밀도보다 재현율(Recall) 이 높아야 한다!

당뇨병에 악영향을 미치는 요인과 당뇨병을 예방하는 요인 파악

  • 모델에 대한 설명 (XAI) → 모델이 결과를 예측할 때 각 특성이 미치는 영향을 파악하고 설명한다.
    • 특성중요도(Mean decrease impurity, MDI)
    • 순열중요도(Permutation Importance, Mean Decrease Accuracy,MDA)
    • PDP(Partial Dependence Plots)
    • SHAP 라이브러리

개발 프로세스

undefined drawio

배포 주소

https://diabetesexpect.herokuapp.com/

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published