KR102211240B1 - 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법 - Google Patents

허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법 Download PDF

Info

Publication number
KR102211240B1
KR102211240B1 KR1020180173091A KR20180173091A KR102211240B1 KR 102211240 B1 KR102211240 B1 KR 102211240B1 KR 1020180173091 A KR1020180173091 A KR 1020180173091A KR 20180173091 A KR20180173091 A KR 20180173091A KR 102211240 B1 KR102211240 B1 KR 102211240B1
Authority
KR
South Korea
Prior art keywords
data
heart disease
ischemic heart
data set
value
Prior art date
Application number
KR1020180173091A
Other languages
English (en)
Other versions
KR20200082474A (ko
Inventor
이석원
박평우
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020180173091A priority Critical patent/KR102211240B1/ko
Publication of KR20200082474A publication Critical patent/KR20200082474A/ko
Application granted granted Critical
Publication of KR102211240B1 publication Critical patent/KR102211240B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7271Specific aspects of physiological measurement analysis
    • A61B5/7275Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Psychiatry (AREA)
  • Physiology (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

허혈성 심장질환 진단 방법으로서, 초진 환자의 임상정보 데이터를 수집하여 최종 데이터를 생성하는 단계; 최종 데이터의, 언어를 재구성하고 이상점을 대체하며 인스턴스의 완성도 레벨을 부여함으로써 수집된 데이터를 전처리하는 단계; 전처리된 데이터를 이용하여, 데이터 세트를 생성하는 단계; 데이터 세트에 분류 알고리즘을 적용하는 단계를 포함하고, 수집된 데이터의 속성은 환자 색인, 서식번호, 서식명, 구분명, 항목명, 세부항목명, 수치, 텍스트 결과, 응답값으로 구성된다.

Description

허혈성 심장질환 진단 방법{METHOD FOR ISCHEMIC HEART DISEASE DIAGNOSIS}
본 발명은 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법에 관한 것이다.
현재 의료 분야에서 지식 및 관련 정보의 축적이 가속화되면서, 많은 양의 의료 데이터를 활용할 수 있게 되었다. 그러나 의료 전문가 및 의사는 짧은 시간 내에 이러한 데이터를 취합하여 실제 임상에 적용 가능한 결정을 내리기 어려워지고 있다. 또한, 의사마다 다른 관점을 갖고, 상황에 따라 같은 환자에 대하여 서로 상이한 진단을 내릴 수 있으며, 그 정확도와 신뢰도도 객관적으로 가늠하기 어렵다.
그동안 의사의 진단과 처방에 대하여 보조할 수 있는 시스템의 필요성이 대두되어 왔었고, 그에 대한 연구가 60여 년 전부터 진행되어오고 있으나, 종래 학습 기술과 축적된 데이터를 바탕으로 정해진 틀 안에서 최적화하는 선택을 할 수밖에 없어, 종래 의사결정 시스템은 아직 상용 가능하지 않은 수준, 또는 그 범위가 사람에 비해 한정적인 데에 그친다는 문제점이 있다.
특히, 허혈성 심장질환은 대표적인 심혈관 질환으로, 주로 심장혈관에 발생하는 동맥경화 및 혈전에 의해, 심근으로의 혈액 공급에 장애가 초래되는 상태를 말하며, 협심증과 심근경색 등이 이에 해당한다. 특히, 초기 진단과 이에 근거한 적절한 치료가 시행되지 못할 경우, 급사와 같이 치명적인 결과를 초래할 수 있는 급성 관동맥증후군으로 이어질 수 있다.
따라서, 허혈성 심장 질환은 신속하고 정확하게 진단하는 것이 매우 중요하나 이러한 질환을 신속하게 판명하고 정확하게 규명하는 것은 어렵다는 문제점이 있다.
본 발명은 상술한 문제점을 극복하기 위한 것으로서, 허혈성 심장질환을 신속하게 판명하고 정확하게 규명하기 위함이다.
또한, 허혈성 심장질환의 의료 진단 및 처방의 속도, 정확도, 및 신뢰도를 향상시키기 위함이다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 본 발명의 기재로부터 당해 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
[선행기술문헌]
[특허문헌]
대한민국 등록번호: 10-1273652 (등록일자: 2013년 6월 4일)
실시예는 허혈성 심장질환 진단 방법을 제공하고, 이러한 허혈성 심장질환 진단 방법은, 초진 환자의 임상정보 데이터를 수집하여 최종 데이터를 생성하는 단계; 상기 최종 데이터의, 언어를 재구성하고 이상점(Outlier)을 대체하며 인스턴스의 완성도 레벨을 부여함으로써 상기 수집된 데이터를 전처리 하는 단계; 상기 전처리된 데이터를 이용하여, 데이터 세트를 생성하는 단계; 상기 데이터 세트에 분류 알고리즘을 적용하는 단계를 포함하고, 상기 수집된 데이터의 속성은 환자 색인, 서식번호, 서식명, 구분명, 항목명, 세부항목명, 수치, 텍스트 결과, 응답값으로 구성된다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 데이터 세트를 생성하는 단계는, 상기 전처리된 데이터를 기초로 하여 제1 데이터 세트 내지 제6 데이터 세트를 생성하는 단계를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 분류 알고리즘은, 나이브 베이즈(naive bayes), 서포트 벡터 머신(support vector machine), 및 다층 퍼셉트론(Multi-Layer Perceptron)를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 데이터 세트에 분류 알고리즘을 적용하는 단계는, 상기 나이브 베이즈, 상기 서포트 벡터 머신, 및 상기 다층 퍼셉트론 중 적어도 하나를 상기 제1 데이터 세트 내지 제6 데이터 세트 각각에 적용하는 단계를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 초진 환자의 임상정보 데이터를 수집하여 최종 데이터를 생성하는 단계는, 초진 환자의 임상정보 데이터를 수집하고 수집된 데이터의 최종 데이터를 생성하는 단계는, 상기 수집된 데이터를 이용하여 1차 계층 구조를 생성하는 단계를 포함하고, 상기 수집된 데이터는, 상기 환자에 대하여 암호화된, 색인 정보, 성별, 나이, 진료일자, 진료과명, 주진단 여부, 진단코드, 진단명을 속성 값으로 포함한 제1 데이터, 허혈성 심장질환 확진 환자에 대한 데이터로서, 상기 제1 데이터와 속성과 값의 데이터 형식이 동일하게 구성된 제2 데이터, 상기 환자 색인 번호, 처방코드, 처방코드에 따른 문자열 형식의 처방명, 처방일, 결과값, 검체명, 및 검체 채취일자를 포함하는 제3 데이터, 및 상기 초진 기록에 대한 데이터인 제4 데이터를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 초진 환자의 임상정보 데이터를 수집하고 수집된 데이터의 최종 데이터를 생성하는 단계는, 상기 수집된 데이터 중, 오타 또는 미기입 값이 포함된 데이터는 미사용 데이터로 표시하고 상기 미사용 데이터 이외의 데이터를 사용 데이터로 표시하는 단계; 상기 사용 데이터의 속성에 대한 2차 계층 구조를 생성하는 단계; 및 상기 세부항목명이 NOMINAL 값을 가진 데이터에 상기 사용 데이터의 속성에 대한 3차 계층 구조를 생성하는 단계를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 최종 데이터의, 언어를 재구성하고 이상점을 대체하며 인스턴스의 완성도 레벨을 부여하여 상기 수집된 데이터를 전처리 하는 단계는, 상기 속성의 명칭을 영문으로 변환하는 단계; 상기 속성을 소정의 값으로 변환하는 단계; 및 상기 소정의 변환된 값을, 이상점을 대체하며 인스턴스의 완성도 레벨을 부여하여 상기 수집된 데이터를 전처리하는 단계를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 소정의 값은 영어 알파벳 또는 숫자로 구성된다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 소정의 변환된 값을, 이상점을 대체하며 인스턴스의 완성도 레벨을 부여하여 상기 수집된 데이터를 전처리하는 단계는, 잘못 표기된 값에 대하여 NULL로 대체하는 단계; 및 상기 최종 데이터의 각 인스턴스에 대하여 상기 각 인스턴스에 완성도 레벨(Complete Level)을 부여하는 단계를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 최종 데이터의 각 인스턴스에 대하여 상기 각 인스턴스에 완성도 레벨을 부여하는 단계는, 상기 속성에 대응하는 값의 수에 따라 상기 각 인스턴스에 완성도 레벨을 부여하는 단계를 포함한다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 완성도 레벨은 제1 레벨에서 제23레벨로 구성된다.
또한, 실시예에 따른 허혈성 심장질환 진단방법의, 상기 전처리된 데이터를 이용하여, 제1 데이터 세트 내지 제6 데이터 세트를 생성하는 데이터 세트 생성 단계는, 상기 전처리된 데이터에서 환자 색인을 삭제하여 제1 데이터 세트를 생성하는 단계; 상기 제1 데이터를 기초로 하여, 상기 NULL에 소정의 값을 부여하여 제2 데이터 세트를 생성하는 단계; 상기 제1 데이터 세트에 K-최근접 이웃 결측값 대체 알고리즘을 적용하여 제3 데이터 세트를 생성하는 단계; 상기 제1 데이터 세트에 정보 이득(Information Gain)에 대한 엔트로피(Entropy) 순위 계산 알고리즘을 적용하여 제4 데이터 세트를 생성하는 단계; 상기 제1 데이터 세트에 유전 탐색 알고리즘을 적용하여 제5 데이터 세트를 생성하는 단계; 및 상기 제1 데이터 세트에 금기 탐색 알고리즘을 적용하여 제6 데이터 세트 생성 단계를 포함한다.
본 발명에 따른 허혈성 심장질환 진단 방법은, 허혈성 심장질환을 신속하게 판명하고 정확하게 규명할 수 있는 효과가 있다.
또한, 허혈성 심장질환의 의료 진단 및 처방의 속도, 정확도, 및 신뢰도를 향상되는 효과가 있다.
도 1은 실시예에 따른 허혈성 심장질환 진단 방법의 흐름도이다.
도 2는 실시예에 따른 데이터 세트이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 도 1 및 도 2를 참조하여 실시예에 따른 허혈성 심장질환 진단 방법을 상세히 헐명한다.
도 1은 실시예에 따른 허혈성 심장질환 진단 방법의 흐름도이다.
도 2는 실시예에 따른 데이터 세트이다.
도 1 및 도 2를 참조하면, 실시예에 따른 허혈성 심장질환 진단 방법은, 데이터 마이닝을 위한 교차 산업 표준 절차(Cross Industry Standard Process for Data Mining, CRISP-DM)를 기반으로 수행되고, 데이터 수집 단계(S10), 데이터 전처리 단계(S20), 데이터 세트 생성 단계(S30), 알고리즘 적용 단계(S40), 테스트 및 검증 단계(S50), 및 알고리즘 개선 단계(S60)를 포함한다.
데이터 수집 단계(S10)에서 초진 환자의 임상정보 데이터를 수집하고, 초진 기록 속성 및 값을 분석하여 수집된 데이터의 1차 계층 구조를 생성한다. 이때, 수집된 데이터의 속성은 환자 색인 번호, 서식번호, 서식명, 구분명, 항목명, 세부항목명, 수치 결과, 텍스트 결과, 응답값의 총 9가지로 구성된다.
구체적으로, 아주대학교 병원 심혈관센터 및 순환기내과에 처음 병원에 온 환자를 기준으로 환자의 임상정보를 통해 대조군과 환자군을 분류한다. 이때, 1차 계층 구조는 아주대학교 병원 심혈관 센터 및 순환기내과에 처음 병원에 온 환자의 진료 정보를 기초로 하여 생성된다.
또한, 아주대학교 병원 심혈관센터 및 순환기내과에 처음 병원에 온 환자 중 허혈성 심장질환으로 최종 진단을 받은 환자를 환자군으로 선정하고, 아주대학교 병원 심혈관센터 및 순환기내과에 처음 병원에 온 환자 중 환자군을 제외한 나머지 환자, 즉, 최종 진단이 허혈성 심장질환이 아닌 환자로 대조군을 선정한다. 제외 기준은 최초로 허혈성 심장질환 진단 및 처방을 받기 전 이미 다른 병원에서 진단 및 시술을 받은 경우이다.
수집된 데이터는 제1 데이터 내지 제4 데이터를 포함하고, 제1 데이터는 모든 환자에 대하여 암호화된 환자의 색인 정보, 성별, 나이, 진료일자, 진료과명, 주진단 여부, 진단코드, 진단명을 속성값으로 포함하고 있다. 환자 데이터 수는 18336개로, 중복된 데이터를 제외하면 실제 환자의 수는 17123명이다. 이 외, 진료일자는 최종 진단을 받은 날짜이고, 진료과명은 모두 심혈관센터로 동일하며, 주진단여부 값도 모두 Y로 동일하다. 또한, 진단코드는 한국표준질병 사인분류(Korean Standard Classification of Diseases, KCD)로, 대한민국에서 의무기록자료 및 사망원인통계조사 등 질병질환 및 사망자료를 그 성질의 유사성에 따라 체계적으로 유형화한, 알파벳과 숫자로 이루어진 코드이다. 마지막 속성인, 진단명은 진단코드를 문자열로 풀어서 기록한 데이터이다.
이후, 제1 데이터의 속성에 따른 활용은 암호화된 환자의 색인 정보를 고유 색인 번호로 선정하고, 성별, 나이, 진료일자, 진단코드를 속성으로 활용한다. 진료과 명이 모두 심혈관센터 값으로 같고, 주진단 여부도 모두 Y 값으로 동일하며, 진단명에는 진단코드가 같은 경우에도 잘못 쓰인 문자열이 있기 때문에 제외한다. 즉, 환자의 색인 번호, 성별, 나이, 진료일자, 그리고 진단코드를 속성으로 추출하고, 중복되는 경우 가장 앞선 초진의 경우를 선택한다.
제2 데이터는 허혈성 심장질환 확진 환자에 대한 데이터로서, 제1 데이터와 속성과 값의 데이터 형식이 동일하게 구성되어 있다. 데이터의 수는 1857개로, 중복된 환자에 대한 데이터는 없다. 이를 통해, 환자의 암호화 된 색인 값을 기준으로 허혈성 심장질환 확진 여부를 결정한다. 이때, 동일한 환자의 색인 번호가 존재하는 경우, 확진 속성을 추가하여 0 또는 1 값으로 확진 여부를 판단한다.
제3 데이터는 환자의 검체를 채취하여 4가지 요소에 대하여 측정한 결과를 기입한 데이터로서, 전체 데이터는 43673개, 총 7373명 환자에 대한 검체 측정 결과를 포함하고 있다. 제3 데이터는 환자 색인 번호, 처방코드, 처방코드에 따른 문자열 형식의 처방명, 처방일, 결과 값, 검체명, 및 검체 채취일자를 포함한다. 이러한 제3 데이터에서 처방코드를 기준으로 처방명을 분류하고, 이를 속성값으로 활용하여 그 결과 값을 사용한다. 구체적으로, 각 4가지 처방코드에 대하여 속성 이름은 처방명으로 선정하고, 그 결과값을 작성할 때 중복된 결과가 있는 경우 가장 앞선 초진의 경우를 선택한다.
제4 데이터는 초진 기록에 대한 데이터로, 총 초진 기록 데이터의 개수는 624935개, 데이터의 형식을 벗어나거나 처리할 수 없는 값이 있는 경우를 제외하면 622244개 데이터가 존재한다.
제4 데이터의 속성은 환자 색인 번호, 서식번호, 서식명, 구분명, 항목명, 세부항목명, 수치 결과, 텍스트 결과, 응답 값의 총 9가지로 구성되어 있으며, 초진 기록을 가진 환자의 수는 7243명으로, 한 명당 평균 85.91개의 데이터가 있다.
이때, 실시예에 따른 진단 방법에서 불필요한 데이터 속성은. 서식번호, 값이 초진 기록으로 기입된 서식명이다. 이러한 불필요한 데이터 내 속성을 제외한 7가지 속성을 분석한다.
먼저, 구분명 속성의 값은, Impression, NULL, Plan, 입원 및 수술 이력, 주호소, 통증평가이고, 2차 속성인 항목명은 Admission history, Allergy, Allergy history, Breathing sound, DBP(mmHg), Diagnosis, DM, Drug allergy, Drug allergy history, duration, Dyslipidemia, FHx, Food allergy, General appearance, Heart, Heart beat, Hepatitis, HTN, Murmur, on medication, onset, other FHx, other PHx, Pain, PEx, PHx, Plan, Pul.tbc, ROS, SBP (mmHg), 개월, 기간, 기타, 끊음 음주, 끊음 흡연, 나이, 내용, 맥박 (회/분), 부위, 성별, 양상, 음주, 입원 및 수술 시기, 입원 및 수술력, 자가약, 종류 음주, 주증상 및 내원사유, 체온(℃), 체중, 키, 호흡 (회/분), 흡연으로 총 52개이다. 항목명의 하위 항목인 세부항목, 수치 결과, 텍스트 결과, 응답 값은 다양한 수치형(Numeric) 및 명목형(Nominal), 그리고 문자열(String)로 구성된다.
이하, 표 1에 초진 기록의 수집된 데이터 내 1차 계층 구조가 나타난다.
구분명 항목명 세부항목 사용 /
개수 (NULL 제외)
Impression Diagnosis NULL 텍스트 결과 X / 8298 (8892)
Plan plan NULL 텍스트 결과 X / 15 (15)
통증평가 기간 NULL 텍스트 결과 X / 6630 (4)
부위 NULL 텍스트 결과 X / 6630 (38)
양상 NULL 텍스트 결과 X / 6630 (58)
주호소 duration NULL 텍스트 결과 O / 7333 (259)
onset NULL 텍스트 결과 X / 7330 (146)
기타 NULL 텍스트 결과 X / 7381 (510)
주증상 및 내원사유 NULL 텍스트 결과 X / 7510 (7510)
입원 및 수술력 내용 NULL 텍스트 결과 X / 403 (284)
입원 및 수술 시기 NULL 텍스트 결과 X / 501 (501)
NULL Admission history N, Y 응답값 O / 12508 (12508)
Allergy N, Y 응답값 O / 20729 (20729)
Allergy history NULL 텍스트 결과 X / 7301 (77)
Breathing sound NOMINAL 응답값 X / 25016 (9)
DBP (mmHg) NULL 수치형 결과 O / 7311 (6881)
DM N, Y 응답값 O / 12508 (12508)
Drug allergy NOMINAL 응답값 O / 21939 (21939)
Drug allergy history NULL 텍스트 결과 X / 7172 (61)
Dyslipidemia N, Y 응답값 O / 12508 (12508)
FHx N, Y 응답값 O / 14626 (14626)
Food allergy NULL 텍스트 결과 X / 7277 (54)
General appearance NOMINAL 응답값 X / 1059 (1)
Heart NULL 텍스트 결과 X / 6252 (3)
Heat beat NOMINAL 응답값 O / 6254 (217)
Hepatitis NOMINAL 응답값 O / 31270 (31270)
HTN N, Y 응답값 O / 12508 (12508)
Murmur N, Y 응답값 X / 12508 (12508)
on medication N, Y 응답값 O / 12508 (12508)
other FHx NULL 텍스트 결과 X / 6993 (1063)
other PHx NULL 텍스트 결과 X / 6757 (362)
Pain NOMINAL 응답값 O / 21939 (21939)
PEx NOMINAL 응답값 X / 23098 (7320)
PHx NOMINAL 응답값 O / 24157 (24157)
Plan N, Y 응답값 O / 14626 (14626)
Pul.tbc N, Y 응답값 O / 12508 (12508)
ROS NOMINAL 응답값 O / 64658 (64658)
SBP (mmHg) NULL 수치형 결과 O / 7311 (6885)
개월 NULL 수치형 결과 O / 7311 (7311)
끊음 음주 NOMINAL 응답값 X / 6254 (36)
끊음 흡연 NOMINAL 응답값 X / 6254 (52)
나이 NULL 수치형 결과 O / 7311 (7311)
맥박 (회/분) NULL 수치형 결과 O / 7311 (6644)
성별 NOMINAL 응답값 O / 7313 (7311)
음주 NOMINAL 응답값 O / 18762 (18762)
입원 및 수술력 N, Y 응답값 O / 2118 (2118)
자가약 N, Y 응답값 O / 14626 (14626)
종류 음주 NOMINAL 응답값 X / 25016 (59)
체온 (℃) NULL 수치형 결과 O / 7313 (171)
체중 NULL 수치형 결과 O / 2633 (171)
NULL 수치형 결과 O / 7313 (2294)
호흡 (회/분) NULL 수치형 결과 X / 7311 (8)
흡연 NOMINAL 응답값 O / 18762 (18762)
또한, 데이터 수집 단계(S10)에서, 1차 계층 구조를 기반으로 유용한 정보를 정리 및 분류하여 수집된 데이터의 사용 여부를 결정한다.
이러한 유용한 정보의 정리는, 알고리즘 적용 단계(S40)에서 알고리즘 적용 시, 필요한 결측 값 처리(Missing Value Handling) 작업 또는 적용 가능한 형식으로 데이터 세트를 구성하고, 기계 학습 알고리즘 적용 결과에 반영되는 노이즈(Noise) 정도 및 이상 점(Outlier)에 대한 개체 수를 줄여 정확도와 신뢰도를 높일 수 있다. 유용한 정보 정리는 전자의무기록에 대한 데이터 세트 구축 이전에 정보를 정교화하고 양질의 것으로 가공하기 위함이다.
데이터 수집 단계(S10)에서 1차 계층 구조 중 사용 속성이 "O"인 데이터를 사용 데이터로 추출하고, 사용 속성이 "X"인 데이터를 미사용 데이터로서 추출하고 데이터의 사용 또는 미사용을 결정한다.
구체적으로, 사용 속성이 "O"인 데이터 중 사용 데이터로 표시는 하였으나, 다른 세 개의 데이터 세트에서 중복된 내용은 실제로 사용하지 않는다. 미사용 데이터의 속성은, 내부 데이터가 오타 또는 미기입 값이 대부분이고, 자연어 처리 과정을 치밀하게 적용하더라도 실질적으로 해당 속성값은 무의미한 데이터이다. 이러한 데이터는 대문자 및 소문자, 영문, 한글, 한문의 무작위 혼용, 작성한 의사 및 의료 전문가의 개인적인 언어 사용의 차이 등으로 인하여 속성값은 무의미하다. 또한, 미사용 데이터는 심장질환의 진단에 전혀 영향을 주지 않는 문자열로 데이터 세트에 기입된 데이터도 존재하며, 자연어 부분을 제외하면 99% 이상이 결측 값으로, 전혀 속성 값으로 선별할 수 없는 데이터가 포함된다.
또한, 데이터 수집 단계(S10)에서 사용 데이터를 추출한 다음, 사용 데이터의 모든 속성에 대한 2차 계층 구조를 생성한다. 예를 들어, 데이터 세트에 존재하는 1차 및 2차 속성의 총 63개 중, 29개를 사용 및 처리할 수 있고, 해당 2차 속성의 하위 값은 3차 속성으로써 전처리를 수행하여 하나의 다른 독립된 속성으로 사용할 수 있다. 이하의 표 2는 데이터 세트 내에서 사용 데이터의 모든 속성에 대한 2차 계층 구조를 나타낸 것이다.
구분명 항목명 세부항목 사용 /
개수 (NULL 제외)
주호소 duration NULL 텍스트 결과 O / 7333 (259)
NULL Admission history N, Y 응답값 O / 12508 (12508)
Allergy N, Y 응답값 O / 20729 (20729)
DBP (mmHg) NULL 수치형 결과 O / 7311 (6881)
DM N, Y 응답값 O / 12508 (12508)
Drug allergy NOMINAL 응답값 O / 21939 (21939)
Dyslipidemia N, Y 응답값 O / 12508 (12508)
FHx N, Y 응답값 O / 14626 (14626)
Heat beat NOMINAL 응답값 O / 6254 (217)
Hepatitis NOMINAL 응답값 O / 31270 (31270)
HTN N, Y 응답값 O / 12508 (12508)
on medication N, Y 응답값 O / 12508 (12508)
Pain NOMINAL 응답값 O / 21939 (21939)
PHx NOMINAL 응답값 O / 24157 (24157)
Plan N, Y 응답값 O / 14626 (14626)
Pul.tbc N, Y 응답값 O / 12508 (12508)
ROS NOMINAL 응답값 O / 64658 (64658)
SBP (mmHg) NULL 수치형 결과 O / 7311 (6885)
개월 NULL 수치형 결과 O / 7311 (7311)
나이 NULL 수치형 결과 O / 7311 (7311)
맥박 (회/분) NULL 수치형 결과 O / 7311 (6644)
성별 NOMINAL 응답값 O / 7313 (7311)
음주 NOMINAL 응답값 O / 18762 (18762)
입원 및 수술력 N, Y 응답값 O / 2118 (2118)
자가약 N, Y 응답값 O / 14626 (14626)
체온 (℃) NULL 수치형 결과 O / 7313 (171)
체중 NULL 수치형 결과 O / 2633 (171)
NULL 수치형 결과 O / 7313 (2294)
흡연 NOMINAL 응답값 O / 18762 (18762)
이후, 데이터 수집 단계(S10)에서, 사용 데이터의 3차 속성 분석을 통해 독립된 1차 속성으로 변환할 수 있는 속성을 탐색하고, 속성에 대한 3차 계층 구조를 생성한다. 구체적으로, 사용 데이터의 세부항목 중 NOMINAL 값을 가진, 데이터에 한해서 3차 속성 분석이 이루어진다.
이하의 표 3은 사용 데이터의 3차 속성 분석은 후 생성된 3차 계층 구조를 나타낸다.
항목명 세부항목 NULL을 제외한 세부항목 값 사용 /
개수 (NULL 제외)
Drug allergy NOMINAL 기타, 기타 베타락탐계, 페니실린계 O / 21939 (21939)
Heat beat NOMINAL Irregular, Irregularly Irregular, Regular O / 6254 (217)
Hepatitis NOMINAL A, B, C, Carrier, 기타 O / 31270 (31270)
Pain NOMINAL N, Y, 대진 O / 21939 (21939)
PHx NOMINAL Alcohol, DM, Hepatitis, HTN, N, Pul.tbc, Smoking, Y, 기타, 뇌혈관 질환, 모름, 심혈관 질환, 없음 O / 24157 (24157)
ROS NOMINAL Chest Pain, Dizziness, DOE, Dyspnea, Headache, Orthopnea, Palpitation, Syncope, 기타, 특이호소 없음 O / 64658 (64658)
성별 NOMINAL 여, 남 O / 7313 (7311)
음주 NOMINAL N, Y, Quit O / 18762 (18762)
흡연 NOMINAL N, Y, Quit O / 18762 (18762)
표 3의 3차 속성 계층 구조 내, 하나의 간단한 세부항목 값을 갖고 서로 다른 값에 대하여 중복되지 않는 경우는 체계별 문진(Review of System, ROS)을 제외한 모든 속성으로, 2차 속성인 항목명을 그대로 1차 속성으로 변환하여 사용할 수 있다. 그러나 체계별 문진의 경우에는 10개의 세부항목 값이 1차 속성으로 변환할 만큼 한 환자에 대한 정보가 중첩된다. 따라서 3차 속성을 1차 속성으로 변환한다. 이때, 세부항목 값인 기타와 특이호소 없음은 제외한다.
이러한 3차 속성까지의 분석을 종료하고, 모든 데이터를 통해 1차 속성으로 변환하여, 최종 데이터를 생성한다. 생성된 최종 데이터의 속성 및 형식은 다음 표 4와 같다.
속성 데이터 형식
환자 색인 값 수치
초진 일자 수치
성별 명목 (여자, 남자)
나이 수치
수치
체중 수치
체온 (℃) 수치
맥박 (회/분) 수치
흡연 명목 (N, Y, Quit)
음주 명목 (N, Y, Quit)
Pain 명목 (N, Y)
duration 문자열
개월 수치
Heart beat 명목 (Regular, Irregular, Irregularly Irregular
DBP (mmHg) 수치
SBP (mmHg) 수치
Dyslipidemia 명목 (N, Y)
DM 명목 (N, Y)
FHx 명목 (N, Y)
ROS (Chest Pain) 명목 (N, Y)
ROS (Dizziness) 명목 (N, Y)
ROS (DOE) 명목 (N, Y)
ROS (Dyspnea) 명목 (N, Y)
ROS (Headache) 명목 (N, Y)
ROS (Orthopnea) 명목 (N, Y)
ROS (Palpitation) 명목 (N, Y)
ROS (Syncope) 명목 (N, Y)
HTN 명목 (N, Y)
Pul.tbc 명목 (N, Y)
Hepatitis 명목 (A, B, C, Carrier, N)
PHx 문자열
자가약 명목 (N, Y)
on medication 명목 (N, Y)
Allergy 명목 (N, Y)
Drug allergy 문자열
CK-MB 수치
Creatinine 수치
Myoglobin 수치
Troponin | Test(POCT) 수치
Admission history 명목 (N, Y)
입원 및 수술력 명목 (N, Y)
Plan 명목 (N, Y)
First Visit Record 명목 (N, Y)
진단코드 문자열
확진 명목 (0, 1)
이후, 의료 전문가의 임상변수 및 견해, 그리고 의료 서적의 임상변수를 바탕으로 최종 데이터를 다시 분석한다. 먼저, 임상변수를 살펴보면 다음 표5와 같다. 이는 의료 전문가와 서적의 임상변수를 바탕으로 작성되었다. 표 5는, 흉통 환자의 초기 진단 및 위험도 평가에 대한 가용 임상적 변수이다.
연령 70세 이하 70세 초과
성별
혈압 (상완)
분당 맥박수
흉통의 특징
- 발생 시점 4주 미만 4주 이상
- 경과 빈도 증가 지속 시간 증가 강도 증가 적은
운동량
발생
- 안정 시 흉통 없음 48시간 내
통증
- 압통 있음 없음
- 흉막 흉통 있음 없음
- 부위 가슴 중앙 흉골 우측 좌측 여러 부위 명치 아래
- 범위 < 3cm = 3cm 가슴 전체
- 자세 연관성 없음 있음 누운 자세
- 양상 날카로운 통증 뻐근함 압박감 심한 통증
- 동반 증상 호흡 곤란 식은땀 기침 객혈 두근거림
- 지속 시간 < 1분 2분 - 10분 > 10분 > 20분 > 1시간
- 방사통 어깨
(좌 / 우)

(좌 / 우)
복부
- 악화 인자 없음 운동 스트레스 및 흥분
- 완화 인자 없음 휴식
- 약물
사용 후 호전
니트로
글리세린
제산제 진통
소염제
심혈관계
위험인자
고혈압 당뇨 흡연 고지혈증 가족력
심혈관질환
과거력
협심증 심근경색 중재 시술 우회로술
신체 진찰
- 호흡음 감소 없음 있음
(좌 / 우)
- 거품 소리 없음 있음
(좌 / 우)
- 심장막
마찰음
있음 없음
심전도 소견
- ST 분절 정상 상승
(새로 발생 / 이전과 일치 /
모름)
하강
(새로 발생 / 이전과 일치 /
모름)
새로 발생 (0.05mV
상승 / 0.05mV
하강)
- T 파 정상 역위
(새로 발생 / 이전과 일치 /
모름)
새로 발생
(0.2mV
역위)
- Q 파 정상 깊이
- LBBB 없음 새로 발생 모름
흉부 X-ray
- 폐부종 있음 없음
- 종격동 확장 있음 없음
- 기흉 있음 없음
혈액 검사
- CK-MB /
CK Ratio
< 5% = 5%
- HS Troponin 정상 비정상
- Hemoglobin 정상 비정상
- Serum
Creatinine
정상 비정상
- Myoglobin 정상 비정상
주어진 데이터 세트 내 사용할 수 있는 모든 속성 44개와, 위 실제 임상적 변수의 1차 속성과 2차 속성인 36개의 속성을 비교한다. 이때, 공통 속성은 36개 중 연령, 성별, 혈압, 분당 맥박수, 안정 시 흉통, 지속 시간, 악화 인자, 심혈관계 위험인자, 심혈관질환 과거력, CK-MB / CK Ratio, HS Troponin, Creatinine, Myoglobin으로 총 13개이다.
또한, 추가 분석을 통해, 실제 새로운 환자의 데이터가 입력되었을 때, 타당한 속성만을 갖는 데이터 세트로 재구성하여 최종 데이터를 생성한다.
이러한 최종 데이터는 표 6과 같고, 이는 표 4의 속성을 바탕으로 의료 전문가의 도움을 통해 재가공한 것이다. 각 속성을 제외하는 이유는, 실제 병원에서 편의를 위하여 검사의 단계를 생략할 때 정상적으로 값을 기입하지 않은 경우와, 통상적으로 과거의 정보를 누적하지 않고 새롭게 갱신해버리는 경우가 있기 때문이다. 또한, 검체 결과에 대한 네 속성과 진단코드 등의 속성은 초진이라고 할지라도 수술 이전 및 이후에 대한 관계가 불명확하여 제외한다.
추가하는 속성은 체질량지수(Body Mass Index, BMI)와 맥압(Pulse Pressure)이다. 이는 종래 체중과 키, 및 수축기혈압(Systolic Blood Pressure, SBP)과 확장기혈압(Diastolic Blood Pressure, DBP)을 통해 계산한다.
이는 체질량지수 및 맥압 중 값이 하나라도 존재하지 않는 경우에 생길 수 있는 문제를 최소화하고자 하기 때문이다.
표 6은 데이터 수집 단계(S10)에서 생성한 최종 데이터의 속성 및 최종 데이터 형식이다.
속성 데이터 형식
환자 색인 값 수치
초진 일자 수치
성별 명목 (여자, 남자)
나이 수치
수치
체중 수치
체질량지수 수치
체온 (℃) 수치
맥박 (회/분) 수치
흡연 명목 (N, Y, Quit)
음주 명목 (N, Y, Quit)
Pain 명목 (N, Y)
duration 문자열
개월 수치
Heart beat 명목 (Regular, Irregular, Irregularly Irregular
DBP (mmHg) 수치
SBP (mmHg) 수치
맥압 (mmHg) 수치
Dyslipidemia 명목 (N, Y)
DM 명목 (N, Y)
FHx 명목 (N, Y)
ROS (Chest Pain) 명목 (N, Y)
ROS (Dizziness) 명목 (N, Y)
ROS (DOE) 명목 (N, Y)
ROS (Dyspnea) 명목 (N, Y)
ROS (Headache) 명목 (N, Y)
ROS (Orthopnea) 명목 (N, Y)
ROS (Palpitation) 명목 (N, Y)
ROS (Syncope) 명목 (N, Y)
HTN 명목 (N, Y)
Pul.tbc 명목 (N, Y)
Hepatitis 명목 (A, B, C, Carrier, N)
자가약 명목 (N, Y)
on medication 명목 (N, Y)
Allergy 명목 (N, Y)
Drug allergy 문자열
First Visit Record 명목 (N, Y)
확진 명목 (0, 1)
데이터 전처리 단계(S20)는, 속성 언어 재구성 단계(S21), 값 언어 재구성 단계(S22), 이상점 처리 단계(S23), 및 데이터 선별 단계(S24)를 포함하고, 최종 데이터에서, 1차 속성인 주호소와 NULL의 구분명은 삭제하고, 2차 속성을 전부 1차 속성으로 전환한다.
속성 언어 재구성 단계(S21)는 한글로 되어있는 속성과 그 값들을 모두 영문으로 전환하는 단계이다. 이는 추후에 사용하는 데이터 마이닝 도구인 웨카(WEKA)와 알(R)에서 한글을 지원하지 않기 때문이다. 데이터 세트 수집 및 분석 단계에서 수행한 내용을 바탕으로 구성된 이하의 표 7을 참고하여 속성을 영문으로 변환한다. 속성 언어 재구성 단계(S21)는 데이터 마이닝 도구에 적용할 수 있는 형식으로 변환하고 일관된 이해를 돕기 위한 것이다.
기존 속성 명칭 (한글+영문) 갱신 속성 명칭 (영문)
환자 색인 값 PatientIndex
초진 일자 DiagnosisDate
성별 Sex
나이 Age
Height
체중 Weight
체질량지수 BodyMassIndex
체온 (℃) BodyTemperature
맥박 (회/분) Pulse
흡연 Smoking
음주 Drinking
Pain Pain
Duration Duration
개월 Month
Heart beat Heartbeat
DBP (mmHg) DiastolicBloodPressure
SBP (mmHg) SystolicBloodPressure
맥압 (mmHg) PulsePressure
Dyslipidemia Dyslipidemia
DM DiabetesMellitus
FHx FamilyHistory
ROS (Chest Pain) ChestPain
ROS (Dizziness) Dizziness
ROS (DOE) DyspneaOnExertion
ROS (Dyspnea) Dyspnea
ROS (Headache) Headache
ROS (Orthopnea) Orthopnea
ROS (Palpitation) Palpitation
ROS (Syncope) Syncope
HTN Hypertension
Pul.tbc PulmonaryTuberculosis
Hepatitis Hepatitis
자가약 SelfMedicine
on medication OnMedication
Allergy Allergy
Drug allergy DrugAllergy
First Visit Record FirstVisitRecord
확진 Class
값 언어 재구성 단계(S22)는 수치, 명목, 및 문자열 형식의 데이터를 영문으로 변환하는 단계로서, 속성 언어 재구성과 같이, 기존 값을 특정 영문으로 변환한다. 한 속성 내에서 일치하지 않는 형식의 복잡한 데이터 형식은 이후 과정에서 혼란을 야기하고, 연산에 가중을 부담하거나 오히려 훈련을 방해한다. 값 언어 재구성 단계(S22)는 아래 표 8의 데이터 세트 값 언어 재구성과 같이, 종래 값을 갱신 값으로 변환한다. 이때, 임상변수를 기준으로 자연어 처리도 함께 수행한다.
속성 기존 값 갱신 값
Sex 여자 0
남자 1
Smoking N N
Quit Q
Y Y
Drinking N N
Quit Q
Y Y
Duration 수치 - 1분 이하 1
수치 - 1분 초과 10분 이하 2
수치 - 10분 초과 20분 이하 3
수치 - 20분 초과 1시간 이하 4
수치 - 1시간 초과 5
Heartbeat Regular RG
Irregular IR
Irregularly Irregular II
Hepatitis N N
A A
B B
C C
Carrier R
기타 E
DrugAllergy N N
기타 E
기타 베타락탐계 B
페니실린계 P
이상점 처리 단계(S23)는 이상점(Outlier)을 결측 값으로 대체하는 것으로, 의학 상식을 벗어나거나 잘못 표기된 값에 대하여 결측 값으로 대체하는 단계이다. 즉, 이상점 처리 단계(S23)에서 상식적으로 불가능하거나 일반적인 이해가 어려운 데이터의 값을 이상점으로 간주하고 결측 값인 NULL로 대체한다.
1차 이상점 처리 이후, 추가로 선정한 두 속성에 대하여 작업을 수행한다. 해당 첫 번째 BodyMassIndex 속성은 Height 및 Weight 중 하나의 값이라도 존재하지 않으면 계산하지 않도록 한다. PulsePressure 속성도 이와 마찬가지로 두 값이 모두 존재할 때 연산을 수행한다. 또한, 2차로 속성 간 값이 뒤바뀐 경우나 이해하기 어려운 결과가 나오는 경우, 관련 값을 모두 결측 값으로 처리한다. 이상점 처리 단계(S23)에서 이상점이 결측 값으로 대체되는 내역은 이하의 표 9와 같다.
환자 색인 값 속성
9229 Height 0
9229 Weight 0
1176 Weight 9
15057 Weight 538
5682 Weight 660
5284 BodyTemperature 0
11639 BodyTemperature 61
785 BodyTemperature 62
10675 BodyTemperature 68
568 BodyTemperature 70
5809 BodyTemperature 71
647 BodyTemperature 73
9538 BodyTemperature 76
4732 BodyTemperature 82
5529 BodyTemperature 83
11603 BodyTemperature 84
10334 BodyTemperature 92
9722 BodyTemperature 93
1297 Pulse 0
8695 DiastolicBloodPressure 788
7646 DiastolicBloodPressure 832
12719 SystolicBloodPressure 11
105 SystolicBloodPressure 12
11208 SystolicBloodPressure 14
10915 BodyMassIndex 54.0833
226 BodyMassIndex 61.7284
16696 BodyMassIndex 65.3566
1603 BodyMassIndex 185.042
13069 BodyMassIndex 243.999
6740 BodyMassIndex 328.571
5852 BodyMassIndex 350.765
10119 BodyMassIndex 371.771
11584 BodyMassIndex 477.07
3068 BodyMassIndex 572.517
데이터 세트 분할 및 선택 단계(S24)는, 최종 데이터의 각 인스턴스에 대하여, 속성값의 수를 세고 각 인스턴스의 완성도 레벨(Complete Level)을 부여하는 단계이다. 즉, 각 인스턴스가 속성값으로 NULL을 포함하지 않은 어떠한 특정 값을 가지고 있는 경우, 속성값의 개수를 세고 속성값의 개수에 대응하는 완성도 레벨을 부여한다. 전체 인스턴스에서 완성도 레벨을 나타내는 전체 단계는 23단계로 다음 표 10과 같다.
데이터 선별 단계(S24)를 통해, 전체 데이터 세트 중, 허혈성 심장질환 확진 환자와 비 확진 환자에 대한, 불균형 데이터(Imbalanced Data) 문제를 해결할 수 있다. 만약, 이러한 방식으로 불균형 데이터 문제를 해결하지 않는다면, 확진 환자 수의 12배 이상인 비 확진 환자의 데이터로 훈련 자체가 편향되기(Biased) 때문이다. 구체적으로, 이 과정에서는 완성도 레벨과 초진 기록 여부를 나타내는 속성이 관여한다.
완성도 레벨 속성값 보유 개수
1 4
2 5
3 6
4 12
5 13
6 14
7 15
8 16
9 17
10 18
11 19
12 20
13 26
14 28
15 29
16 30
17 31
18 32
19 33
20 34
21 35
22 36
23 37
다음으로, 데이터 선별 단계(S24)에서 속성값의 개수와 완성도 레벨을 바탕으로 허혈성 심장질환 확진 환자와 비 확진 환자의 불균형성을 해결하기 위하여, 이하의 표 11과 같이, 환자에 대한 완성도 레벨과 속성값 보유 개수를 연관시킨다.
완성도 레벨 속성값 보유 개수 확진 환자 수
(초진 기록 유무)
상위 누적 수
비 확진 환자 수
(초진 기록 유무)
상위 누적 수
1 4 2 (N) 1856 11 (N) 15267
2 5 2 (N) 1854 1 (N) 15256
3 6 1351 (N) 1852 8513 (N) 15255
4 12 0 (N) 501 9 (Y) 6742
5 13 0 (N) 501 3 (Y) 6733
6 14 0 (N) 501 1 (Y) 6730
7 15 0 (N) 501 19 (Y) 6729
8 16 12 (Y) 501 565 (Y) 6710
9 17 4 (Y) 489 128 (Y) 6145
10 18 0 (N) 485 10 (Y) 6017
11 19 4 (Y) 485 273 (Y) 6007
12 20 1 (Y) 481 16 (Y) 5734
13 26 0 (N) 480 2 (Y) 5718
14 28 11 (Y) 480 195 (Y) 5716
15 29 4 (Y) 469 37 (Y) 5521
16 30 0 (N) 465 30 (Y) 5484
17 31 13 (Y) 465 224 (Y) 5254
18 32 322 (Y) 452 2981 (Y) 5030
19 33 23 (Y) 130 543 (Y) 2049
20 34 3 (Y) 107 99 (Y) 1706
21 35 101 (Y) 104 1500 (Y) 1607
22 36 3 (Y) 3 104 (Y) 107
23 37 0 (N) 0 3 (Y) 3
다음으로, 데이터 선별 단계(S24)에서 데이터 세트 내 비 확진 환자보다 인스턴스의 수가 적은 확진 환자의 수를 기준으로 데이터를 선별한다. 최상위 완성도 레벨부터 초진 기록 유무를 기준으로 최대 레벨을 결정하면, 501개의 인스턴스를 통해 확진 환자의 데이터 세트를 생성할 수 있다. 그러나 해당 인스턴스 각각을 분석하면, 체계별 문진 값이나 심장질환 진단에 중요한 임상변수를 기준으로 상당 부분이 결측 값으로 작성되어 있다는 것을 알 수 있다. 따라서, 최상위 완성도 레벨인 23부터 14까지 480개의 데이터를 기반으로 확진 환자의 데이터 세트를 생성한다.
이와 마찬가지로 불균형 문제를 해결하기 위하여, 비 확진 환자의 인스턴스도 상위 480개를 선정하여 데이터 세트를 각각 생성한다. 이때, 비 확진 환자의 같은 레벨에서 우선순위는 환자의 색인 값을 기준으로 오름차순 정렬 후, 속성의 개수로 내림차순 정렬하여 작업한다.
데이터 세트 생성 단계(S30)는 제1 데이터 세트 생성 단계(S31), 제2 데이터 세트 생성 단계(S31), 제3 데이터 세트 생성 단계(S33), 제4 데이터 세트 생성 단계(S34), 제5 데이터 세트 생성 단계(S35), 및 제6 데이터 세트 생성 단계(S36)를 포함하고, 여섯 종류의 데이터 세트를 생성한다. 데이터 세트 생성 단계(S30)에서는 최종 데이터에서, 사용 가능한 데이터 세트와 활용이 어려운 데이터 세트로 분류한다. 이를 통해, 시스템 입력에 적용 가능한 데이터 형식으로 구체화하여 명시할 수 있다.
제1 데이터 세트 생성단계(S31)에서 결측 값을 대체하지 않고 온전히 전자의무기록의 데이터 세트의 값을 보유하는 표준 데이터 세트인 제1 데이터 세트를 생성한다. 제1 데이터 세트 생성단계(S31)에서, 표준 데이터 세트로 다듬기 위하여, 데이터 전처리 단계(S20)에서 임의로 생성한 환자 색인 속성과 초진 기록 속성, 그리고 속성 보유 개수에 대한 속성을 삭제한다. 즉, 이하의 표 12과 같이 총 36개의 속성 값을 가진 표준 데이터 세트, 즉 제1 데이터 세트를 생성한다.
갱신 속성 명칭 (영문)
DiagnosisDate
Sex
Age
Height
Weight
BodyMassIndex
BodyTemperature
Pulse
Smoking
Drinking
Pain
Duration
Month
Heartbeat
DiastolicBloodPressure
SystolicBloodPressure
PulsePressure
Dyslipidemia
DiabetesMellitus
FamilyHistory
ChestPain
Dizziness
DyspneaOnExertion
Dyspnea
Headache
Orthopnea
Palpitation
Syncope
Hypertension
PulmonaryTuberculosis
Hepatitis
SelfMedicine
OnMedication
Allergy
DrugAllergy
Class
제2 데이터 세트 생성단계(S32)에서, 제1 데이터 세트를 바탕으로, 결측 값에 대하여, 결측 값 자체로 명목 형식의 의미를 부여하여 구성된 데이터 세트인 제2 데이터 세트를 생성한다. 이때, 명목 형식의 의미를 부여하는 것은 실제 병원에서 진료 시 건너뛴 과정에 대하여 새롭게 의미를 부여하는 것이다. 즉, 제1 데이터 세트 내 결측 값을 가진 속성들에 한하여, 임의로 실제 진료 시 의료 전문가 및 의사가 수행하지 않은 단계를 고려한다. 예를 들어, 중요하지 않다고 생각하는 정보에 대하여 특정 값을 부여하고 새로운 명목 형식의 데이터로써 추가하는 것이다.
예를 들어, 먼저, 결측 값에 의미를 부여하는 방향으로 데이터 세트를 새롭게 구성한다. 현재, 데이터 세트 내 명목 형식의 데이터 중 결측 값을 가진 속성은 하나, 수치 형식의 데이터 중 결측 값을 가진 속성은 아홉 개로, 수치 데이터 형식에는 결측 값을 -9의 값으로 채우고, 명목 형식의 데이터에는 새로운 값인 PASS로 대체한다. 수치형 결측 값 대체 시 -9 값은 통상적으로 많이 사용되고, 다른 값에 크게 영향을 주지 않았기 때문에 임의로 설정한다.
제3 데이터 세트 생성단계(S33)에서, 제1 데이터 세트를 바탕으로, K-최근접 이웃 결측 값 대체 알고리즘을 적용하여 생성된 데이터 세트인 제3 데이터 세트를 생성한다. 제3 데이터 세트 생성단계(S33)에서, K-최근접 이웃 결측 값 대체 알고리즘은 기존 연구에 따라, 공개 데이터 세트에서 가장 좋은 효율을 보였다. 따라서 본 연구에서도 이를 적용하여 데이터 세트를 생성하고 도입한다.
K-최근접 이웃 대체법은 결측 값이 발생한 개체와 가장 가까운 거리에 있는 K 개의 이웃 개체와 거리를 계산하여 다수결로 결측 값을 대체하는 방법이다. 이때, 최근접 이웃 알고리즘의 거리 계산은 고어 거리(Gower Distance) 계산 방식을 활용하여 수행하는데, 이는 이진 데이터 형식, 범주형 자료 형식, 순서형 자료 형식, 연속 자료 형식 등 다양한 자료 형식을 가진 데이터 세트에서 연산을 지원한다. 고어 거리는 계산 시 각 변수 값에 무게 값을 곱하여 평균으로 연산하는 방식으로, 해당 수식은 다음의 수학식 1과 같다. 이후, 고어 거리 계산을 통해 가장 가까운 K 개의 이웃 개체를 선정하고 비슷한 값끼리 다수결로 판별하여 해당 결측 값을 채운다.
[수학식 1]
Figure 112018132052332-pat00001
K-최근접 이웃 알고리즘은 생성한 표준 데이터 세트를 기반으로 데이터 마이닝 도구인 알(R)을 통해 적용한다. 알에서는 결측 값을 NULL이 아닌, N/A로 표기하며, 해당 알고리즘을 사용하기 위해서는 모든 명목 형식의 데이터가 수치 형식 데이터로 전환되어야 한다. 해당 과정을 진행한 후, K는 1부터 13까지 홀수만을 대입하여 새로운 일곱 개의 데이터 세트를 생성한다. 표준 데이터 세트의 결측 값 보유 속성 및 결측 비율, 그리고 인스턴스 내 값들을 수치 형식으로 변환하는 기준을 각각 아래 표 13과 표 14에서 정리한다.
결측 값 보유 속성 결측 값 비율
Height 38%
Weight 36%
BodyMassIndex 38%
BodyTemperature 96%
Pulse 3%
Duration 97%
Heartbeat 95%
DiastolicBloodPressure 3%
SystolicBloodPressure 3%
PulsePressure 3%
다음으로, 표준 데이터 세트 내 명목 데이터 형식과 수치 데이터 형식이 연관된 표 14를 통해, 알에서 필요한 결측 값을 탐색하도록 프로그램 코드를 작성한다.
명목 데이터 형식 속성 기존 값 갱신 값
Sex 0, 1 0, 1
Smoking N, Q, Y 0, 1, 2
Drinking N, Q, Y 0, 1, 2
Pain N, Y 0, 1
Heartbeat RG, II, IR 0, 1, 2
Dyslipidemia N, Y 0, 1
DiabetesMellitus N, Y 0, 1
FamilyHistory N, Y 0, 1
ChestPain N, Y 0, 1
Dizziness N, Y 0, 1
DyspneaOnExertion N, Y 0, 1
Dyspnea N, Y 0, 1
Headache N, Y 0, 1
Orthopnea N, Y 0, 1
Palpitation N, Y 0, 1
Syncope N, Y 0, 1
Hypertension N, Y 0, 1
PulmonaryTuberculosis N, Y 0, 1
Hepatitis N, A, B, C, R, E 0, 1, 2, 3, 4, 5
SelfMedicine N, Y 0, 1
OnMedication N, Y 0, 1
Allergy N, Y 0, 1
DrugAllergy N, E 0, 1
다음으로, 명목 데이터 형식을 수치 데이터 형식으로 모두 전환하고 결측 값을 대체하여 데이터 세트를 생성한다. 이때, K 값은 1부터 13까지 홀수 일곱 개를 대입한다. 주의할 점은 결측 값 대체 알고리즘에 넣기 전 csv 파일 또는 xlsx 파일에서 진단 결과에 대한 속성과 환자 색인 값은 필수로 제외하고 적용한다는 것이다.
알을 통해 결측 값을 대체하는 경우, csv 파일 형태로 xlsx에서 변환한 후, 속성값에서 색인과 뒤에 따라오는 부가 속성을 삭제한다. 또한, 첫 속성의 문자도 수정하고 변환한 arff 파일에서는 마지막 진단 결과 값만 0과 1의 명목 값으로 교체한다. 마지막으로 추가한 속성 값에 대하여 BodyMassIndex와 PulsePressure를 계산하여 삽입한다.
제4 데이터 세트 생성단계(S34)에서, 제1 데이터 세트를 바탕으로, 정보 이득(Information Gain)에 대한 엔트로피(Entropy) 순위 계산 알고리즘을 적용하여 생성된 데이터 세트인 제4 데이터 세트를 생성한다. 정보 이득 특징 선택 알고리즘은 엔트로피를 기반으로 클래스 라벨에 따라 가장 영향력 있는 속성을 순차적으로 나열한다. 기반 데이터 세트는 표준 데이터 세트로 구성하고, 해당 알고리즘을 통해 도출한 속성을 추출하여 데이터 세트를 생성한다. 정보 이득 특징 선택 알고리즘을 적용한 결과는 다음과 같다.
Figure 112018132052332-pat00002
그림 1. 정보 이득 특징 선택 알고리즘 출력 결과
그림 1의 결과를 바탕으로 25순위까지의 속성만을 사용하여 데이터 세트를 생성한다. 각 속성을 나열하면, 정보 이득 특징 선택 알고리즘 속성 순위인 이하의 표 15와 같다.
순위 속성 명칭
1 ChestPain
2 Pain
3 DiagnosisDate
4 Palpitation
5 Dyslipidemia
6 Age
7 Syncope
8 Sex
9 Smoking
10 FamilyHistory
11 Drinking
12 SelfMedicine
13 Dizziness
14 DiabetesMellitus
15 Headache
16 Orthopnea
17 Allergy
18 OnMedication
19 Hepatitis
20 Hypertension
21 PulmonaryTuberculosis
22 DyspneaOnExertion
23 Dyspnea
24 DrugAllergy
25 Heartbeat
제5 데이터 세트 생성단계(S35)에서, 제1 데이터 세트를 바탕으로, 유전 탐색 알고리즘을 적용하여 생성된 데이터 세트인 제5 데이터 세트를 생성한다. 제5 데이터 세트 생성단계(S35)에서, 특징 선택 알고리즘 중 유전 탐색을 적용하여 표준 데이터 세트에 사용한다. 해당 결과는 다음 그림 3과 같고 유전 탐색 특징 선택 알고리즘 속성 순위는 이하의 표 16과 같다.
Figure 112018132052332-pat00003
그림 3. 유전 탐색 특징 선택 알고리즘 출력 결과
순위 속성 명칭
1 DiagnosisDate
2 Sex
3 Pain
4 ChestPain
5 Headache
6 Orthopnea
7 Palpitation
8 Syncope
제6 데이터 세트 생성단계(S36)에서, 제1 데이터 세트를 바탕으로, 금기 탐색 알고리즘을 적용하여 생성된 데이터 세트인 제6 데이터 세트를 생성한다. 제6 데이터 세트 생성단계(S36)에서, 금기 탐색 특징 선택 알고리즘을 표준 데이터 세트에 적용하여 해당 추출된 특징만으로 데이터 세트를 만든다. 먼저, 금기 탐색 특징 선택 알고리즘을 적용한 결과는 그림 2와 같고, 표 17은 금기 탐색 특징 선택 알고리즘 속성 순위를 정리한 것이다.
Figure 112018132052332-pat00004
그림 2. 금기 탐색 특징 선택 알고리즘 출력 결과
순위 속성 명칭
1 DiagnosisDate
2 Sex
3 Dyslipidemia
4 FamilyHistory
5 ChestPain
6 Headache
7 Orthopnea
8 Palpitation
9 Syncope
10 Allergy
네 번째 내지 여섯 번째 데이터 세트는, 전체 속성의 개수를 줄여 부분 집합 개념으로 세 가지 데이터 세트를 추가적으로 생성하는 과정이다.
또한, 데이터 세트 생성 단계(S30)에서, 데이터 마이닝 도구인 웨카에서 허용하는 수용 결측 값은 NULL이 아닌 공란이기 때문에, 해당 NULL 값은 모두 공란으로 갱신한다. 이후, 현재까지 작업한 엑셀(Excel) 파일의 xlsx 형식을 csv 파일 형태로 저장한 후, 작성한 프로그램 코드를 통해 웨카에서 지원하는 arff 파일 형식으로 전환한다. 또한, 프로그램 코드 내 지원되는 외부 웨카 라이브러리는 완전하지 않기 때문에 arff 파일 전환 이후, 편집기를 통해 첫 속성 명칭의 노이즈를 수정한다. 수정할 내용은 첫 속성의 명칭 값이고, 이후 성별과 진단 결과는 수치 데이터 형식이 아닌 명목 데이터 형식으로 1과 0으로 수정한다.
이제까지 생성한 데이터 세트는 총 12개로, 표준 데이터 세트인 제1 데이터 세트 1개, 제1 데이터 세트에서 결측 값에 대한 의미를 부여하여 생성한 제2 데이터 세트 1개, 제1 데이터 세트에 K-최근접 이웃 알고리즘을 적용한 제3 데이터 세트 7개, 제1 데이터 세트에 정보 이득 특징 선택 알고리즘을 적용한 제4 데이터 세트 1개, 제1 데이터 세트에 금기 탐색 특징 선택 알고리즘을 적용한 제5 데이터 세트 1개, 그리고 유전 탐색 특징 선택 알고리즘을 적용한 제6 데이터 세트 1개이다.
알고리즘 적용 단계(S40)에서 허혈성 심장질환에 대한 보조 의사 시스템에 적용할 수 있는 알고리즘을 연구한다. 먼저, 수학적 인공지능 알고리즘을 개별적으로 사용하여 각 알고리즘을 비교 및 분석할 수 있다. 이때, 각각의 알고리즘을 연구하여 어떠한 결과가 도출된 이유를 분석하고 그 인과 관계를 파악할 수 있다. 또는 여러 알고리즘을 복합적으로 사용하여 개선이 가능하다.
구체적으로, 알고리즘 적용 단계(S40)에서 웨카(WEKA)를 통해, 이제까지 생성한 12개의 데이터 세트 각각에 나이브 베이즈(naive bayes), 서포트 벡터 머신(support vector machine), 및 다층 퍼셉트론(Multi-Layer Perceptron) 중 적어도 하나를 분류 알고리즘으로서 사용한다.
나이브 베이즈는 기본형을 사용하고, 서포트 벡터 머신은 복잡도 파라미터(Complexity Parameter)와 다항 커널(Polynomial Kernel)의 지수 값(Exponent Value)을 2로 설정하며, 다층 퍼셉트론은 명목 데이터 형식을 이진 데이터 형식으로 전환하지 않는 방식으로 은닉 계층을 두 개 형성하여 활용한다.
다층 퍼셉트론의 경우 은닉 계층의 노드는 각각 18개, 2개로 두고, 학습률을 수정하여 진행한다. 즉, 하나의 데이터 세트에 대하여 나이브 베이즈 1회, 서포트 벡터 머신 1회, 다층 퍼셉트론은 학습률에 따라 각각 0.1, 0.6, 0.9, 3회, 총 5번 진행한다.
12개의 데이터 세트 각각에 대한 적용 결과는 이하의 표 18 내지 표 27과 같다. 차례로, 나이브 베이즈, 서포트 벡터 머신, 다층 퍼셉트론 분류기에 대한 정확도, 카파 통계치, 수신자 조작 특성 넓이 값을 표현한다.
표 18은 나이브 베이즈 분류기 정확도이고, 표 19는 나이브 베이즈 정확도, 카파 통계치, 수신자 조작 특성 넓이이며, 표 20은 서포트 벡터 머신 분류기 정확도이고, 표 21은 서포트 벡터 머신 정확도, 카파 통계치, 수신자 조작 특성 넓이이고, 표 22는 학습률 0.1에 대한 다층 퍼셉트론 분류기 정확도이고, 표 23은 학습률 0.1에 대한 다층 퍼셉트론 정확도, 카파 통계치, 수신자 조작 특성 넓이이고, 표 24는 학습률 0.6에 대한 다층 퍼셉트론 분류기 정확도이고, 표 25는 학습률 0.6에 대한 다층 퍼셉트론 정확도, 카파 통계치, 수신자 조작 특성 넓이이고, 표 26은 학습률 0.9에 대한 다층 퍼셉트론 분류기 정확도이고, 표 27은 학습률 0.9에 대한 다층 퍼셉트론 정확도, 카파 통계치, 수신자 조작 특성 넓이이다.
데이터 세트 분류기
정확도
비 확진 환자 진단 정확도 확진 환자 진단 정확도
표준 데이터 세트 73.6458 76.2500 71.0417
1-최근접 이웃 알고리즘 적용 71.2500 67.2917 75.2083
3-최근접 이웃 알고리즘 적용 72.9358 72.0833 72.7083
5-최근접 이웃 알고리즘 적용 72.4792 75.0000 73.9583
7-최근접 이웃 알고리즘 적용 74.4792 74.5833 74.3750
9-최근접 이웃 알고리즘 적용 75.4167 75.2083 75.6250
11-최근접 이웃 알고리즘 적용 75.8333 74.1667 77.5000
13-최근접 이웃 알고리즘 적용 75.7292 73.9583 77.5000
결측 값 의미 적용 88.9583 99.1667 78.7500
정보 이득 특징 선택 알고리즘 적용 73.8542 78.7500 68.9583
금기 탐색 특징 선택 알고리즘 적용 75.4167 80.6250 70.2083
유전 탐색 특징 선택 알고리즘 적용 72.7083 83.5417 61.8750
데이터 세트 분류기
정확도
카파
통계치
수신자 조작
특성 넓이
표준 데이터 세트 73.6458 0.4729 0.815
1-최근접 이웃 알고리즘 적용 71.2500 0.4250 0.806
3-최근접 이웃 알고리즘 적용 72.9358 0.4479 0.813
5-최근접 이웃 알고리즘 적용 72.4792 0.4896 0.823
7-최근접 이웃 알고리즘 적용 74.4792 0.4896 0.835
9-최근접 이웃 알고리즘 적용 75.4167 0.5083 0.840
11-최근접 이웃 알고리즘 적용 75.8333 0.5167 0.841
13-최근접 이웃 알고리즘 적용 75.7292 0.5146 0.846
결측 값 의미 적용 88.9583 0.7792 0.935
정보 이득 특징 선택 알고리즘 적용 73.8542 0.4771 0.814
금기 탐색 특징 선택 알고리즘 적용 75.4167 0.5083 0.822
유전 탐색 특징 선택 알고리즘 적용 72.7083 0.4542 0.810
데이터 세트 분류기
정확도
비 확진 환자 진단 정확도 확진 환자 진단 정확도
표준 데이터 세트 76.2500 75.6250 76.8750
1-최근접 이웃 알고리즘 적용 69.3750 72.5000 66.2500
3-최근접 이웃 알고리즘 적용 71.1458 71.4583 70.8333
5-최근접 이웃 알고리즘 적용 71.1458 72.2917 70.0000
7-최근접 이웃 알고리즘 적용 70.7292 71.8750 69.5833
9-최근접 이웃 알고리즘 적용 69.5833 70.4167 68.7500
11-최근접 이웃 알고리즘 적용 70.7292 72.0833 69.3750
13-최근접 이웃 알고리즘 적용 70.3125 71.8750 68.7500
결측 값 의미 적용 87.2917 88.9583 85.6250
정보 이득 특징 선택 알고리즘 적용 71.25 74.3750 68.1250
금기 탐색 특징 선택 알고리즘 적용 72.9167 84.5833 61.2500
유전 탐색 특징 선택 알고리즘 적용 70.1042 85.2083 55.0000
데이터 세트 분류기
정확도
카파
통계치
수신자 조작
특성 넓이
표준 데이터 세트 76.2500 0.5250 0.763
1-최근접 이웃 알고리즘 적용 69.375 0.3875 0.694
3-최근접 이웃 알고리즘 적용 71.1458 0.4229 0.711
5-최근접 이웃 알고리즘 적용 71.1458 0.4229 0.711
7-최근접 이웃 알고리즘 적용 70.7292 0.4146 0.707
9-최근접 이웃 알고리즘 적용 69.5833 0.3917 0.696
11-최근접 이웃 알고리즘 적용 70.7292 0.4146 0.707
13-최근접 이웃 알고리즘 적용 70.3125 0.4063 0.703
결측 값 의미 적용 87.2917 0.7458 0.873
정보 이득 특징 선택 알고리즘 적용 71.25 0.4250 0.713
금기 탐색 특징 선택 알고리즘 적용 72.9167 0.4583 0.729
유전 탐색 특징 선택 알고리즘 적용 70.1042 0.4021 0.701
데이터 세트 분류기
정확도
비 확진 환자 진단 정확도 확진 환자 진단 정확도
표준 데이터 세트 80.1042 79.3750 80.8333
1-최근접 이웃 알고리즘 적용 67.6042 69.7917 65.4167
3-최근접 이웃 알고리즘 적용 65.7292 66.4583 65.0000
5-최근접 이웃 알고리즘 적용 69.5833 71.0417 68.1250
7-최근접 이웃 알고리즘 적용 68.1250 68.7500 67.5000
9-최근접 이웃 알고리즘 적용 69.4792 67.7083 71.2500
11-최근접 이웃 알고리즘 적용 68.5417 65.8333 71.2500
13-최근접 이웃 알고리즘 적용 67.6042 67.9167 67.2917
결측 값 의미 적용 87.2917 88.5417 86.0417
정보 이득 특징 선택 알고리즘 적용 69.2708 65.8333 72.7083
금기 탐색 특징 선택 알고리즘 적용 75.0000 79.7917 70.2083
유전 탐색 특징 선택 알고리즘 적용 73.1250 75.4167 70.8333
데이터 세트 분류기
정확도
카파
통계치
수신자 조작
특성 넓이
표준 데이터 세트 80.1042 0.6021 0.884
1-최근접 이웃 알고리즘 적용 67.6042 0.3521 0.743
3-최근접 이웃 알고리즘 적용 65.7292 0.3146 0.720
5-최근접 이웃 알고리즘 적용 69.5833 0.3917 0.761
7-최근접 이웃 알고리즘 적용 68.1250 0.3625 0.754
9-최근접 이웃 알고리즘 적용 69.4792 0.3896 0.771
11-최근접 이웃 알고리즘 적용 68.5417 0.3708 0.759
13-최근접 이웃 알고리즘 적용 67.6042 0.3521 0.767
결측 값 의미 적용 87.2917 0.7458 0.945
정보 이득 특징 선택 알고리즘 적용 69.2708 0.3854 0.772
금기 탐색 특징 선택 알고리즘 적용 75.0000 0.5000 0.803
유전 탐색 특징 선택 알고리즘 적용 73.1250 0.4625 0.797
데이터 세트 분류기
정확도
비 확진 환자 진단 정확도 확진 환자 진단 정확도
표준 데이터 세트 81.4583 81.4583 81.4583
1-최근접 이웃 알고리즘 적용 68.4375 67.5000 69.3750
3-최근접 이웃 알고리즘 적용 68.6458 68.5417 68.7500
5-최근접 이웃 알고리즘 적용 68.4375 68.7500 68.1250
7-최근접 이웃 알고리즘 적용 68.5417 66.2500 70.8333
9-최근접 이웃 알고리즘 적용 68.7500 66.6667 70.8333
11-최근접 이웃 알고리즘 적용 68.9583 66.8750 71.0417
13-최근접 이웃 알고리즘 적용 67.6042 66.4583 68.7500
결측 값 의미 적용 86.0417 86.0417 86.0417
정보 이득 특징 선택 알고리즘 적용 70.4167 71.4583 69.3750
금기 탐색 특징 선택 알고리즘 적용 74.4792 79.7917 69.1667
유전 탐색 특징 선택 알고리즘 적용 72.0833 78.3333 65.8333
데이터 세트 분류기
정확도
카파
통계치
수신자 조작
특성 넓이
표준 데이터 세트 81.4583 0.6292 0.891
1-최근접 이웃 알고리즘 적용 68.4375 0.3687 0.753
3-최근접 이웃 알고리즘 적용 68.6458 0.3729 0.758
5-최근접 이웃 알고리즘 적용 68.4375 0.3687 0.756
7-최근접 이웃 알고리즘 적용 68.5417 0.3708 0.772
9-최근접 이웃 알고리즘 적용 68.7500 0.3750 0.766
11-최근접 이웃 알고리즘 적용 68.9583 0.3792 0.764
13-최근접 이웃 알고리즘 적용 67.6042 0.3521 0.750
결측 값 의미 적용 86.0417 0.7208 0.936
정보 이득 특징 선택 알고리즘 적용 70.4167 0.4083 0.776
금기 탐색 특징 선택 알고리즘 적용 74.4792 0.4896 0.801
유전 탐색 특징 선택 알고리즘 적용 72.0833 0.4417 0.785
데이터 세트 분류기
정확도
비 확진 환자 진단 정확도 확진 환자 진단 정확도
표준 데이터 세트 82.6042 82.7083 82.5000
1-최근접 이웃 알고리즘 적용 67.6042 68.7500 66.4583
3-최근접 이웃 알고리즘 적용 69.3750 70.4167 68.3333
5-최근접 이웃 알고리즘 적용 68.1250 67.9167 68.3333
7-최근접 이웃 알고리즘 적용 66.2500 66.6667 65.8333
9-최근접 이웃 알고리즘 적용 71.1458 70.6250 71.6667
11-최근접 이웃 알고리즘 적용 69.3750 70.2083 68.5417
13-최근접 이웃 알고리즘 적용 69.5833 68.9583 70.2083
결측 값 의미 적용 86.8750 86.0417 87.7083
정보 이득 특징 선택 알고리즘 적용 70.0000 70.4167 69.5833
금기 탐색 특징 선택 알고리즘 적용 73.4375 79.1667 67.7083
유전 탐색 특징 선택 알고리즘 적용 69.7917 77.0833 62.5000
데이터 세트 분류기
정확도
카파
통계치
수신자 조작
특성 넓이
표준 데이터 세트 82.6042 0.6521 0.888
1-최근접 이웃 알고리즘 적용 67.6042 0.3521 0.758
3-최근접 이웃 알고리즘 적용 69.3750 0.3875 0.764
5-최근접 이웃 알고리즘 적용 68.1250 0.3625 0.747
7-최근접 이웃 알고리즘 적용 66.2500 0.3250 0.747
9-최근접 이웃 알고리즘 적용 71.1458 0.4229 0.787
11-최근접 이웃 알고리즘 적용 69.3750 0.3875 0.770
13-최근접 이웃 알고리즘 적용 69.5833 0.3917 0.772
결측 값 의미 적용 86.875 0.7375 0.944
정보 이득 특징 선택 알고리즘 적용 70.0000 0.4000 0.771
금기 탐색 특징 선택 알고리즘 적용 73.4375 0.4688 0.786
유전 탐색 특징 선택 알고리즘 적용 69.7917 0.3958 0.776
테스트 및 검증 단계(S50)에서, 이전 과정까지 진행한 내용으로 데이터 세트와 알고리즘에 대한 가상 테스트 및 알고리즘 검증을 진행한다. 이 과정에서는 데이터 세트의 수집 정도, 데이터 전처리 방식과 그 결과, 분석 내용, 구축한 데이터 세트의 형식 등 전반적인 내용을 판단할 수 있다. 이를 통해 각 결과를 비교 및 분석하여 유효성을 검증한다.
알고리즘 개선 단계(60)에서, 테스트와 검증을 통해 도출된 결과에 대하여 연구하고, 앞선 데이터 수집, 데이터 전처리, 데이터 세트 구축 및 지식화, 알고리즘 적용 등에 대하여 방법론을 개선하면서 수행된다. 이를 통하여 전체적인 알고리즘 및 접근 방식을 개선한다.
실시예에 따른 허혈성 심장질환 진단 방법은, 전자의무기록에서 허혈성 심장질환의 진단에 대한 속성을 추출하고, 생성한 다양한 데이터 세트에 대하여 알고리즘을 적용한 결과, 결측 값에 고유 의미를 부여한 데이터 세트에서, 다층 퍼셉트론 분류기에 의해 정확도 87.2917%로 가장 높았고, 총 비 확진 환자 480명 중 425명을 비 확진 환자로 정탐하였으며, 확진 환자 480명 중 413명을 정확하게 진단하였다. 그 뒤를 이어, 동일 데이터 세트에 나이브 베이즈 분류기를 사용한 결과, 정확도 88.9583, 비 확진 환자 476명, 확진 환자 378명으로 진단하였다. 이 외에도, 표준 데이터 세트에 다층 퍼셉트론, 서포트 벡터 머신 분류기를 적용한 결과도 좋은 성능을 보였는데, 판단의 기준은 최종적으로 허혈성 심장질환으로 확진된 환자에 대하여 분류기를 통하여 어느 정도 동일하게 확진으로 판단하였는지 그 수치로 비교하였다.
실시예는 실제 병원에서 작성된 데이터인 초진 기록에 대한 전자의무기록을 기반으로, 인공지능의 데이터 마이닝 기법을 적용하기 위한 높은 수준의 데이터 세트를 생성하고, 객관적인 평가 기준을 바탕으로 기계 학습 알고리즘을 비교하였다. 이를 통해 허혈성 심장질환에 대하여, 더욱 정확한 진단을 예측하는 분류기를 선별하였고, 전자의무기록 중 질환을 진단하는데 주요한 지표가 되는 속성을 유추할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (12)

  1. 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법으로서,
    초진 환자의 임상정보 데이터를 수집하여 최종 데이터를 생성하는 단계;
    상기 최종 데이터의, 언어를 재구성하고 이상점(Outlier)을 대체하며 인스턴스의 완성도 레벨을 부여함으로써 상기 수집된 데이터를 전처리 하는 단계;
    상기 전처리된 데이터를 이용하여, 데이터 세트를 생성하는 단계;
    상기 데이터 세트에 분류 알고리즘을 적용하는 단계
    를 포함하고,
    상기 수집된 데이터의 속성은 환자 색인, 서식번호, 서식명, 구분명, 항목명, 세부항목명, 수치, 텍스트 결과, 응답값으로 구성된, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  2. 제1항에 있어서,
    상기 데이터 세트를 생성하는 단계는,
    상기 전처리된 데이터를 기초로 하여 제1 데이터 세트 내지 제6 데이터 세트를 생성하는 단계를 포함하는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  3. 제2항에 있어서,
    상기 분류 알고리즘은, 나이브 베이즈(naive bayes), 서포트 벡터 머신(support vector machine), 및 다층 퍼셉트론(Multi-Layer Perceptron)를 포함하는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  4. 제3항에 있어서,
    상기 데이터 세트에 분류 알고리즘을 적용하는 단계는
    상기 나이브 베이즈, 상기 서포트 벡터 머신, 및 상기 다층 퍼셉트론 중 적어도 하나를 상기 제1 데이터 세트 내지 제6 데이터 세트 각각에 적용하는 단계를 포함하는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  5. 제4항에 있어서,
    초진 환자의 임상정보 데이터를 수집하여 최종 데이터를 생성하는 단계는,
    초진 환자의 임상정보 데이터를 수집하고 수집된 데이터의 최종 데이터를 생성하는 단계는, 상기 수집된 데이터를 이용하여 1차 계층 구조를 생성하는 단계를 포함하고,
    상기 수집된 데이터는,
    상기 환자에 대하여 암호화된, 색인 정보, 성별, 나이, 진료일자, 진료과명, 주진단 여부, 진단코드, 진단명을 속성 값으로 포함한 제1 데이터,
    허혈성 심장질환 확진 환자에 대한 데이터로서, 상기 제1 데이터와 속성과 값의 데이터 형식이 동일하게 구성된 제2 데이터,
    상기 환자 색인 번호, 처방코드, 처방코드에 따른 문자열 형식의 처방명, 처방일, 결과값, 검체명, 및 검체 채취일자를 포함하는 제3 데이터,

    초진 기록에 대한 데이터인 제4 데이터
    를 포함하는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  6. 제5항에 있어서,
    초진 환자의 임상정보 데이터를 수집하고 수집된 데이터의 최종 데이터를 생성하는 단계는,
    상기 수집된 데이터 중, 오타 또는 미기입 값이 포함된 데이터는 미사용 데이터로 표시하고 상기 미사용 데이터 이외의 데이터를 사용 데이터로 표시하는 단계;
    상기 사용 데이터의 속성에 대한 2차 계층 구조를 생성하는 단계; 및
    상기 세부항목명이 NOMINAL 값을 가진 데이터에 상기 사용 데이터의 속성에 대한 3차 계층 구조를 생성하는 단계
    를 포함하는 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  7. 제6항에 있어서,
    상기 최종 데이터의, 언어를 재구성하고 이상점을 대체하며 인스턴스의 완성도 레벨을 부여하여 상기 수집된 데이터를 전처리 하는 단계는,
    상기 속성의 명칭을 영문으로 변환하는 단계;
    상기 속성을 소정의 값으로 변환하는 단계; 및
    상기 소정의 변환된 값을, 이상점을 대체하며 인스턴스의 완성도 레벨을 부여하여 상기 수집된 데이터를 전처리하는 단계
    를 포함하는,
    허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  8. 제7항에 있어서,
    상기 소정의 값은 영어 알파벳 또는 숫자로 구성된, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  9. 제8항에 있어서,
    상기 소정의 변환된 값을, 이상점을 대체하며 인스턴스의 완성도 레벨을 부여하여 상기 수집된 데이터를 전처리하는 단계는,
    잘못 표기된 값에 대하여 NULL로 대체하는 단계; 및
    상기 최종 데이터의 각 인스턴스에 대하여 상기 각 인스턴스에 완성도 레벨(Complete Level)을 부여하는 단계
    를 포함하는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  10. 제9항에 있어서,
    상기 최종 데이터의 각 인스턴스에 대하여 상기 각 인스턴스에 완성도 레벨을 부여하는 단계는,
    상기 속성에 대응하는 값의 수에 따라 상기 각 인스턴스에 완성도 레벨을 부여하는 단계
    를 포함하는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  11. 제10항에 있어서,
    상기 완성도 레벨은 제1 레벨에서 제23레벨로 구성되는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
  12. 제11항에 있어서,
    상기 전처리된 데이터를 이용하여, 제1 데이터 세트 내지 제6 데이터 세트를 생성하는 데이터 세트 생성 단계는,
    상기 전처리된 데이터에서 환자 색인을 삭제하여 제1 데이터 세트를 생성하는 단계;
    상기 제1 데이터를 기초로 하여, 상기 NULL에 소정의 값을 부여하여 제2 데이터 세트를 생성하는 단계;
    상기 제1 데이터 세트에 K-최근접 이웃 결측값 대체 알고리즘을 적용하여 제3 데이터 세트를 생성하는 단계;
    상기 제1 데이터 세트에 정보 이득(Information Gain)에 대한 엔트로피(Entropy) 순위 계산 알고리즘을 적용하여 제4 데이터 세트를 생성하는 단계;
    상기 제1 데이터 세트에 유전 탐색 알고리즘을 적용하여 제5 데이터 세트를 생성하는 단계; 및
    상기 제1 데이터 세트에 금기 탐색 알고리즘을 적용하여 제6 데이터 세트 생성 단계
    를 포함하는, 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법.
KR1020180173091A 2018-12-28 2018-12-28 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법 KR102211240B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180173091A KR102211240B1 (ko) 2018-12-28 2018-12-28 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180173091A KR102211240B1 (ko) 2018-12-28 2018-12-28 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법

Publications (2)

Publication Number Publication Date
KR20200082474A KR20200082474A (ko) 2020-07-08
KR102211240B1 true KR102211240B1 (ko) 2021-02-01

Family

ID=71600570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180173091A KR102211240B1 (ko) 2018-12-28 2018-12-28 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법

Country Status (1)

Country Link
KR (1) KR102211240B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101799448B1 (ko) 2015-11-03 2017-11-20 김영진 질의 응답형 질병분류코드 제공 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101375221B1 (ko) * 2012-02-24 2014-03-18 가천대학교 산학협력단 의료 프로세스 모델링 및 검증 방법
WO2015031576A1 (en) * 2013-08-28 2015-03-05 Siemens Aktiengesellschaft Systems and methods for estimating physiological heart measurements from medical images and clinical data
US9984201B2 (en) * 2015-01-18 2018-05-29 Youhealth Biotech, Limited Method and system for determining cancer status

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101799448B1 (ko) 2015-11-03 2017-11-20 김영진 질의 응답형 질병분류코드 제공 시스템

Also Published As

Publication number Publication date
KR20200082474A (ko) 2020-07-08

Similar Documents

Publication Publication Date Title
Esfahani et al. Cardiovascular disease detection using a new ensemble classifier
Sun et al. Standardized reporting guidelines for emergency department syncope risk‐stratification research
Savović et al. Influence of reported study design characteristics on intervention effect estimates from randomised controlled trials: combined analysis of meta-epidemiological studies
Albassam et al. Did this patient have cardiac syncope?: the rational clinical examination systematic review
Rajeswari et al. Feature selection in ischemic heart disease identification using feed forward neural networks
US20070192143A1 (en) Quality Metric Extraction and Editing for Medical Data
Xu et al. Construction and application of a medical-grade wireless monitoring system for physiological signals at general wards
Khan et al. A Comparative Study of Machine Learning classifiers to analyze the Precision of Myocardial Infarction prediction
Simegn et al. Computer-aided decision support system for diagnosis of heart diseases
Lee et al. Phenotypes of engagement with mobile health technology for heart rhythm monitoring
Chou et al. Extracting drug utilization knowledge using self-organizing map and rough set theory
Adebayo Predictive model for the classification of hypertension risk using decision trees algorithm
Lipinski et al. Comparison of treadmill scores with physician estimates of diagnosis and prognosis in patients with coronary artery disease
KR102211240B1 (ko) 허혈성 심장질환에 대한 보조 의사 시스템에 의해 수행되는 허혈성 심장질환 진단 방법
US20200243194A1 (en) Computerized Medical Diagnostic and Treatment Guidance
Sanida et al. Application of affinity analysis techniques on diagnosis and prescription data
Murray et al. Assessing the performance and clinical impact of a computerized prognostic system in severe head injury
Patel et al. Predicting Heart Disease Using Machine Learning Algorithms
Rabelo Jr et al. An expert system for diagnosis of acute myocardial infarction with ECG analysis
JP6867147B2 (ja) 医療情報記憶装置、医療情報検索装置、医療情報記憶方法、医療情報記憶プログラム、及びコンピュータ読取可能な記録媒体
JP6810588B2 (ja) 認証データ作成装置、認証データ提供システム、認証データ作成プログラム、及びコンピュータ読取可能な記録媒体
TW202143248A (zh) 生醫資料預測風險系統與方法
Merola et al. An algorithm to predict data completeness in oncology electronic medical records for comparative effectiveness research
Nigam et al. Personalised Heart Monitoring and Reporting System
Almutairi An Optimized Feature Selection and Hyperparameter Tuning Framework for Automated Heart Disease Diagnosis.

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant