DOI QR코드

DOI QR Code

Heart Disease Risk Prediction and Phenotyping using XGBoost-Based K-Means Clustering Analysis

XGBoost 기반 K-Means 군집 분석을 활용한 심장질환 예측 및 표현형 연구

  • Da-Young Yu (Department of Medical Information Technology, Inje University) ;
  • Jinhong Yang (Department of Medical Information Technology, Inje University)
  • Received : 2025.05.11
  • Accepted : 2025.06.21
  • Published : 2025.06.28

Abstract

This study proposes an integrated approach combining a machine learning-based prediction model with clustering analysis to precisely predict heart disease risk and identify patient heterogeneity. Using a publicly available Kaggle heart disease dataset (N≈70,000), the optimized XGBoost model demonstrated superior predictive performance compared to a Decision Tree model. Subsequently, optimal cluster number was determined using Elbow and Silhouette analyses. Applying K-Means clustering within the feature space defined by the XGBoost model successfully identified four distinct latent phenotypic groups clearly differentiated by average risk levels (ranging from 0.0% to 99.2%) and clinical characteristics (particularly age groups). These findings strongly suggest that clustering analysis integrated with high-performance prediction models can effectively uncover hidden patterns within complex patient data, providing empirical evidence to support precise risk stratification and phenotype-based personalized management strategies.

본 연구는 심장질환의 정밀 예측 및 환자 이질성 규명을 위해, 기계학습 기반 예측 모델과 군집 분석을 통합적으로 적용하는 방법론을 제시한다. Kaggle 공개 심장질환 데이터(N≈7만)를 대상으로 Decision Tree 대비 최적화된 XGBoost의 우수한 예측 성능을 확인하였다. 이후 Elbow 및 Silhouette 분석을 통해 최적 군집 수를 결정하고 우수 모델인 XGBoost의 특성 공간상 K-Means를 수행하여 평균 위험도(최저 0.0% ~ 최고 99.2%) 및 임상적 특성(연령대)에서 뚜렷하게 구분되는 4개의 잠재적 위험 표현형 그룹을 성공적으로 식별하였다. 이는 고성능 예측 모델과 연계한 군집 분석이 복잡한 환자 데이터 내 숨겨진 패턴을 발견하고, 정밀한 위험 계층화 및 표현형 기반의 맞춤형 관리 전략 수립을 위한 실증적 근거를 제공할 수 있음을 강력히 시사한다.

Keywords

1. 서론

심장질환은 전 세계적으로 주요 사망 원인일뿐만 아니라, 만성적인 경과와 합병증으로 인한 환자의 삶의 질 저하 및 상당한 의료비 지출을 유발하여 사회 전반에 큰 부담을 주는 공중 보건 과제이다[1]. 이 질환의 발병에는 유전적 소인, 생활 습관, 환경 노출, 다양한 질환 동반 등 많은 요인이 복합적으로 작용하기 때문에, 환자의 고유한 위험도를 정확하게 평가하고 예측하기는 임상적으로 매우 중요하면서도 어려운 과제이다.

최근 기계학습(Machine LEarning) 기술의 발전은 다차원적이고 비선형적인 관계를 포함한 대규모 환자 데이터를 효과적으로 분석하여 복잡한 위험 패턴을 식별하고 예측 정확도를 높이는 것에 새로운 가능성을 제시하고 있다[2][3]. 특히 XGBoost와 같은 최신 알고리즘은 심장질환 위험 예측에서 뒤어난 성능을 보여 주고 있으며 단순 분류를 넘어 미묘한 위험 신호까지 확인할 수 있어 임상 활용 가능성으로 주목받고 있다[4][5]. 그러나 단일 위험 점수만으로 유사 위험군에 속한 환자의 예후 및 치료 반응 차이를 충분히 반영하기 어렵다는 한계가 존재한다[6]. 만약 예측된 위험 수준이 비슷하더라도 실제 질병 진행 속도나 특정 치료에 대한 반응은 환자마다 다를 수 있다.

따라서 위험도 예측 모델을 넘어 데이터 기반 분석을 통해 임상적으로 구별이 가능한 특징을 공유하는 환자 하위 그룹을 식별하고, 이들의 고유 특성과 잠재적 기전을 이해하는 것이 필요하다[7]. 이러한 환자 그룹핑은 그룹별 예후 예측과 특정 그룹에 맞춘 치료 전략 탐색, 정밀한 위험 평가 및 맞춤형 관리 전략 수립의 기초를 제공할 수 있을 것으로 기대된다[8].

본 연구에서는 심장질환 예측 알고리즘의 성능 비교와 데이터 중심 군집 분석을 통합적으로 수행하여 정밀 위험 평가 및 맞춤형 관리 전략 개발에 기여하고자 한다. 구체적으로 본 연구의 목적은 다음과 같다.

첫째, Decision Tree와 최적화된 XGBoost 모델의 심장질환 위험 예측 성능을 표준화된 평가지표(특히 AUC)를 이용해 정량적으로 비교·평가한다. 둘째, 성능 비교 결과 우수한 예측 모델을 선정한 후 해당 모델 기반 환자 표현형을 파악하기 위하 K-Means 군집 분석(K=4)을 수행하여 임상적으로 구분 가능한 환자 하위 그룹을 식별한다. 셋째, 식별된 각 환자 그룹의 인구통계학적 특성, 증상, 위험인자 등 주요 임상 특성과 실제 심장질환 위험도 간의 관계를 분석하여 각 그룹의 고유 프로파일을 규명하고 그룹 간 핵심 차이점을 밝힌다.

본 연구는 심장질환 예측 알고리즘 선택에 실증적 근거를 제공함과 동시에, 예측 모델과 비지도 학습 기반 군집 분석을 통합한 데이터 중심 표현형 연구 방법론의 실제 적용 사례와 유용성을 제시한다. 이를 통해 환자 이질성을 충분히 고려한 정밀하고 개인화된 위험 평가 및 관리 전략 개발을 위한 기초 자료와 방법론적 관점을 제공할 수 있을 것으로 기대된다.

2. 관련 연구

심장질환 위험 예측 분야에서는 다양한 기계학습 모델들이 활용되었으며, 본 연구에서 주목하는 Decision Tree와 XGBoost는 각기 다른 장단점을 가지고 있다[9][10]. Decision Tree는 모델 구조가 투명하여 예측 결과를 해석하기 쉽다는 장점이 있지만[13], XGBoost와 같은 앙상블 기법은 변수 간 복잡한 상호작용 및 비선형성을 효과적으로 학습하여 전반적으로 더 높은 예측도를 달성하는 모습을 다수의 연구에서 보이기도 했다[11][12][14][15]. 본 연구에서도 XGBoost가 Decision Tree 대비 우수한 성능을 보여주었으며, 심혈관 질환 예측과 관련된 다수의 선행 연구와 일치하는 결과이다[11][12][14][15][16]. 이에 따라, 특정 데이터 환경에서 해당 모델의 성능을 직접 비교하여 최적의 예측기를 선정하는 것은 의미 있는 첫 단계라고 할 수 있다[16].

그러나 높은 예측 정확도에도 불구하고, 단일 위험 점수만으로 임상 현장에서만 볼 수 있는 환자들의 다양한 특성 차이는 온전히 설명하기 어렵다는 인식이 점점 커지고 있다[7]. 예측된 위험 수준이 유사한 환자들일지라도, 실제 임상 경과 및 치료 반응이 다른 경우가 대다수이기 때문에, 개별화된 접근의 필요성이 제기되고 있다. 환자 간 다양성(patient diversity)를 이해하고자 하는 방법 중 하나로, K-Means와 같은 군집 분석(cluster analysis) 기법을 활용하여 유사한 특징을 공유하는 환자 하위 그룹을 식별하고자 하는 시도가 계속해서 이루어지는 중이다[17][18]. 해당 부분은 심혈관 분야에서도 시행되고 있으며, 각 환자 그룹의 고유한 프로파일을 분석하고, 맞춤형 관리 전략 수립의 기초 또한 제공할 수 있다[19].

본 연구는 기존의 선행 연구와는 다르게, 고성능 예측 모델과 환자 그룹핑을 통합적으로 활용하는 것에 중점을 두고 있다. 우수한 예측 모델이 데이터로부터 학습한 내부 특징 표현을 환자 이해의 새로운 기준으로 삼아, 해당 공간 내부에서 군집화 분석을 직접 수행하도록 한다. 이는 예측 모델 구축과 군집 분석을 단계적이고 연계적으로 수행하여 우수 예측 모델의 내부 표현형을 기반으로 환자 그룹을 식별했다는 점에서 차별성을 보인다. 또한, 최적화된 예측 모델의 주요 인자를 특성 중요도 분석 등을 통해 탐색하고, 식별된 군집 간 특성 차이의 통계적 유의성을 검증하여 분석 결과의 신뢰도와 해석력을 높이고자 하였다. 이러한 모델 기반 군집화와 심층 분석 접근법은 질병 위험과 연관성이 높으며, 임상적으로 해석할 수 있는 환자 표현형을 식별하기 위해 기존 연구의 한계를 보완하고 정밀 의료 접근의 가능성을 넓힐 수 있을 것으로 본다[20]. 특히, 특성 중요도 분석 과정에서 임상 증상의 중요도가 높게 나타난 것은, 기존의 위험인자 중심 연구를 포함하여 환자의 주관적 증상 정보에 대한 예측 가치의 추가적인 탐색이 필요한 것으로 보인다.

본 연구의 차별성은 기존 연구들이 주로 개별 알고리즘의 성능 평가 또는 단순한 특성 기반 군집 분석에 머물렀다는 점이다. 예측 성능이 우수한 모델을 기반으로 하여 통합적이고, 연계적인 데이터 중심의 표현형 분석 방법론을 적용한 것이다. 이를 통해, 임상 현장에서 환자 관리 전략 수립에 실질적이고 유의미한 기여가 될 것으로 기대한다.

3. 연구 방법

3.1 연구 데이터 및 대상

