본문 바로가기
연습/Pentaho

[Pentaho] Stroke Prediction Dataset

by yejineee 2022. 4. 22.

사용 데이터 : Stroke Prediction Dataset

데이터 출처| https://www.kaggle.com/datasets/fedesoriano/stroke-prediction-dataset


데이터의 목적
성별, 연령, 다양한 질병 및 흡연 상태와 같은 데이터를 이용하여 환자가 뇌졸중에 걸릴 가능성이 있는지 예측하는 데 사용된다. 

데이터 형태: csv 파일

데이터 column 의미

  • id: 고유식별자
  • gender: "Male", "Female", "Other"
  • age: 환자의 나이
  • hypertension: 환자가 고혈압이 없는경우 0, 있는 경우 1
  • heart_disease: 환자가 심장 질환이 없으면 0, 있으면 1
  • ever_married: "No" 또는 "Yes"
  • work_type: "children", "Govt_jov", "Never_worked", "Private", "Self-employed"
  • Residence_type: "Rural" 또는 "Urban" (거주환경:농촌 or 도시)
  • avg_glucose_level: 혈액 내 평균 혈당 수준
  • bmi: 체질량 지수
  • smoking_status: "formerly smoked", "never smoked", "smokes", "Unknown"*
    -> "Unknown"은 이 환자에 대한 정보를 사용할 수 없음을 의미
  • stroke: 환자가 뇌졸증을 앓은 경우 1, 그렇지 않은 경우 0

Stroke 데이터

총 5110개의 row, 12개의 column


전체적인 flow


smoking_status 중 Unknown은 환자 정보를 사용할 수 없다니까 행은 따로 빼두기

Unknown의 개수는 1544개

최종 사용할 데이터는 5110-1544 = 3566개 row


결측 값 확인하기

bmi에 있는 N/A을 제외하고는 다른 필드에서는 결측 값은 없다.


bmi 결측값 채우기

성별과 나이(50이상, 20 이상, 20 미만)로 나눠서 각각의 평균을 구한 뒤, 

각 그룹의 해당하는 값을 채워넣었다.


그 외 전처리하기

ever_married에서 No를 0, Yes를 1로 변경하기 

gender에서 Male은 1, Female은 2, other은 3으로 변경하기

Residence_type에서 "Rural", "Urban"도 원핫인코딩으로 새 필드 만들기

work_type에서 "children", "Govt_job", "Never_worked", "Private", "Self-employed"를 원핫인코딩으로 새 필드 만들기

smoking_status에서 "formerly smoked", "never smoked", "smokes"를 원핫인코딩으로 새 필드 만들기

필요한 필드 선택과 데이터형 변경하기


최종 데이터 모습

최종 데이터

Stroke_data.csv
0.17MB


활용

(파이썬 이용) 최종 내보내진 데이터를 활용해서 train,validation,test 데이터로 나눈뒤,
XGBClassifier 모델을 활용해서 stroke를 예측할 수 있는 모델을 만들었다.


roc_auc 점수 구하는 함수 정의하고,

옵튜나를 활용해서 최적 파라미터 찾았다.

찾은 파라미터 값을 다시 모델에 넣은 뒤 auc 점수 확인했다.

학습된 모델을 이용해서 test데이터로 stroke 예측한 후, log_loss값을 구했다


현재 데이터 총 3566개 row 중 stroke의 value는 0은 3364개, 1은 202개로 불균형 상태이므로,
이후에 불균형을 처리한 후 모델을 학습시키면 더 좋은 결과를 얻을 수도 있을 것이다.

또한, 추가 컬럼을 만들거나 다른 모델 사용,  파라미터 튜닝, 앙상블을 통해 더 나은 성능을 얻을 수 있을 것이다.


'연습 > Pentaho' 카테고리의 다른 글

[Pentaho] Salary Classification  (0) 2022.05.04
[Pentaho활용] 노래연습장 data  (1) 2022.04.19
[Pentaho활용] Amazon Seller-Order Status Prediction  (0) 2022.04.14