Dobby is !free/Intern 🐣
인턴일지🥕 MIMIC-III .1 Data Generation 을 해보자
컴공생 C
2021. 4. 9. 19:44
반응형
따라한 코드는 github.com/YerevaNN/mimic3-benchmarks
1. git clone
2. MIMIC-III CSV에서 각 SUBJECT_ID 별로 폴더 생성해 파일로 저장.
- ICU stay information: data/{SUBJECT_ID}/stays.csv
- diagnoses : data/{SUBJECT_ID}/diagnoses.csv
- events : data/{SUBJECT_ID}/events.csv
더보기
OverflowError: Overflow in int64 addition
mimic3csv.py 파일의 stays['AGE'] 부분을 아래와 같이 수정
def add_age_to_icustays(stays):
#기존 stays['AGE'] = (stays.INTIME - stays.DOB) - 대신 subtract로 수정
#60. 으로 되어있어서 60.0으로 수정
stays['AGE'] = (stays.INTIME.subtract(stays.DOB)).apply(lambda s: s / np.timedelta64(1, 's')) / 60.0/60/24/365
stays.loc[stays.AGE < 0, 'AGE'] = 90
return stays
- 실행결과 (약 1시간 정도 소요된다고 써있다)
딱 한시간 정도가 걸렸고 data/root 하위폴더가 생성되었다.
3. ICU stay ID 가 없는 에러를 수정. 빠진 정보가 있는 이벤트는 삭제.
- 수정 에러 목록
대략 80% 정도의 이벤트만 결과적으로 남게 됨. mimic3benchmark/scripts/more_on_validating_events.md).
- 실행결과
4. 각 실험대상의 데이터를 각각의 에피소드로 나눔.
- 각 이벤트의 time series는 {SUBJECT_ID}/episode{#}_timeseries.csv (#: 에피소드의 개수 ) 에 저장
- episode-level information (patient age, gender, ethnicity, height, weight) 과 outcomes (mortality, length of stay, diagnoses) 은{SUBJECT_ID}/episode{#}.csv 에 저장.
- event ITEMIDs 을 clinical variables 과 연결해주는 파일, clinical variables (for detecting outliers, etc.)의 유효성을 정의하는 파일 총 2개가 필요. Outlier detection is disabled in the current version.
참고자료
github.com/YerevaNN/mimic3-benchmarks/issues/102
반응형