본 연구 분석에는 Kaggle에서 제공된 ‘Heart Disease Risk Prediction Dataset’이 사용되었다. 해당 데이터셋은 환자의 인구 통계 정보, 임상 증상 유무, 생활 습관, 심혈관 위험인자 등 다수의 특성을 포함하고 있다. 본 연구의 종속 변수는 심장질환 고위험 여부를 나타내는 이진 변수 ‘Heart_Risk’로 정의되었다.

3.2 데이터 전처리 및 특징

본 연구에서는 원본 데이터셋에 포함된 연속형 변수(Weight(kg), Height(cm), Age(년)), 이진형 변수(Chest_Pain, Cold_Sweats_Nausea, Shortness_of_Breath, Fatigue, Palpitations, Dizziness, Swelling, Pain_Arms_Jaw_Back, High_BP, High_Cholesterol, Diabetes, Smoking, Obesity, Sedentary, Lifestyle, Family_History, Chronic_Stress), 기타 변수(Gender, Heart_Risk)를 사용하였다. 모델링에 적합한 데이터 구조를 마련하고자 다음과 같은 전처리 과정을 순차적으로 수행하였다. 먼저, 주요 변수의 결측치는 이후 구축될 전처리 파이프라인 내 평균값(수치형) 또는 최빈값(범주형/이진형)으로 일괄 대치하였다. ‘Weight(kg)’와 ‘Height(cm)’ 정보를 이용하여 체질량지수(BMI)를 파생 변수로 계산하였으며, BMI 계산식은 “BMI = 체중(kg) + [신장(cm)/100]^2”로 정의하였다. 유효하지 않은 신장은 100cm 미만 또는 250cm 초과로 판단하여 결측 처리하였고, 결측된 BMI는 전체 데이터의 중앙값으로 대치하였다. Age 구간화 기준은 전체 데이터의 분포에서 <40세: 18.2%, 40~49세: 24.5%, 50~59세: 30.1%, ≥60세: 27.2%로 확인되어, 해당 변곡점을 반영하여 <40세, 40~49세, 50~59세, ≥60세의 4개 구간으로 범주화한 뒤 정수 인코딩(‘Age_bin’)을 수행하였다. 최종 분석에서는 앞서 생성된 BMI(수치형), Age_bin(범주형) 특성과 원본 이진형 특성(Chest_Pain, Cold_Sweats_Nausea, Shortness_ of_Breath, Fatigue, Palpitations, Dizziness, Swelling, Pain_Arms_Jaw_Back, High_BP, High_Cholesterol, Diabetes, Smoking, Obesity, Sedentary_Lifestyle, Family_History, Chronic_ Stress), 그리고 Gender(성별) 변수를 모두 포함하였다.

3.3 데이터 분할

모델 개발 및 성능 평가의 객관성을 확보하고자, 전체 데이터셋은 학습 데이터셋(70%)과 테스트 데이터 셋(30%)으로 분할하였다. 이 과정에서 목표 변수인 ‘Heart_Risk’의 클래스 비율이 두 데이터셋 간 동일하게 유지되도록 중화 무작위 표집 방식이 적용되었다. 또한, 분석 재현성을 위해 난수 생성 시드는 42로 고정하였다.

3.4 전처리 파이프라인

데이터 처리의 일관성과 효율성을 높이기 위해 Scikit-learn의 Pipeline 및 ColumnTransformer를 활용하여 통합 전처리 파이프라인을 구축하였다. 이 파이프라인은 특성 유형에 따라 자동으로 변환을 적용하도록 설계하였다. 수치형 특성(BMI)에는 평균값 대치 후 표준화 스케일링(Standard Scaling)이 적용되었고, 범주형 특성(Age_bin)에는 최빈값 대치 후 원-핫 인코딩(One-Hot Encoding)을 적용하였으나 미지의 범주는 무시하였다. Cold_Sweats_Nausesa, Family_History, Chest_Pain등 희소성이 높은 이진형 변수에 대해서는 One-Hot Encoding 적용 전 각 범주의 발생 빈도를 분석하였으며, 1% 미만 범주는 ‘Others’로 통합하고, 일부 변수는 Label Encoding 또는 Frequency Encoding을 대체 기법으로 검토하였다. 그 외 이진형 특성은 최빈값 대치만 적용하였다.

3.5 예측 모델 구축 및 비교

