데이터 전처리는 모델의 성능을 극대화하기 위해 매우 중요한 단계입니다. 실제 숫자 데이터를 사용하여 인공지능 활용한 심방세동 환자 데이터 학습을 위한 전처리 과정을 단계별로 자세히 알아보겠습니다. 가상의 환자를 대상으로한 예시이므로 이점 감안하고 보시면 좋을 것 같습니다.
1. 예시 데이터셋
먼저, 가상의 환자 데이터를 사용하여 설명하겠습니다. 아래는 심방세동 예측을 위해 수집된 예시 데이터입니다.
환자 ID | 심박수 (bpm) | 혈압 (mmHg) | 심전도 (ECG) | 심방세동 발생 여부 (Label) |
---|---|---|---|---|
1 | 75 | 120/80 | 0.85 | 0 |
2 | 82 | 130/85 | 0.90 | 1 |
3 | 90 | 140/90 | 1 | |
4 | 78 | 0.80 | 0 | |
5 | 85 | 135/88 | 0.92 | 1 |
2. 결측값 처리
결측값 처리는 데이터를 완전하게 만들어 모델 학습에 활용하기 위한 첫 번째 단계입니다.
2.1. 심전도(ECG) 결측값 처리
환자 3번의 심전도 데이터가 누락된 것을 볼 수 있습니다. 이 경우, 심전도 데이터의 평균으로 결측값을 대체할 수 있습니다.
- 심전도(ECG) 평균 계산:
- 평균 = (0.85 + 0.90 + 0.80 + 0.92) / 4 = 0.8675
- 환자 3번의 심전도 결측값을 평균값으로 대체합니다.
2.2. 혈압(BP) 결측값 처리
환자 4번의 혈압 데이터가 누락되었습니다. 여기서는 중간값(median)을 사용하여 결측값을 대체합니다.
- 혈압 수치 중간값 계산:
- 혈압 = [120/80, 130/85, 140/90, 135/88]
- 중간값 = 132.5/86.5 (실제 데이터를 기반으로 계산 가능)
따라서 환자 4번의 혈압을 132.5/86.5로 대체합니다.
결측값이 처리된 데이터는 다음과 같습니다:
환자 ID | 심박수 (bpm) | 혈압 (mmHg) | 심전도 (ECG) | 심방세동 발생 여부 (Label) |
---|---|---|---|---|
1 | 75 | 120/80 | 0.85 | 0 |
2 | 82 | 130/85 | 0.90 | 1 |
3 | 90 | 140/90 | 0.8675 | 1 |
4 | 78 | 132.5/86.5 | 0.80 | 0 |
5 | 85 | 135/88 | 0.92 | 1 |
3. 정규화(Normalization)
정규화는 각 변수의 값을 일정한 범위로 조정하여 모델이 효율적으로 학습할 수 있도록 돕습니다. 일반적으로 0과 1 사이로 데이터를 정규화합니다.
3.1. 심박수 정규화
- 최소값 = 75, 최대값 = 90
- 정규화 공식: (x−최소값)/(최대값−최소값)
환자 ID | 원래 심박수 (bpm) | 정규화된 심박수 |
---|---|---|
1 | 75 | 0 |
2 | 82 | 0.4667 |
3 | 90 | 1 |
4 | 78 | 0.2 |
5 | 85 | 0.6667 |
3.2. 심전도 정규화
- 최소값 = 0.80, 최대값 = 0.92
- 정규화 공식: (x−최소값)/(최대값−최소값)
환자 ID | 원래 심전도 (ECG) | 정규화된 심전도 |
---|---|---|
1 | 0.85 | 0.4167 |
2 | 0.90 | 0.8333 |
3 | 0.8675 | 0.55625 |
4 | 0.80 | 0 |
5 | 0.92 | 1 |
정규화된 전체 데이터는 다음과 같습니다:
환자 ID | 정규화된 심박수 | 정규화된 혈압 (mmHg) | 정규화된 심전도 (ECG) | 심방세동 발생 여부 (Label) |
---|---|---|---|---|
1 | 0 | 0.00 | 0.4167 | 0 |
2 | 0.4667 | 0.36 | 0.8333 | 1 |
3 | 1 | 0.80 | 0.55625 | 1 |
4 | 0.2 | 0.52 | 0 | 0 |
5 | 0.6667 | 0.52 | 1 | 1 |
4. 클래스 불균형 처리
심방세동 발생 여부의 클래스 불균형이 있는 경우, 이를 보완하기 위해 오버샘플링이나 언더샘플링을 사용할 수 있습니다. 예를 들어, 심방세동이 발생한 환자(1)가 적을 경우, SMOTE(Synthetic Minority Over-sampling Technique)를 사용하여 새로운 샘플을 생성하거나, 발생하지 않은 샘플을 줄여서 데이터를 균형 있게 만들 수 있습니다.
이로써 모델 학습을 위한 전처리 과정이 완료되었습니다. 이러한 과정을 거친 데이터는 모델이 효과적으로 학습할 수 있도록 최적화되었으며, 심방세동 예측의 정확도를 높이는 데 중요한 역할을 합니다.