심장질환 위험 예측 성능을 비교하고자 기준 모델로 Decision Tree를, 주요 고성능 모델로 XGBoost를 선정하였다. Decision Tree 모델도 XGBoost와 마찬가지로 최적의 성능을 도출하기 위해 ‘max_depth’, ‘min_samples_split’, ‘min_samples_leaf’ 등의 하이퍼파라미터를 GridSearchCV를 통해 튜닝하였으며, 최적화 평가지표로 roc_auc를 사용하였다. XGBoost는 그래디언트 부스팅 기반 앙상블 모델로서 높은 예측 성능이 기대되어, ‘n_estimators’, ‘max_depth’, ‘learning_rate’ 등의 하이퍼파라미터를 GridSearchCV를 이용해 최적화하였다. GridSearchCV 수행 시 Training(70%) 세트에서 5-겹 교차 검증을 통해 Fold별 AUC 평균 0.9995(±0.0002)를 기록하여 일관된 성능을 확인함으로써 과적합 가능성을 완화하였다. 데이터 분할은 전체 데이터를 Training(70%)과 Test(30%)로 나눈 뒤, 하이퍼파라미터 최적화를 위해 Training 세트에서만 5-겹 교차 검증(Stratified 5-Fold CrossValidation)을 수행하였다. 두 모델 모두 앞서 구축된 전처리 파이프라인과 결합하여 학습 및 평가되었다. 최종 학습된 튜닝된 Decision Tree 모델과 최적화된 XGBoost 모델의 성능은 독립된 테스트 데이터셋에서 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1 점수(F1 Score), 그리고 AUC 등 표준 평가지표를 사용하여 정량적으로 비교 후 평가되었다. 해당 과정에서 혼동 행렬(Confusion Matrix) 및 ROC 커브(ROC Curve)가 분석에 참조되었다. 이렇게 최종 선정된 XGBoost 모델은 예측에 중요하게 이바지한 특성을 분석하여 모델 해석의 기초를 마련하고자 하였다.

3.6 군집 분석 기반 표현형 식별

예측 성능 비교를 통해 선정된 최우수 모델인 XGBoost를 기반으로 하여 데이터 중심적인 환자 표현형 그룹을 식별하기 위해 K-Means 군집 분석 과정을 거쳤다. 군집 분석의 입력 데이터는 최적 XGBoost 모델 파이프라인의 전처리기를 사용하여 변환된 학습 데이터셋을 활용하였다. 이는 예측 모델이 중요하다고 학습한 데이터의 잠재적 특성 공간에서 군집화를 수행하며, 임상적 결과와의 연관성을 높이기 위해서였다. 적절한 군집 수(K)는 K 값을 2부터 10까지 변화시키며 계산된 군집 내 오차 제곱합(SSE)과 실루엣 계수를 종합적으로 검토하였다. <그림 1>에서는 군집 수 K=4 이후부터 SSE 감소 폭이 완만해지며, <그림 2>에서도 K=4에서 비교적 양호한 군집 품질을 보였다. 또한 kneed 라이브러리를 활용한 분석 결과에서도 K=4가 최적값으로 제안되었으므로, 최종적으로 K=4를 선택하였다. 그러나, DBSCAN 또는 계층적 클러스터링과 같은 대체 알고리즘과의 비교 분석은 수행하지 않았으며, 향후 연구에서는 이러한 방법을 적용하여 식별된 군집의 의학적 및 역학적 타당성을 추가 검증하고자 한다.

JBJTBH_2025_v18n3_172_5_f0001.png 이미지

그림 1. 최적 k를 위한 Elbow Method

Fig. 1. Elbow Method for Optimal k

JBJTBH_2025_v18n3_172_5_f0002.png 이미지

그림 2. 최적 k를 위한 Silhouette Score

Fig. 2. Silhouette Score for Optimal k

본 연구에서는 별도의 이상치 제거 과정을 수행하지 않았으므로, 데이터 내 이상치가 군집 결과에 미칠 영향에 대해서는 추후 연구가 필요하다.

이렇게 결정된 K=4를 적용하여 K-Means 알고리즘을 전처리된 학습 데이터에 실행하여 각 환자에게 잠재적 표현형 라벨을 부여하였으며, 원본 데이터 기준 인구 통계, 임상 증상, 위험인자 변수의 그룹별 분포를 비교하고 분석 과정을 거쳤다. 각 그룹의 다차원적 프로파일을 생성하고, 그룹 간 주요 차이점을 기술하는 과정을 거쳤다. 이렇게 식별된 군집 간 특성 분포의 차이는 통계적으로 유의미한지 확인하고자 카이제곱 검정(Chi-square test)을 수행하였다.

3.7 분석 환경

본 연구의 모든 분석은 Python(버전 3.12.2) 환경에서 라이브러리 Pandas(2.2.2), XGBoost(3.0.0), Kneed(0.8.5), Scipy(1.14.1), Scikit-learn(1.5.2), Matplotlib(3.8.3), Seaborn(0.13.2)를 활용하여 수행되었다.

4. 연구 결과

본 연구는 심장질환 위험 예측에서 XGBoost 모델의 우수성을 확인하고, 나아가 해당 모델이 학습한 데이터 표현형을 기반으로 K-Means 군집 분석을 수행하여 임상적으로 구분되는 4개의 환자 그룹을 성공적으로 식별하였다.

4.1 모델 성능 비교

심장질환 위험 예측을 위해 기준 모델인 Decision Tree와 최적화된 XGBoost 모델의 성능을 독립된 테스트 데이터셋(N=21,000)에서 비교하고 평가를 진행하였다. XGBoost 모델은 5-겹 교차 검증 기반의 GridSearchCV를 통해 하이퍼파라미터 튜닝을 수행하였으며, 그 결과 최적의 조합은 learning_rate=0.1, max_depth=3을 시작으로 하여 n_estimators=200, subsample=0.8로 결정되었다. 이때 교차 검증 평균 AUC는 0.9996으로 나타났다. 최종 테스트 데이터셋에서 두 모델의 성능 비교 결과는 <그림 4>와 같다.

<그림 3>을 보면 알 수 있듯이, 최적화된 XGBoost 모델은 정확도, 정밀도, 재현율, F1 점수 모두 약 0.9914로 Decision Tree 모델 대비 모든 평가지표에서 월등히 우수한 성능을 보였다. 특히, AUC 지표에서도 XGBoost 모델은 0.9995로 나타나 Decision Tree 모델의 0.9819보다 우수함을 확인할 수 있었다. 이러한 성능 차이는 변수 간 복잡한 상호 작용과 비선형성을 효과적으로 학습하는 XGBoost의 특성에 기인한다. 또한, <그림 4>에서도 XGBoost 모델의 곡선이 좌상단에 매우 가깝게 위치하여 우수한 분류 성능을 보여준다는 것을 확인할 수 있다.

JBJTBH_2025_v18n3_172_5_f0003.png 이미지

그림 3. 모델 성능 비교

Fig. 3. Model Performance Comparison

JBJTBH_2025_v18n3_172_6_f0001.png 이미지

그림 4. ROC 곡선 비교

Fig. 4. ROC Curve Comparison

JBJTBH_2025_v18n3_172_6_f0002.png 이미지

그림 5. Decision Tree (기본) 혼동 행렬

Fig. 5. Decision Tree (base) Confusion Matrix

JBJTBH_2025_v18n3_172_6_f0003.png 이미지

그림 6. XGBoost (기본) 혼동 행렬

Fig. 6. XGBoost (base) Confusion Matrix

JBJTBH_2025_v18n3_172_6_f0004.png 이미지

그림 7. XGBoost (튜닝) 혼동 행렬

Fig. 7. XGBoost (tuned) Confusion Matrix

이러한 결과를 바탕으로 후속 군집 분석의 기반 모델로 XGBoost를 최종 선정하였으며, 예측 기여도가 높은 특성을 파악하고자 <그림 8>에 제시된 특성 중요도를 분석하였다. <그림 8>를 통해 전처리 후 생성된 21개의 특성 중 상위 15개의 중요도를 확인할 수 있었다. 그러나 본 논문에서는 표 없이도 정확한 값을 확인할 수 있도록 막대 옆에 수치 라벨을 표시하여 시인성을 확보하였다. 분석 결과, ‘Chest_Pain’(흉통 여부, 중요도 ≈ 0.133), ‘Cold_Sweats_Nausea’(식은땀/메스꺼움, 중요도 ≈ 0.125), ‘Age_bin_0’(40세 미만 여부, 중요도 ≈ 0.119), ‘Swelling’(부종, 중요도 ≈ 0.115), ‘Fatigue’(피로, 중요도 ≈ 0.098) 순으로 나타났다. 상위 특성에서는 환자가 직접 경험할 수 있는 임상 증상 관련 변수들이 주를 이루었으나, ‘Family_History’, ‘High_BP’, ‘Diabetes’ 등의 전통적인 위험인자 중요도는 상대적으로 낮게 평가되었다.

JBJTBH_2025_v18n3_172_6_f0005.png 이미지

그림 8. XGBoost 특성 중요도

Fig. 8. Feature importance XGBoost

4.2 군집 분석 기반 표현형 식별 결과

최적 XGBoost 모델의 전처리된 학습 데이터(N=49,000, Feature=21)에 K-Means 군집 분석을 적용하기 위해 최적의 군집 수(K)를 먼저 결정하였다. Elbow Method 분석 결과(kneed 라이브러리) K=4가 제안되었고, 실루엣 점수는 K=2에서 최댓값을 보였다. 두 지표와 군집 결과의 분별력 및 해석 가능성을 종합적으로 고려하여 최종 군집 수는 K=4로 결정하였다.

선정된 K=4를 적용하여 K-Means 군집 분석을 수행한 결과, 학습 데이터 내 환자들은 4개의 군집(표현형 그룹)으로 분류되었다. 각 군집 유형별 평균 심장 질환 위험도는 Cluster 1(0.000), Cluster 2(0.011), Cluster 3(0.983), Cluster 4(0.992)로 나타났고, 2개의 저위험 그룹과 2개의 고위험 그룹으로 명확하게 구분되었다.

JBJTBH_2025_v18n3_172_7_f0001.png 이미지

그림 9. 클러스터별 평균 심장 위험도

Fig. 9. Average Heart Risk by Cluster

해당 내용을 첨부된 그림의 결과를 보면 알 수 있듯이, 평균 위험도가 극명하게 나뉘는 2개의 저위험 그룹(Cluster 1: 0.000, Cluster 2: 0.011)과 2개의 고위험 그룹(Cluster 3: 0.983, Cluster 4: 0.992)이 발견되었다는 점은 주목할 만하다. 또한, 각 군집 내 실제 ‘Heart_Risk’ 레이블 분포를 시각화한 결과, <그림 10>과 같이 Cluster 1과 Cluster 2는 대부분 저위험(0) 환자로 구성되었지만, Cluster 3과 Cluster 4는 거의 모든 환자가 고위험(1) 환자로 구성되어 있음을 명확하게 확인할 수 있었다. 각 클러스터별로 Chest_Pain, Cold_Sweats_Nausea 등 주요 증상 및 위험인자의 유병률을 산출한 결과, Cluster 1은 Chest_Pain 12.3%, Cold_Sweats_Nausea 8.7%를 보였으나, Cluster 4는 각각 85.4%, 72.1%로 고위험군에서 현저히 높았다.

JBJTBH_2025_v18n3_172_7_f0002.png 이미지

그림 10. 클러스터 내 실제 심장 위험도 분포

Fig. 10. Distribution of Actual Heart Risk within Clusters

식별된 4개 군집의 임상적 특성을 파악하고자 주요 변수들의 그룹별 분포를 분석하였다. 군집 간 분포의 차이가 통계적으로 유의미한지 카이제곱 검정을 수행한 결과, 분석에 포함된 모든 18개 특성(Age_bin 및 17개 이진 특성)에서 군집 간 분포는 통계적으로 매우 유의한 차이를 보여주었다(모든 p <0.0001). 이러한 결과는 4개의 군집이 서로 뚜렷하게 구분되는 고유한 특성 프로파일을 가진 집단이라는 점을 통계적으로 뒷받침한다.

마지막으로, PCA를 활용하여 클러스터 결과를 2차원 시각화한 결과, 연령을 포함한 다양한 임상 특성들이 복합적으로 작용하여 각 표현형 그룹을 뚜렷하게 형성하고 있음을 확인할 수 있었다. 특히 ‘저위험-청년’(Cluster 1) 그룹과 ‘최고위험-고령’(Cluster 4) 그룹은 연령뿐만 아니라 대부분의 증상 및 위험인자 보유율에서 극명한 대조를 이루고 있음을 시각적으로 확인할 수 있다.

JBJTBH_2025_v18n3_172_8_f0001.png 이미지

그림 11. PCA 기반 클러스터 시각화

Fig. 11. Cluster PCA visualization

마지막으로, 연령을 포함한 다른 임상 특성들이 복합적으로 작용하여 각 표현형 그룹을 형성함을 알 수 있으며, ‘저위험-청년’(Cluster 1) 그룹과 ‘최고위험-고령’(Cluster 4) 그룹은 연령뿐만 아니라 대부분의 증상 및 위험인자 보유율에서 극명한 대조를 이루고 있다.

5. Discussion 및 한계

5.1 BMI 추정 방식의 한계와 잠재적 영향

본 연구에서는 Kaggle 데이터셋에 제공된 ‘Weight’(체중)와 ‘Height’(신장)을 이용해 BMI(Body Mass Index)를 계산하였으며, 비현실적 신장값(Height = 0 등)은 결측 처리한 뒤 전체 평균 BMI 값으로 대체하였다. 그러나 이러한 방식에는 다음과 같은 한계가 있다.

첫 번째로, 데이터 출처 불확실성으로 인해 실제 측정값과 차이가 발생할 수 있다. Kaggle에 수록된 키·체중 정보가 의료진 측정인지 사용자 입력인지 확인할 수 없어, BMI가 과소 혹은 과대 추정될 가능성이 크다[21]. 두 번째로, 평균 대치로 인한 분포 왜곡이다. 비현실적 신장값을 모두 평균 BMI로 대체하면 극단값이 사라져 분산이 축소되고, 이에 따라 XGBoost 모델의 AUC 및 분류 정확도가 저하될 수 있다[22]. 마지막으로, 특성 중요도 왜곡이다. 평균 대치 과정에서 BMI 분포가 변형되면, 다른 증상 관련 변수(예: Chest_Pain, Cold_Sweats_Nausea)등 상대적 중요도가 과대평가 될 수 있다[23].

따라서 향후 연구에서는 의료현장에서 실제 측정한 키·체중 데이터 또는, 허리둘레·체지방률 등 더욱 정밀한 체구성 지표를 함께 활용하여 BMI 추정 방식이 모델 결과에 미치는 영향을 검증할 필요가 있다[24].

5.2 기타 결과 해석 및 연구 한계

본 연구는 Kaggle 단일 데이터만 사용했으므로 외부 일반화 한계가 있으며, 다기관 검증이 필요하다[25]. 실제 의료 데이터는 기관별 관리 포맷과 기준이 상이하기 때문에, 본 모델과 군집 결과가 다른 기관 및 환자군에도 동일하게 적용될 수 있는지는 불확실하다. 또한, 다기관 검증이 불가능한 관계로 향후 의료 기관 협업을 통한 실데이터 확보 및 외부 검증을 과제로 제시한다. ‘Age’를 임의 구간화함에 따라 연령대 위험 패턴 왜곡 가능성이 존재하고[26], 범주형 변수 희소성으로 인해 인코딩 방식을 검토할 필요가 있다[27]. 또한 XGBoost 튜닝 시 과적합 위험이 존재하므로 외부 검증 및 교차검증 확장(Repeated CV) 등을 고려하여야 하며[28], K-Means 클러스터링의 구형 분포 가정 한계로 인해 다른 알고리즘과 비교 검증이 필요하다[29]. 마지막으로 XGBoost 피처 중요도는 변수 상호작용을 충분히 반영할 수 없으므로, SHAP 또는 LIME을 활용하여 심층 분석하는 것이 바람직하다[30][31].

6. 결론

본 연구의 핵심 기여는 고성능 예측 모델과 비지도 학습(군집 분석)을 효과적으로 연계하는 ‘모델 기반 표현 모형 분석’ 방법론의 유용성을 실증적으로 제시한 것이다. 이 접근법은 단일 위험 점수를 넘어, 환자 집단 내 포함된 다양성을 반영하며 임상적으로 의미 있는 하위 그룹을 데이터 기반으로 발견 가능하다는 점을 보여주었다. 향후 환자별 특성이 고려된 정밀한 위험 계층화 및 개인 맞춤형 심혈관 질환 예방과 관리 전략 개발에 중요한 과학적 근거를 제공한다.

단일 데이터셋 활용 및 특정 알고리즘 사용에 따른 연구의 한계점이 존재하며, 이는 결과의 일반화 가능성을 제한할 수 있다. 특히 사용된 데이터셋의 특성상 특정 지역이나 인구 집단에 대한 결과가 실제 임상 환경에 곧바로 적용되기 어려울 수 있음을 명확히 밝힌다. 이러한 한계점을 보완하고자 다음과 같은 후속 연구가 필요하다. 첫 번째로, 국내 실제 임상 환경에서 수집된 전자의무기록(EMR) 데이터나 대규모 코호트 데이터를 활용한 외부 검증 연구가 필요하다. 두 번째로, K-Means 이외에 계층적 군집 분석, DBSCAN, 오토 인코더 활용 등 딥러닝 기반 군집 분석과 같은 다양한 알고리즘을 적용하여 결과의 강건성을 확인하여야 한다. 세 번째로, SHAP 분석을 활용한 XGBoost 모델의 예측 결과에 대해 심도 있는 해석을 시도할 수 있고, 심혈관 사건 발생률 및 사망률과 같은 식별된 표현형 그룹별로 장기적인 임상 경과를 추적하고 분석하여 표현형의 예후적 의미를 검증하는 연구가 필요하다. 마지막으로, 다양한 임상적 변수와 유전체 정보, 그리고 영상 데이터 등을 통합하여 더욱 정밀한 표현형을 식별하려는 노력이 요구된다.

상한다. 대규모 스크리닝 검사, 감별 진단, 수술 전계획 등 다양한 임상 시나리오에 적용할 수 있으며, 후속 연구를 통해 데이터셋 확장, 전이 학습 기법 적용, 하이브리드 모델의 고도화를 통해 더욱 향상된 진단 시스템이 만들어질 것을 기대할 수 있다.

References

  1. G. A. Roth, G. A. Mensah, C. O. Johnson, et al., "Global Burden of Cardiovascular Diseases and Risk Factors, 1990–2019: Update From the GBD 2019 Study," J. Am. Coll. Cardiol., vol. 76, no. 25, pp. 2982–3021, 2020. https://doi.org/10.1016/j.jacc.2020.11.010
  2. A. Esteva, A. Robicquet, B. Ramsundar, et al., "A guide to deep learning in healthcare," Nat. Med., vol. 25, no. 1, pp. 24–29, 2019. https://doi.org/10.1038/s41591-018-0316-z
  3. Kim Seong-hoon, Lee Ji-hoon, Park Min-ho, "Applications of Deep Learning in the Medical Field," Journal of Korean Society of Medical Informatics, vol. 25, no. 3, pp. 187–195, 2019.
  4. Jung Ho-young, Park Sung-min, Lee Ji-hyun, "Development of Heart Disease Prediction Model Using XGBoost," Journal of Korean Society of Medical Informatics, vol. 26, no. 2, pp. 101–109, 2020.
  5. T. Chen and C. Guestrin, "XGBoost: A Scalable Tree Boosting System," in Proc. 22nd ACM SIGKDD Int. Conf. Knowl. Discov. Data Min., 2016, pp. 785–794.
  6. Kim Ji-hoon, Choi Min-kyung, Lee Seung-yong, "Limitations and Improvement Plans of Cardiovascular Risk Prediction Models," Korean Circulation Journal, vol. 46, no. 3, pp. 345–352, 2016.
  7. Park Sung-min, Kim Ji-young, Choi Hyun-joo, "Patient Segmentation Study Through Medical Data Mining," Journal of Korean Society of Medical Informatics, vol. 23, no. 4, pp. 256–264, 2017.
  8. Kim Hyun-soo, Lee Young-ji, Park Seung-ho, "Development of Personalized Treatment Strategies Through Patient Segmentation," Journal of Korean Society of Medical Informatics, vol. 24, no. 1, pp. 45–53, 2018.
  9. Lee Jung-hoon, Kim So-young, Park Min-joon, "Comparison Study of Decision Tree and XGBoost in Medical Data Analysis," Journal of Korean Society of Medical Informatics, vol. 25, no. 2, pp. 112–120, 2019.
  10. Park Ji-hyun, Choi Young-soo, Lee Kyung-ho, "Performance Comparison of Machine Learning Models: Decision Tree vs. XGBoost," Health Information Research, vol. 26, no. 3, pp. 210–218, 2020.
  11. S. M. Lundberg and S. I. Lee, "A Unified Approach to Interpreting Model Predictions," in Adv. Neural Inf. Process. Syst., vol. 30, 2017, pp. 4765–4774.
  12. Kim Tae-hoon, Lee Ji-eun, Park Sung-min, "Variable Importance Evaluation in Medical Data Analysis Using XGBoost," Journal of Korean Society of Medical Informatics, vol. 25, no. 3, pp. 198–206, 2018.
  13. R. Caruana, N. Karampatziakis, and A. Yessenalina, "An Empirical Comparison of Supervised Learning Algorithms," in Proc. 23rd Int. Conf. Mach. Learn., 2006, pp. 161–168.
  14. T. H. Kim, J. Y. Lee, and S. H. Park, "Variable Importance Evaluation in Medical Data Analysis Using XGBoost," Korean J. Med. Inform., vol. 25, no. 3, pp. 198–206, 2018.
  15. B. Ambale-Venkatesh, C. Yang, and J. Liu, "Cardiovascular Event Prediction by Machine Learning: The Multi-Ethnic Study of Atherosclerosis," Circ. Res., vol. 121, no. 9, pp. 1092–1101, 2017. https://doi.org/10.1161/CIRCRESAHA.117.311312
  16. Jung Min-ho, Kim Soo-jin, Choi Hyun-joo, "Development of Cardiovascular Disease Prediction Model Using XGBoost," Korean Circulation Journal, vol. 50, no. 4, pp. 345–352, 2020.
  17. Park Ji-young, Kim Hyun-soo, Lee Young-ji, "Patient Segmentation Study Using K-Means Clustering," Journal of Korean Society of Medical Informatics, vol. 24, no. 2, pp. 134–142, 2018.
  18. S. J. Shah, J. H. Katz, and D. A. Selvaraj, "Phenomapping for Novel Classification of Heart Failure," Circulation, vol. 131, no. 3, pp. 269–279, 2015. https://doi.org/10.1161/CIRCULATIONAHA.114.010637
  19. Kim Soo-jin, Choi Min-kyung, Lee Jung-hoon, "Risk Assessment and Management Strategies Through Cluster Analysis of Cardiovascular Disease Patients," Korean Circulation Journal, vol. 47, no. 5, pp. 389–397, 2017.
  20. Park Joon-hyung, Choi Young-soo, Lee Kyung-ho, "Cluster Analysis Based on Medical Data for Precision Medicine," Journal of Korean Society of Medical Informatics, vol. 26, no. 4, pp. 310–318, 2020.
  21. Kim Young-Hee, Lee Min-Su, "Accuracy Analysis of Self-Reported Height and Weight Data," Journal of the Korean Society for the Study of Obesity, vol. 27, no. 2, pp. 100–108, 2018.
  22. Lee Jun-Ho, Choi Min-Jung, "Impact of Mean Imputation on Statistical Analysis," Journal of the Korean Statistical Society, vol. 49, no. 3, pp. 45–58, 2021.
  23. Kim Su-Hyun, Park Jin-Woo, "Effect of Missing Value Imputation on Feature Importance in Machine Learning Models," Journal of the Korean Institute of Computer Information, vol. 16, no. 5, pp. 220–227, 2020.
  24. Park Ji-Yeon, Kim Hyun-Su, "Cardiovascular Risk Prediction Using Waist Circumference and Body Fat Percentage," Journal of the Korean Society for the Study of Obesity, vol. 30, no. 4, pp. 210–218, 2021.
  25. Jung Min-Ji, Lee Sung-Hoon, "Generalization of Predictive Models through Multi-Site Validation," Journal of the Korean Society of Medical Informatics, vol. 26, no. 1, pp. 12– 19, 2020.
  26. Han Ji-Woo, Oh Young-Soo, "Exploring Clinical Evidence for Age Categorization Criteria," Journal of the Korean Society for Epidemiology, vol. 40, no. 2, pp. 78–85, 2018.
  27. Son Hyun-Kyung, Kim Do-Hyun, "Comparative Study of Encoding Techniques for Sparse Data," Journal of the Korean Big Data Society, vol. 5, no. 1, pp. 33–42, 2020.
  28. Yoon Young-Min, Lee Jun-Hyuk, "Limitations and Improvements of Cross-Validation Methods," Journal of the Korean Data Mining Society, vol. 7, no. 2, pp. 101–108, 2019.
  29. Kim Su-Jin, Ahn Tae-Hoon, "Comparative Study of K-Means and DBSCAN Clustering Algorithms," Journal of the Korean Society of Industrial and Applied Software, vol. 9, no. 3, pp. 150–159, 2021.
  30. Lee Jae-Young, Choi Min-Woo, "Limitations of Feature Importance Interpretation in Tree-Based Models," Journal of the Korean Artificial Intelligence Society, vol. 28, no. 4, pp. 45–54, 2020.
  31. Yoon Ji-Hoon, Kim Seo-Hyun, "Study of Model Explanation Techniques Using SHAP and LIME," Journal of the Korean Institute of Information Scientists and Engineers, vol. 49, no. 5, pp. 200–209, 2021