KR102461631B1 - 데이터의 결측치 보정 방법 및 장치 - Google Patents

데이터의 결측치 보정 방법 및 장치 Download PDF

Info

Publication number
KR102461631B1
KR102461631B1 KR1020180109019A KR20180109019A KR102461631B1 KR 102461631 B1 KR102461631 B1 KR 102461631B1 KR 1020180109019 A KR1020180109019 A KR 1020180109019A KR 20180109019 A KR20180109019 A KR 20180109019A KR 102461631 B1 KR102461631 B1 KR 102461631B1
Authority
KR
South Korea
Prior art keywords
data
value
correcting
missing
prediction
Prior art date
Application number
KR1020180109019A
Other languages
English (en)
Other versions
KR20200030303A (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 KR1020180109019A priority Critical patent/KR102461631B1/ko
Priority to US16/568,369 priority patent/US11379737B2/en
Publication of KR20200030303A publication Critical patent/KR20200030303A/ko
Application granted granted Critical
Publication of KR102461631B1 publication Critical patent/KR102461631B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

데이터의 결측된 값을 보정하는 방법 및 장치가 제공 된다. 일 실시예에 따른 데이터의 결측치 보정 방법은, 데이터에 포함된 결측치를 보정하기 위한 예측 모델을 생성하는 단계와 생성된 예측 모델을 이용하여 결측치를 보정하는 단계를 반복하여 데이터의 결측치를 보정한다.

Description

데이터의 결측치 보정 방법 및 장치{METHOD AND APPARATUS FOR COMPENSATING A MISSING VALUE IN DATA}
데이터 분석을 위해 데이터의 결측된 값을 보정하는 방법 및 장치에 관한 것이다. 보다 자세하게는, 기계학습을 이용하여 결측된 데이터를 실제 발생된 데이터와 유사한 값으로 보정하는 방법 및 장치에 관한 것이다.
웹, 모바일 단말, 사물인터넷 센서 등을 통해 데이터 수집이 용이해지면서 다양한 데이터에 대한 데이터 분석이 이루어지고 있다. 그러나 데이터 수집 과정에서 여러 가지 이유로 수집되지 않은 값인 결측치가 데이터에 포함될 수 있다.
데이터에 결측치가 포함되어 있을 경우 데이터 분석을 위해 누락된 자료 값을 포함하는 데이터 세트를 삭제하여 전체 데이터보다 적은 양의 데이터를 기초로 데이터를 분석하게 된다. 그러나 이는 데이터 분석의 기초가 되는 데이터의 양을 감소시켜 통계적인 측면에서 검정력을 감소시키는 요인이 된다.
따라서 데이터에 포함된 결측치를 보정하기 위한 방법이 필요하며 이를 위해 결측치를 평균값이나 최빈도 값으로 대체하는 방법이 사용될 수 있다. 또는, 통계 프로그램인 R은 결측치를 보정하기 위한 패키지인 Amelia, Mice 및 Mistools라는 함수를 제공하나, 지원하는 기계학습 알고리즘이 제한적인 문제가 있다. 즉, 작은 수의 모델을 이용하여 결측치를 보정하므로 정확도가 높지 않다.
해결하고자 하는 기술적 과제는, 데이터에서 변수를 선택하고 이에 기계학습 알고리즘을 적용하여 데이터를 학습하고, 학습의 결과로 생성된 모델을 이용하여 정확하게 결측치를 예측하고 보정하는 장치 및 방법을 제공하는 것이다.
해결하고자 하는 다른 기술적 과제는, 자동으로 데이터의 결측치를 보정하는 장치 및 방법을 제공하는 것이다.
해결하고자 하는 또 다른 기술적 과제는, 적정한 연산량으로 결측치를 정확하게 예측하는 장치 및 방법을 제공하는 것이다.
기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 몇몇 실시예에 따른 데이터의 결측치 보정 방법은, 기초 데이터로부터 결측치가 없는 행의 집합으로 구성된 무결 데이터를 추출하고, 상기 무결 데이터 중에서 상기 결측치를 포함하는 열의 데이터로 구성된 제1 라벨 데이터 및 상기 무결 데이터 중에서 상기 결측치를 보정하기 위한 열의 데이터로부터 제1 피처 데이터를 획득하는 데이터 추출 단계; 상기 결측치를 예측하기 위한 제1 예측 모델을 구성하는 예측 모델 구성 단계; 상기 평가 값에 기초하여 선택된 상기 결측치에 대한 제1 예측 모델에 상기 기초 데이터 중 상기 결측치가 있는 행의 데이터 중 상기 결측치를 보정하기 위한 열의 데이터로부터 추출된 피처를 입력하여 예측된 제1 예측값으로 상기 결측치의 값을 삽입한 보정 데이터를 생성하는 제1 보정 단계; 및 상기 보정 데이터를 기초로 상기 제1 예측값을 보정하기 위한 제2 예측 모델을 결정하고, 상기 제2 예측 모델을 이용하여 상기 제1 예측값을 제2 예측값으로 보정하는 제2 보정 단계;를 포함할 수 있다.
또한, 다른 몇몇 실시 예에 따르면, 상기 예측 모델 구성 단계는, 상기 제1 라벨 데이터 및 상기 제1 피처 데이터에 기초하여 기계학습 알고리즘 및 파라미터 중 적어도 하나가 다른 복수의 후보 예측 모델 각각에 대한 평가 값을 산출하는 단계, 및 상기 평가 값에 기초하여 상기 복수의 후보 예측 모델 중에서 상기 제1 예측 모델을 선택하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 데이터 추출 단계는, 상기 무결 데이터 중에서 상기 제1 라벨 데이터에 포함된 열의 데이터 및 상기 결측치가 포함된 행에 포함된 추가 결측치를 포함하는 열의 데이터를 제외한 데이터로부터 상기 제1 피처 데이터를 추출하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 제2 보정 단계는 상기 보정 데이터에서 상기 제1 예측값이 위치하는 행의 데이터를 제외한 추가 보정 데이터를 구성하는 단계; 기 추가 보정 데이터 중에서 상기 제1 예측값을 포함하는 열의 데이터로 구성된 제2 라벨 데이터 및 상기 보정용 데이터 중에서 상기 제2 라벨 데이터를 제외한 데이터로부터 제2 피처 데이터를 결정하는 단계, 및 상기 제2 라벨 데이터 및 상기 제2 피처 데이터에 기초하여 복수의 후보 예측 모델을 평가하고, 평가 결과에 따라 상기 제2 예측 모델을 결정하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 제2 예측 모델을 결정하는 단계는, 상기 기초 데이터의 열 중 결측치가 존재하는 열 별로 예측 모델을 결정할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 제2 보정 단계는, 동일한 열에 포함된 결측치는 상기 열 별로 결정된 동일한 예측 모델을 이용하여 제2 예측값을 결정할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 예측 모델 구성 단계는, 상기 무결 데이터를 k개의 부분 데이터로 구분하고, k-1개의 부분 데이터를 포함하는 훈련용 데이터를 기계학습 알고리즘을 이용하여 학습하여 상기 복수의 후보 예측 모델을 생성하는 단계, 및 상기 k-1개의 부분 데이터를 제외한 1개의 부분 데이터를 포함하는 예측용 데이터를 이용하여 상기 생성된 복수의 후보 예측 모델을 평가하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 k는 4인 것을 특징으로 할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 예측용 데이터는 상기 무결 데이터 중 행의 순서가 k의 배수인 데이터이고, 상기 훈련용 데이터는 상기 무결 데이터에서 상기 예측용 데이터를 제외한 데이터일 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 예측 모델 구성 단계는, 상기 제1 라벨 데이터의 유형이 연속형 변수인 경우 제1 목록에 포함된 기계학습 알고리즘을 이용하여 상기 복수의 후보 예측 모델을 생성하고, 상기 제1 라벨 데이터의 유형이 범주형 변수일 경우 제2 목록에 포함된 기계학습 알고리즘을 이용하여 상기 복수의 후보 예측 모델을 생성하는 단계를 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 제1 목록은 선형 회귀 알고리즘, 의사결정 트리 알고리즘, 랜덤 포레스트 알고리즘 및 그래디언트 부스팅 알고리즘을 포함하고, 상기 제2 목록은 로지스틱 회귀 알고리즘, 의사결정 트리 알고리즘, 랜덤 포레스트 알고리즘, 그래디언트 부스팅 알고리즘 및 다중층 지각 알고리즘을 포함할 수 있다.
또한, 또 다른 몇몇 실시 예에 따르면, 상기 데이터 추출 단계는, 상기 무결 데이터 중에서 상기 라벨 데이터에 대한 주성분 분석을 통해 데이터의 변이의 양에 기초한 피처 추출을 수행하여 제1 피처 데이터를 선택하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 몇몇 실시예에 따른 결측치 보정 장치는, 프로세서; 및 상기 프로세서에 의해 실행되는 적어도 하나의 프로그램을 저장하는 메모리를 포함하되, 상기 적어도 하나의 프로그램은, 상기 기초 데이터로부터 결측치가 없는 행의 집합으로 구성된 무결 데이터를 추출하는 동작; 상기 무결 데이터 중에서 상기 결측치를 포함하는 열의 데이터로 구성된 라벨 데이터 및 상기 무결 데이터 중에서 상기 결측치를 보정하기 위한 열의 데이터로부터 제1 피처 데이터를 획득하는 동작; 상기 라벨 데이터 및 상기 제1 피처 데이터에 대해 기계학습 알고리즘 및 파라미터 중 적어도 하나가 다른 복수의 후보 예측 모델 각각에 대한 평가 값을 산출하는 동작; 상기 평가 값에 기초하여 선택된 상기 결측치에 대한 제1 예측 모델에 상기 기초 데이터 중 상기 결측치가 있는 행의 데이터 중 상기 결측치를 보정하기 위한 열의 데이터를 입력하여 예측된 제1 예측값으로 상기 결측치의 값을 삽입한 보정 데이터를 생성하는 동작; 및 상기 보정 데이터를 기초로 상기 제1 예측값을 보정하기 위한 제2 예측 모델을 결정하고, 상기 제2 예측 모델을 이용하여 상기 제1 예측값을 제2 예측값으로 보정하는 동작;을 수행하도록 하는 인스트럭션들을 포함할 수 있다.
도 1은 몇몇 실시 예에 따른 결측치 보정 장치의 입력 및 출력을 설명하기 위한 도면이다.
도 2는 몇몇 실시 예에 따른 몇몇 실시 예에 따른 결측치 보정 장치의 구조를 설명하기 위한 블록도이다.
도 3은 몇몇 실시 예에 따른 결측치 보정 장치의 하드웨어 구성도이다.
도 4는 몇몇 실시 예에 따라 결측치를 보정하는 프로세스를 도시한 순서도이다.
도 5 내지 도 8은 몇몇 실시 예에 따라 결측치에 대한 첫번째 보정을 수행하는 예시를 도시한 개념도이다.
도 9는 몇몇 실시 예에 따라 첫번째 보정 이후에 반복 수행되는 두번째 보정을 수행하는 프로세스를 도시한 순서도이다.
도 10은 몇몇 실시 예에 따라 두번째 보정에서 사용되는 라벨 데이터 및 피처 데이터를 설명하기 위한 도면이다.
도 11은 몇몇 실시 예에 따라 결측치 보정에 사용되는 예측 모델을 자동으로 선택하는 프로세스를 도시한 도면이다.
도 12는 몇몇 실시 예에 따라 데이터를 훈련용 데이터 및 예측용 데이터로 구분하는 개념을 설명하기 위한 도면이다.
도 13은 몇몇 실시 예에 따라 예측 모델을 생성하는 프로세스를 도시한 도면이다.
도 14는 몇몇 실시 예에 따라 예측 모델을 선택하는 개념을 설명하기 위한 도면이다.
도 15는 몇몇 실시 예에 따라 열 별로 예측 모델을 결정하는 방법을 설명하기 위한 개념도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서, "포함한다(comprise)" 및 "포함하는(comprising)"은 언급된 구성 요소, 단계, 동작이나 소자는 하나 이상의 다른 구성요소, 단계, 동작이나 소자의 존재 또는 추가를 배제하지 않는다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
도 1은 몇몇 실시 예에 따른 결측치 보정 장치의 입력 및 출력을 설명하기 위한 도면이다.
몇몇 실시 예에 따른 결측치 보정 장치(100)는 결측치를 포함하는 기초 데이터(10)을 입력으로 하여, 예측 모델(110)을 통해 예측된 값으로 결측치를 보정한 보정 데이터(11)를 출력하는 컴퓨팅 장치일 수 있다. 여기서, 컴퓨팅 장치는 노트북, 데스크톱(desktop), 랩탑(laptop), 휴대단말기, 태블릿 PC 등의 형태로 구성될 수 있으나, 이에 한정되는 것이 아니며 컴퓨팅 기능이 구비된 다른 장치의 형태로 구성될 수 있다. 다만, 대용량 데이터에 대한 결측치를 보정하기 위한 경우 결측치 보정 장치(100)는 고성능의 서버 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다.
몇몇 실시 예에 따른 결측치 보정 장치(100)는 기초 데이터(10)를 학습하여 예측 모델(110)을 생성할 수 있다. 결측치 보정 장치(100)는 생성된 예측 모델(110)을 이용하여 결측치의 값을 예측할 수 있다. 예를 들어, 결측치 보정 장치(100)는 기초 데이터(10) 중에서 결측치가 없는 행의 데이터를 학습하여 예측 모델(110)을 생성하고, 결측치가 존재하는 행의 결측치 이외의 데이터를 예측 모델(110)에 입력하여 결측치의 실제 값을 예측할 수 있다. 또는, 실시 예에 따라서 예측 모델(110)을 생성하는 장치와 예측 모델(110)을 이용하여 결측치를 보정하는 장치는 별도의 장치로 구성될 수도 있다. 예를 들어, 예측 모델(110)을 생성하는 장치가 예측 모델(110)을 생성하여 배포하고, 결측치를 보정하는 장치는 배포된 예측 모델(110)을 이용하여 결측치를 보정할 수도 있다.
이하에서는, 설명의 편의를 위해 하나의 결측치 보정 장치(100)에 의해 예측 모델(110)을 생성하고 결측치를 보정하는 것을 가정하여 실시예들을 설명한다.
도 2는 몇몇 실시 예에 따른 몇몇 실시 예에 따른 결측치 보정 장치(100)의 구조를 설명하기 위한 블록도이다.
몇몇 실시 예에 따른 결측치 보정 장치(100)는 피처 추출부(Feature Extractor)(101), 예측 모델 결정부(102) 및 결측치 보정부(103)를 포함할 수 있다. 다만, 도 2는 본 실시 예에 대한 설명과 관련된 구성요소를 도시한 것이다. 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 자명하다. 또한, 도 2에 도시된 구성요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 적어도 하나의 구성요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현되거나 여러 구성요소의 조합에 의해 구현될 수 있다.
피처 추출부(101)는 기초 데이터로부터 학습에 이용될 학습용 데이터를 선택하고, 학습용 데이터로부터 학습의 대상이 되는 피처(feature) 데이터와 피처 데이터에 대한 라벨(label) 데이터를 결정할 수 있다. 여기서, 결측치가 존재할 경우 피처나 라벨로 사용하기 어려우므로, 피처 추출부(101)는 결측치가 포함되지 않도록 학습용 데이터를 구성할 수 있다.
예측 모델 결정부(102)는 피처 추출부(101)에 의해 구성된 학습용 데이터를 학습한 결과로 결측치의 실제 값을 예측하기 위한 예측 모델(110)을 생성할 수 있다. 여기서, 예측 모델 결정부(102)는 복수의 후보 모델들을 생성하고, 각 후보 모델들을 평가하여 후보 모델들 중에서 결측치의 실제 값 예측을 위한 예측 모델(110)을 선택할 수 있다.
결측치 보정부(103)는 예측 모델 결정부(102)에 의해 결정된 예측 모델(110)을 이용하여 예측된 값으로 결측치를 보정한 보정 데이터를 출력할 수 있다. 결측치 보정 장치(100)는 피처 추출부(101)에 의해 학습용 데이터를 구성하고 예측 모델 결정부(102)에 의해 결정된 예측 모델을 이용하여 결측치 보정부(103)가 결측치를 보정하는 동작을 보정 데이터에 대해 반복할 수 있다. 보정 데이터에 대해 결측치를 보정하는 동작을 반복할수록 신뢰도가 높은 값으로 결측치가 보정될 수 있다.
도 2의 각 구성요소는 소프트웨어(Software) 또는 FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardwar)를 의미할 수 있다. 그러나, 도 2의 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 것은 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 구성될 수도 있으며, 하나 또는 그 이상의 프로세서들을 실행시키기 위한 구성일 수도 있다. 구성 요소들에 의해 제공되는 기능은 더 세분화된 구성요소에 의해 구현될 수 있으며, 복수의 구성요소들을 결합하여 기능을 수행하는 하나의 구성요소로 구현될 수도 있다.
도 3은 몇몇 실시 예에 따른 결측치 보정 장치(100)의 하드웨어 구성도이다.
몇몇 실시 예에 따른 결측치 보정 장치(100)는 하나 이상의 프로세서(120), 버스(150), 프로세서(120)에 의해 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(140)와, 결측치 보정 프로그램(131)을 저장하는 스토리지(130)를 포함할 수 있다.
프로세서(120)는 결측치 보정 장치(100)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(120)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(120)는 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 내지 프로그램에 대한 연산을 수행할 수 있다.
메모리(140)는 각종 데이터, 명령이나 정보를 저장할 수 있다. 메모리(140)는 실시예들에 따른 결측치 보정 방법을 수행하기 위해 스토리지(130)로부터 하나 이상의 프로그램(131)을 로드할 수 있다. 예를 들어, 메모리(140)은 RAM을 포함할 수 있다.
버스(150)는 결측치 보정 장치(100)의 구성 요소 간 통신 기능을 제공할 수 있다. 버스(150)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 또는 제어 버스(Control Bus) 등의 다양한 형태로 구현될 수 있다.
스토리지(130)는 하나 이상의 프로그램(131) 및 분석 대상인 기초 데이터(132)를 비일시적으로 저장할 수 있다. 스토리지(130)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리와 같은 비휘발성 메모리, 하드디스크, 착탈형 디스크, SSD(Solid State Disk) 또는 알려진 임의의 형태의 컴퓨터로 판독 가능한 기록 메체를 포함할 수 있다.
결측치 보정 프로그램(131)은 메모리(140)에 로드되어 프로세서(120)가 몇몇 실시 예에 따른 결측치 보정 방법을 수행하도록 하는 오퍼레이션을 포함할 수 있다.
예를 들면, 결측치 보정 프로그램(131)은 기초 데이터(132)로부터 결측치가 없는 행의 집합으로 구성된 무결 데이터를 추출하는 오퍼레이션, 무결 데이터 중에서 결측치를 포함하는 열의 데이터로 구성된 라벨 데이터 및 무결 데이터 중에서 결측치를 보정하기 위한 열의 데이터로 구성된 피처 데이터를 선택하는 오퍼레이션, 라벨 데이터 및 피처 데이터에 대해 복수의 후보 예측 모델 각각에 대한 평가 값을 산출하는 오퍼레이션, 평가 값에 기초하여 선택된 예측 모델에 데이터를 입력하여 결측치의 값을 보정한 보정 데이터를 생성하는 오퍼레이션, 및 보정 데이터를 반복 보정하는 오퍼레이션을 포함할 수 있다.
도 4는 몇몇 실시 예에 따라 결측치를 보정하는 프로세스를 도시한 순서도이다. 도 4는 몇몇 실시 예를 설명하기 위한 것이며, 실시 예에 따라 도 4에 도시된 프로세스가 수행되는 순서는 변경될 수도 있다.
먼저, 단계 S310에서 결측치 보정 장치(100)는 결측치를 보정하는 프로세스를 초기화할 수 있다. 도 4에서 n은 기초 데이터에 대해 결측치를 보정하는 동작을 반복한 횟수인 보정 카운트를 나타낸다.
이후, 단계 S320에서 결측치 보정 장치(100)는 기초 데이터로부터 무결 데이터를 추출할 수 있다. 무결 데이터는 기초 데이터 중에서 결측치가 없는 행(row)으로 구성된 데이터를 의미한다.
도 5는 기초 데이터(500)의 예시를 도시하고 있다. 여기서, 도 5를 참조하여 설명하면, 결측치 보정 장치(100)는 도 5의 기초 데이터(500) 중에서 무결 데이터를 구성하기 위해 결측치가 존재하는 행(520)의 데이터를 기초 데이터(500)에서 제거할 수 있다.
도 6은 도 5의 기초 데이터(500)로부터 구성된 무결 데이터(600)의 예시를 도시하고 있다. 도 6을 참조하면, 결측치 보정 장치(100)는 결측치가 존재하는 행(520)을 제외한 행으로 무결 데이터(600)를 구성할 수 있다. 예를 들어, 도 5의 기초 데이터(500)가 총 150행으로 이루어져 있고, 결측치가 존재하는 행이 30행인 경우, 무결 데이터(600)는 총 120행으로 구성될 수 있다.
이후, 도 4의 단계 S330에서, 결측치 보정 장치(100)는 무결 데이터로부터 결측치를 보정하기 위해 사용될 라벨 데이터 및 피처 데이터를 결정할 수 있다.
도 5 및 6을 참조하여 설명하면, 도 5의 기초 데이터(500)에 존재하는 결측치(510)를 보정하고자 할 경우, 결측치 보정 장치(100)는 도 6의 무결 데이터(600) 중에서 결측치(510)가 위치하는 열(column)인 sepal_lenth 열(610)을 라벨 데이터로 결정할 수 있다. 또한, 결측치 보정 장치(100)는 결측치를 보정하기 위한 나머지 열(620)의 데이터로부터 피처 데이터를 결정할 수 있다.
몇몇 실시 예에 따르면, 결측치 보정 장치(100)는 나머지 열(620)의 데이터 자체를 피처 데이터로 결정할 수 있다. 그러나, 나머지 열(620)의 데이터는 결측치의 실제 값과 연관성이 낮은 데이터도 포함할 수 있으므로, 다른 몇몇 실시 예에 따르면, 결측치 보정 장치(100)는 나머지 열(620)의 데이터 중 일부 열의 데이터를 피처 데이터로 결정할 수도 있다. 또는, 또 다른 몇몇 실시 예에 따르면 결측치 보정 장치(100)는 나머지 열(620)의 데이터 중에서 라벨 데이터인 sepal_lenth 열(610)에 대한 주성분 분석(Principal Component Analysis; PCA)을 통해 데이터의 변이의 양에 기초하여 피처 추출을 수행할 수도 있다. 주성분 분석에 따라 생성되는 변수는 주성분 분석을 통해 도출된 주성분 변수 중에서 변량이 높은 상위 m개의 변수로 결정될 수 있다.
이후, 도 4의 단계 S340에서 결측치 보정 장치(100)는 예측 모델을 결정할 수 있다. 여기서, 몇몇 실시 예에 따르면, 결측치 보정 장치(100)는 결측치 보정 장치(100)에 구비된 복수의 기계 학습 알고리즘을 통해 피처 데이터 및 라벨 데이터를 학습하여 복수의 후보 예측 모델을 생성하고, 복수의 후보 예측 모델 중에서 결측치를 예측할 예측 모델을 선택할 수 있다. 여기서, 결측치 보정 장치(100)는 기계 학습 알고리즘 및 학습과 관련된 파라미터 중 적어도 하나를 변경해가면서 학습을 수행하여 복수의 후보 예측 모델을 생성할 수 있다. 또는, 다른 실시 예에 따르면, 결측치 보정 장치(100)는 사용자에 의해 미리 설정된 기계 학습 알고리즘 및 파라미터에 기초하여 예측 모델을 생성할 수도 있다.
여기서, 하나의 결측치에 대해 생성된 예측 모델은 다른 결측치의 실제 값을 예측하기 위해 사용되지 못할 수 있다. 결측치가 위치하는 열 자체가 다르거나, 한 행에 존재하는 결측치가 복수개 존재하는 경우 등에서는 해당 결측치를 예측하기 위해 사용될 수 있는 피처가 달라지기 때문이다. 예를 들어, 도 5를 참조하면, 결측치(510)의 실제 값을 예측하기 위해 사용된 예측 모델을 동일한 열에 위치한 다른 결측치(531)의 실제 값을 예측하고자 할 경우, 그 결측치(531)가 위치한 행에 다른 추가 결측치(532)가 존재하여 예측 모델에 입력될 피처가 추출되지 않을 수 있다.
따라서, 단계 S330 내지 단계 S340을 수행함에 있어서, 결측치 보정 장치(100)는 기초 데이터에 포함된 각각의 결측치에 대하여 라벨 데이터 및 피처 데이터를 구성하고 예측 모델을 구성하는 동작을 각각 수행할 필요가 있다. 도 5 및 도 7을 참조하여 설명하면, 결측치 보정 장치(100)는 결측치(531)를 보정하하기 위해 단계 S330에서 결측치(531)가 존재하는 sepal_length 열(610)을 라벨 데이터로 구성하고, 결측치(531) 및 추가 결측치(532)가 존재하지 않는 열(630)의 데이터로부터 피처 데이터를 구성할 수 있다. 결측치 보정 장치(100)는 결측치(531)에 대한 라벨 데이터 및 피처 데이터를 기초로 결측치(531)를 보정하기 위한 예측 모델을 결정할 수 있다.
이후, 단계 S350에서 결측치 보정 장치(100)는 기초 데이터에서 결측치가 위치하는 행으로부터 추출된 피처 데이터를 단계 S340에서 결정된 예측 모델에 입력할 수 있다. 이후, 단계 S360에서 결측치 보정 장치(100)는 기초 데이터의 결측치의 위치에 예측 모델이 출력한 예측값을 삽입한 보정 데이터를 생성할 수 있다.
여기서, 도 8은 단계 S360이 수행된 결과로 생성되는 보정 데이터(800)의 예시를 도시하고 있다. 여기서 도 5 및 도 8을 참조하여 설명하면, 결측치 보정 장치(100)는 도 5의 결측치(510)가 위치하는 행(820)의 데이터로부터 추출된 피처 데이터를 예측 모델에 입력할 수 있다. 예를 들어, 도 8의 행(820)에서 sepal_length 열의 데이터를 제외한 나머지 값들을 예측 모델에 입력할 수 있다. 결측치 보정 장치(100)는 예측 모델이 출력한 예측 값(810)이 4.6인 경우, 결측치(510)의 위치에 예측 값(810)을 삽입하여 보정 데이터(800)를 생성할 수 있다.
이후, 결측치 보정 장치(100)는 단계 S370에서 보정 카운트를 증가시키고, 단계 S380에서 보정 데이터를 기초로 삽입된 예측값을 보정하여 추가적인 보정이 이루어진 보정 데이터를 다시 생성할 수 있다.
단계 S380에서 결측치 보정 장치(100)는 단계 S320 내지 단계 S330에서 기초 데이터를 기초로 결측치를 보정한 것과 유사하게 보정 데이터를 기초로 예측값을 보정할 수 있다. 몇몇 실시 예에 따르면, 단계 S380에서 결측치 보정 장치(100)는 예측값을 보정하기 위한 라벨 데이터와 피처 데이터를 다시 구성하고, 예측값을 보정하기 위한 예측 모델을 다시 생성하여 예측값을 다시 보정할 수 있다.
이후, 단계 S390에서 보정 카운트가 보정 최대 반복값이 아닌 경우 단계 S370을 다시 실행할 수 있다. 또는, 보정 카운트가 보정 최대 반복값인 경우 프로세스를 종료할 수 있다. 여기서, 단계 S390은 정해진 보정 횟수만큼 단계 S380을 반복하도록 하기 위한 것이며, 단계 S390에 기술된 상세 조건은 실시 예에 따라 변경될 수 있다.
도 9는 몇몇 실시 예에 따라 첫번째 보정 이후에 반복 수행되는 두번째 보정을 수행하는 프로세스를 도시한 순서도이다. 실시 예에 따라서, 도 4의 단계 S380에서 도 9에 도시된 프로세스가 실행될 수도 있다.
먼저, 단계 S910에서 결측치 보정 장치(100)는 보정 데이터에 기초하여 예측 모델을 구성하기 위한 데이터인 추가 보정 데이터를 구성할 수 있다. 기초 데이터를 최초 보정하기 위해 무결 데이터를 추출하는 도 4의 단계 S320에서는 기초 데이터의 여러 행에 결측치가 존재할 수 있으므로 결측치가 존재하는 모든 행의 데이터를 제외하였다. 그러나, 보정 데이터는 결측치에 예측값이 삽입된 데이터이므로, 결측치 보정 장치(100)는 보정하고자 하는 예측값이 포함된 행만 제외하여 추가 보정 데이터를 구성할 수 있다.
도 8 및 도 10을 참조하여 설명하면, 결측치 보정 장치(100)는 보정 데이터(800)에 삽입된 예측값(810)을 보정하기 위해 예측값(810)에 포함된 행(820)의 데이터를 제외한 추가 보정 데이터(1000)를 구성할 수 있다. 예를 들어, 보정 데이터(800)가 150행으로 이루어진 경우, 추가 보정 데이터(1000)는 149행으로 구성될 수 있다.
이후, 단계 S920에서 결측치 보정 장치(100)는 추가 보정 데이터로부터 라벨 데이터 및 피처 데이터를 결정할 수 있다. 도 8 및 도 10을 참조하여 설명하면, 보정 데이터(800)에 삽입된 예측값(810)을 보정하고자 할 경우 결측치 보정 장치(100)는 예측값(810)이 위치하는 열(1010)의 데이터를 라벨 데이터로 결정할 수 있다. 또한, 결측치 보정 장치(100)는 나머지 열(1020)의 데이터로부터 피처 데이터를 결정할 수 있다.
이후, 단계 S930에서 결측치 보정 장치(100)는 결정된 라벨 데이터 및 피처 데이터를 학습하여 예측 모델을 구성할 수 있다. 여기서, 몇몇 실시 예에 따르면, 결측치 보정 장치(100)는 결측치 보정 장치(100)에 구비된 복수의 기계 학습 알고리즘을 통해 피처 데이터 및 라벨 데이터를 학습하여 복수의 후보 예측 모델을 생성하고, 복수의 후보 예측 모델 중에서 결측치를 예측할 예측 모델을 선택할 수 있다. 여기서, 결측치 보정 장치(100)는 기계 학습 알고리즘 및 학습과 관련된 파라미터 중 적어도 하나를 변경해가면서 학습을 수행하여 복수의 후보 예측 모델을 생성할 수 있다. 또는, 다른 실시 예에 따르면, 결측치 보정 장치(100)는 사용자에 의해 미리 설정된 기계 학습 알고리즘 및 파라미터에 기초하여 예측 모델을 생성할 수도 있다.
또는, 다른 몇몇 실시 예에 따르면, 단계 S910 내지 단계 S930은 예측값이 존재하는 행을 모두 제외한 추가 보정 데이터를 생성하며, 추가 보정 데이터를 학습하여 보정 데이터에 예측값이 존재하는 열 별로 예측 모델을 생성하고, 보정하고자 하는 예측값이 위치하는 열에 따라 생성된 예측 모델을 선택하는 프로세스로 대체될 수도 있다.
이후, 결측치 보정 장치(100)는 예측값을 보정하기 위한 예측 모델에 예측 값이 존재하는 행에 포함된 데이터를 입력할 수 있다. 예를 들어, 도 8을 참조하면, 결측치 보정 장치(100)는 보정 데이터(800)의 예측값(810)이 위치하는 행(820)의 데이터로부터 추출된 피처 데이터를 예측 모델에 입력할 수 있다.
이후, 결측치 보정 장치(100)는 단계 S940의 예측 모델의 출력값을 이용하여 보정 데이터에 포함된 예측값을 보정한 보정 데이터를 다시 생성할 수 있다. 예를 들어, 결측치 보정 장치(100)는 보정 데이터에 포함된 예측값을 예측 모델의 출력값으로 변경할 수 있다.
도 11은 몇몇 실시 예에 따라 결측치 보정에 사용되는 예측 모델을 자동으로 선택하는 프로세스를 도시한 도면이다. 몇몇 실시 예에 따르면, 도 11에 도시된 프로세스는 도 4의 단계 S340, S380이나 도 9의 단계 S930에서 수행될 수 있다.
먼저, 단계 S1110에서 결측치 보정 장치(100)는 후보 예측 모델을 평가한 횟수를 나타내는 평가 반복 카운트를 초기화할 수 있다. 도 11에서, n은 평가 반복 카운트를 의미한다.
이후, 단계 S1120에서 결측치 보정 장치(100)는 데이터를 훈련용 데이터 및 예측용 데이터로 구성할 수 있다. 예를 들어, 도 4의 단계 S340에서 기초 데이터에 기초하여 결측치를 보정하는 경우 결측치 보정 장치(100)는 단계 S1120에서 기초 데이터로부터 구성된 무결 데이터를 훈련용 데이터와 예측용 데이터로 구분할 수 있다. 또한, 도 4의 단계 S380에서 보정 데이터에 기초하여 예측값을 보정하는 경우 결측치 보정 장치(100)는 단계 S1120에서 보정 데이터로부터 구성된 추가 보정 데이터를 훈련용 데이터와 예측용 데이터로 구분할 수 있다. 여기서, 훈련용 데이터는 기계 학습 알고리즘을 통해 예측 모델을 만들기 위한 학습의 대상이 되는 데이터를 의미한다. 또한, 예측용 데이터는 생성된 후보 예측 모델을 평가하기 위한 데이터를 의미한다.
여기서, 결측치 보정 장치(100)는 k값에 따라서 훈련용 데이터 및 예측용 데이터를 구성할 수 있다. k값은 후보 예측 모델에 대한 평가를 반복하는 횟수일 수 있다. 결측치 보정 장치(100)는 데이터를 k개의 부분 데이터로 구분할 수 있다. 결측치 보정 장치(100)는 n번째 부분 데이터를 예측용 데이터로 사용하고, 나머지 부분 데이터를 훈련용 데이터로 사용할 수 있다. 몇몇 실시 예에 따르면, k값은 4 이상으로 설정될 수 있다.
예를 들어, 도 12를 참조하면, 무결 데이터(600)가 4개의 행으로 이루어지고, k값이 4인 경우, 결측치 보정 장치(100)는 n이 1일 때 첫번째 행(1211)의 데이터를 예측용 데이터로 사용하고 나머지 행(1212)의 데이터를 훈련용 데이터로 사용할 수 있다. 또한, 결측치 보정 장치(100)는 n이 2일 경우 두 번째 행(1221)의 데이터를 예측용 데이터로 사용하고 나머지 행(1222)의 데이터를 훈련용 데이터로 사용할 수 있다. n이 3일 경우, 결측치 보정 장치(100)는 세 번째 행(1231)의 데이터를 예측용 데이터로 사용하고 나머지 행(1232)의 데이터를 훈련용 데이터로 사용할 수 있다. n이 4일 경우, 결측치 보정 장치(100)는 네 번째 행(1241)의 데이터를 예측용 데이터로 사용하고 나머지 행(1242)의 데이터를 훈련용 데이터로 사용할 수 있다. 도 4의 단계 S380에서 보정 데이터에 기초하여 예측값을 보정하는 경우에는 추가 보정 데이터에 대하여 동일하거나 유사하게 적용될 수 있다.
데이터를 k개의 부분 데이터로 구분하는 방법은 실시 예에 따라 다양하게 구현될 수 있다. 예를 들어, 결측치 보정 장치(100)는 n이 1인 경우 행의 순서가 k의 배수인 행의 데이터들의 집합을 예측용 데이터로 구성하고, 예측용 데이터를 제외한 나머지 데이터를 훈련용 데이터로 구성할 수 있다. 이후, 결측치 보정 장치(100)는 n이 증가할 때마다 예측용 데이터에 포함되는 행의 순서를 하나씩 증가시킬 수 있다.
이후, 결측치 보정 장치(100)는 단계 S1130에서 훈련용 데이터를 학습한 복수의 후보 예측 모델을 생성할 수 있다. 결측치 보정 장치(100)는 훈련용 데이터를 기계 학습 알고리즘 및 기계 학습 알고리즘의 파라미터 중 적어도 하나를 변경시켜 복수의 후보 예측 모델을 생성할 수 있다.
이후, 결측치 보정 장치(100)는 단계 S1140에서 생성된 복수의 후보 예측 모델을 예측용 데이터를 이용하여 평가한 후보 예측 모델의 평가 값을 산출할 수 있다. 즉, 결측치 보정 장치(100)는 예측용 데이터로부터 추출된 피처 데이터를 후보 예측 모델에 입력하고, 출력 값이 예측용 데이터에 포함된 라벨 데이터와 일치하는 정도에 따른 평가 값을 산출할 수 있다.
이후, 단계 S1150에서, 평가 반복 카운트가 k값과 같은지 판단할 수 있다. 평가 반복 카운트가 k값과 같지 않은 경우, 결측치 보정 장치(100)는 단계 S1155에서 평가 반복 카운트를 증가시키고 단계 S1120 내지 단계 S1140을 반복 수행할 수 있다. 여기서 단계 S1150은 훈련용 데이터 및 예측용 데이터를 변경하면서 후보 예측 모델을 k번 평가하기 위한 것이며, 단계 S1150과 관련된 구성은 실시 예에 따라 다르게 변경될 수도 있다.
평가 반복 카운트가 k값과 같은 경우, 결측치 보정 장치(100)는 단계 S1160에서 각 후보 예측 모델 별로 산출된 평가 값들의 평균값을 산출할 수 있다. 이후, 결측치 보정 장치(100)는 산출된 평균값에 따라서 결측치 내지 예측값을 보정하기 위한 예측 모델을 후보 예측 모델 중에서 결정할 수 있다.
도 13은 몇몇 실시 예에 따라 예측 모델을 생성하는 프로세스를 도시한 도면이다. 몇몇 실시 예에 따른 결측치 보정 장치(100)는 예측 모델을 생성하기 위해 구성된 라벨 데이터의 유형에 따라서 예측 모델을 생성하기 위해 사용되는 기계학습 알고리즘을 결정할 수 있다.
먼저, 무결 데이터 내지 추가 보정 데이터가 구성되고, 무결 데이터 내지 추가 보정 데이터 내에서 라벨 데이터가 결정된 이후, 단계 S1131에서 결측치 보정 장치(100)는 라벨 데이터의 유형이 연속형 또는 범주형 중 어디에 속하는지 판단할 수 있다. 몇몇 실시 예에 따르면, 결측치 보정 장치(100)는 라벨 데이터의 값이 숫자 타입인 경우 라벨 데이터의 유형이 연속형인 것으로 판단하고 문자 타입인 경우 라벨 데이터의 유형이 범주형인 것으로 판단할 수 있다.
라벨 데이터의 유형이 연속형인 경우, 결측치 보정 장치(100)는 단계 S1132에서 제1 목록에 포함된 기계학습 알고리즘을 이용하여 예측 모델을 생성할 수 있다. 몇몇 실시 예에 따른 제1 목록은 아래의 기계학습 알고리즘을 포함할 수 있다.
- 제1 목록 : 선형 회귀(Linear Regression) 알고리즘, 의사결정 트리(Decision Tree) 알고리즘, 랜덤 포레스트(Random Forest) 알고리즘, 그래디언트 부스팅(Gradient Boosting) 알고리즘
또한, 라벨 데이터의 유형이 범주형인 경우, 결측치 보정 장치(100)는 단계 S1133에서 제2 목록에 포함된 기계학습 알고리즘을 이용하여 예측 모델을 생성할 수 있다. 몇몇 실시 예에 따른 제2 목록은 아래의 기계학습 알고리즘을 포함할 수 있다.
- 제2 목록 : 로지스틱 회귀(Logistic Regression) 알고리즘, 의사결정 트리 알고리즘, 랜덤 포레스트 알고리즘, 그래디언트 부스팅 알고리즘, 다중층 지각(Multilayer Perception) 알고리즘
도 14는 몇몇 실시 예에 따라 예측 모델을 선택하는 개념을 설명하기 위한 도면이다.
몇몇 실시 예에 따른 결측치 보정 장치(100)는 목록에 포함된 기계학습 알고리즘에 대해 설정된 범위 내에서 파라미터를 설정하고, 파라미터가 적용된 기계학습 알고리즘에 따라 데이터를 학습하여 후보 예측 모델(1401)을 생성할 수 있다. 또한, 결측치 보정 장치(100)는 동일한 기계학습 알고리즘에 대해 설정된 범위 내에서 파라미터를 변경하고, 변경된 파라미터가 적용된 기계학습 알고리즘에 따라 다른 후보 예측 모델(1402)을 생성할 수 있다. 설정된 범위 내에서 가능한 파라미터의 조합들에 대한 후보 예측 모델들(1401, 1402)을 모두 생성한 이후, 결측치 보정 장치는 목록에 포함된 다른 기계학습 알고리즘에 대해 파라미터를 설정하고 데이터를 학습하여 다른 후보 예측 모델(1403)을 생성할 수 있다.
복수의 후보 예측 모델들(1401, 1402, 1403)을 생성한 이후, 결측치 보정 장치(100)는 생성된 복수의 후보 예측 모델들(1401, 1402, 1403)에 대한 평가를 통해서 결측치 또는 예측값을 보정하기 위한 예측 모델(1400)을 결정할 수 있다.
도 15는 몇몇 실시 예에 따라 열 별로 예측 모델을 결정하는 방법을 설명하기 위한 개념도이다.
몇몇 실시 예에 따르면, 단계 S380에서 결측치 보정 장치(100)가 두 번째 이후의 보정을 수행할 경우, 결측치 보정 장치(100)는 열 별로 예측 모델을 생성한 후 각 열에 존재하는 예측값을 보정할 수 있다.
결측치 보정 장치(100)는 예측값을 보정하기 이전에 먼저 보정 데이터(800) 내에서 결측치를 대체하여 삽입된 예측값들(1501, 1502, 1503, 1504, 1505)이 위치한 열들(1510, 1520, 1530, 1540)의 위치를 결정할 수 있다.
이후, 결측치 보정 장치(100)는 보정 데이터(800) 내에서 예측값들(1501, 1502, 1503, 1504, 1505)이 포함된 행들을 제외한 데이터로 추가 보정 데이터를 구성할 수 있다. 이후, 결측치 보정 장치(100)는 추가 보정 데이터를 기초로 각 열들(1510, 1520, 1530, 1540)에 상응하는 예측 모델을 각각 결정할 수 있다. 이후, 결측치 보정 장치(100)는 해당 열에 위치한 예측값을 보정할 경우 그 열에 상응하는 예측 모델을 이용하여 예측값을 보정할 수 있다.
예를 들어, 결측치 보정 장치는 sepal_length 열(1510)에 상응하는 예측 모델을 생성하기 위해 추가 보정 데이터에서 sepal_length 열(1510)에 해당하는 데이터를 라벨 데이터로 결정하고 sepal_length 열(1510)을 제외한 열에 해당하는 데이터로부터 피처 데이터를 추출할 수 있다. 이후, 결측치 보정 장치(100)는 라벨 데이터 및 피처 데이터를 학습한 예측 모델을 생성할 수 있다. 이후, 결측치 보정 장치(100)는 예측값(1501)과 예측값(1502)을 보정하고자 할 경우 각각 동일하게 sepal_length 열(1510)에 대해 생성된 예측 모델을 이용하여 예측된 값에 따라 각 값을 보정할 수 있다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (13)

  1. 기초 데이터의 결측치를 보정하는 방법에 있어서,
    상기 기초 데이터로부터 결측치가 없는 행의 집합으로 구성된 무결 데이터를 추출하고, 상기 무결 데이터 중에서 상기 결측치를 포함하는 열의 데이터로 구성된 제1 라벨 데이터 및 상기 무결 데이터 중에서 상기 결측치를 보정하기 위한 열의 데이터로부터 제1 피처 데이터를 획득하는 데이터 추출 단계;
    상기 결측치를 예측하기 위한 제1 예측 모델을 구성하는 예측 모델 구성 단계;
    복수의 후보 예측 모델 별 평가 값에 기초하여 제1 예측 모델이 선택되고, 상기 선택된 제1 예측 모델에 상기 기초 데이터 중 상기 결측치가 있는 행의 데이터 중 상기 결측치를 보정하기 위한 열의 데이터로부터 추출된 피처를 입력하여 예측된 제1 예측값으로 상기 결측치의 값을 삽입한 보정 데이터를 생성하는 제1 보정 단계; 및
    상기 보정 데이터를 기초로 상기 제1 예측값을 보정하기 위한 제2 예측 모델을 결정하고, 상기 제2 예측 모델을 이용하여 상기 제1 예측값을 제2 예측값으로 보정하는 제2 보정 단계;를 포함하는
    데이터의 결측치 보정 방법.
  2. 제1항에 있어서,
    상기 예측 모델 구성 단계는,
    상기 제1 라벨 데이터 및 상기 제1 피처 데이터에 기초하여 기계학습 알고리즘 및 상기 기계 학습과 관련된 파라미터 중 적어도 하나가 다른 복수의 후보 예측 모델 각각에 대한 평가 값을 산출하는 단계, 및
    상기 평가 값에 기초하여 상기 복수의 후보 예측 모델 중에서 상기 제1 예측 모델을 선택하는 단계를 포함하는,
    데이터의 결측치 보정 방법.
  3. 제2항에 있어서,
    상기 데이터 추출 단계는,
    상기 무결 데이터 중에서 상기 제1 라벨 데이터에 포함된 열의 데이터 및 상기 결측치가 포함된 행에 포함된 추가 결측치를 포함하는 열의 데이터를 제외한 데이터로부터 상기 제1 피처 데이터를 추출하는 단계를 포함하는,
    데이터의 결측치 보정 방법.
  4. 제2항에 있어서,
    상기 제2 보정 단계는,
    상기 보정 데이터에서 상기 제1 예측값이 위치하는 행의 데이터를 제외한 추가 보정 데이터를 구성하는 단계,
    상기 추가 보정 데이터 중에서 상기 제1 예측값을 포함하는 열의 데이터로 구성된 제2 라벨 데이터 및 상기 보정 데이터 중에서 상기 제2 라벨 데이터를 제외한 데이터로부터 제2 피처 데이터를 결정하는 단계, 및
    상기 제2 라벨 데이터 및 상기 제2 피처 데이터에 기초하여 복수의 후보 예측 모델을 평가하고, 평가 결과에 따라 상기 제2 예측 모델을 결정하는 단계를 포함하는,
    데이터의 결측치 보정 방법.
  5. 제4항에 있어서,
    상기 제2 예측 모델을 결정하는 단계는,
    상기 기초 데이터의 열 중 결측치가 존재하는 열 별로 예측 모델을 결정하는,
    데이터의 결측치 보정 방법.
  6. 제5항에 있어서,
    상기 제2 보정 단계는,
    동일한 열에 포함된 결측치를 상기 열 별로 결정된 동일한 예측 모델을 이용하여 제2 예측값으로 결정하는,
    데이터의 결측치 보정 방법.
  7. 제2항에 있어서,
    상기 예측 모델 구성 단계는,
    상기 무결 데이터를 k개의 부분 데이터로 구분하고, k-1개의 부분 데이터를 포함하는 훈련용 데이터를 기계학습 알고리즘을 이용하여 학습하여 상기 복수의 후보 예측 모델을 생성하는 단계, 및
    상기 k-1개의 부분 데이터를 제외한 1개의 부분 데이터를 포함하는 예측용 데이터를 이용하여 상기 생성된 복수의 후보 예측 모델을 평가하는 단계를 포함하되,
    상기 k는 4 이상으로 설정되는,
    데이터의 결측치 보정 방법.
  8. 제7항에 있어서,
    상기 k는 4인,
    데이터의 결측치 보정 방법.
  9. 제8항에 있어서,
    상기 예측용 데이터는,
    상기 무결 데이터 중 행의 순서가 k의 배수인 데이터이고, 상기 훈련용 데이터는 상기 무결 데이터에서 상기 예측용 데이터를 제외한 데이터인,
    데이터의 결측치 보정 방법.
  10. 제2항에 있어서,
    상기 예측 모델 구성 단계는,
    상기 제1 라벨 데이터의 유형이 연속형 변수인 경우 제1 목록에 포함된 기계학습 알고리즘을 이용하여 상기 복수의 후보 예측 모델을 생성하고, 상기 제1 라벨 데이터의 유형이 범주형 변수일 경우 제2 목록에 포함된 기계학습 알고리즘을 이용하여 상기 복수의 후보 예측 모델을 생성하는 단계를 포함하는,
    데이터의 결측치 보정 방법.
  11. 제10항에 있어서,
    상기 제1 목록은,
    선형 회귀 알고리즘, 의사결정 트리 알고리즘, 랜덤 포레스트 알고리즘 및 그래디언트 부스팅 알고리즘을 포함하고, 상기 제2 목록은 로지스틱 회귀 알고리즘, 의사결정 트리 알고리즘, 랜덤 포레스트 알고리즘, 그래디언트 부스팅 알고리즘 및 다중층 지각 알고리즘을 포함하는,
    데이터의 결측치 보정 방법.
  12. 제1항에 있어서,
    상기 데이터 추출 단계는,
    상기 무결 데이터 중에서 상기 라벨 데이터에 대한 주성분 분석을 통해 데이터의 변이의 양에 기초한 피처 추출을 수행하여 제1 피처 데이터를 선택하는 단계를 포함하는,
    데이터의 결측치 보정 방법.
  13. 프로세서; 및
    상기 프로세서에 의해 실행되는 적어도 하나의 프로그램을 저장하는 메모리를 포함하되,
    상기 적어도 하나의 프로그램은,
    기초 데이터로부터 결측치가 없는 행의 집합으로 구성된 무결 데이터를 추출하는 동작;
    상기 무결 데이터 중에서 상기 결측치를 포함하는 열의 데이터로 구성된 라벨 데이터 및 상기 무결 데이터 중에서 상기 결측치를 보정하기 위한 열의 데이터로부터 제1 피처 데이터를 획득하는 동작;
    상기 라벨 데이터 및 상기 제1 피처 데이터에 대해 기계학습 알고리즘 및 상기 기계 학습과 관련된 파라미터 중 적어도 하나가 다른 복수의 후보 예측 모델 각각에 대한 평가 값을 산출하는 동작;
    상기 평가 값에 기초하여 선택된 상기 결측치에 대한 제1 예측 모델에 상기 기초 데이터 중 상기 결측치가 있는 행의 데이터 중 상기 결측치를 보정하기 위한 열의 데이터를 입력하여 예측된 제1 예측값으로 상기 결측치의 값을 삽입한 보정 데이터를 생성하는 동작; 및
    상기 보정 데이터를 기초로 상기 제1 예측값을 보정하기 위한 제2 예측 모델을 결정하고, 상기 제2 예측 모델을 이용하여 상기 제1 예측값을 제2 예측값으로 보정하는 동작;을 수행하도록 하는 인스트럭션들을 포함하는,
    결측치 보정 장치.
KR1020180109019A 2018-09-12 2018-09-12 데이터의 결측치 보정 방법 및 장치 KR102461631B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180109019A KR102461631B1 (ko) 2018-09-12 2018-09-12 데이터의 결측치 보정 방법 및 장치
US16/568,369 US11379737B2 (en) 2018-09-12 2019-09-12 Method and apparatus for correcting missing value in data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180109019A KR102461631B1 (ko) 2018-09-12 2018-09-12 데이터의 결측치 보정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200030303A KR20200030303A (ko) 2020-03-20
KR102461631B1 true KR102461631B1 (ko) 2022-10-31

Family

ID=69719950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180109019A KR102461631B1 (ko) 2018-09-12 2018-09-12 데이터의 결측치 보정 방법 및 장치

Country Status (2)

Country Link
US (1) US11379737B2 (ko)
KR (1) KR102461631B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102461631B1 (ko) * 2018-09-12 2022-10-31 삼성에스디에스 주식회사 데이터의 결측치 보정 방법 및 장치
US10944644B2 (en) * 2019-04-30 2021-03-09 Intel Corporation Technologies for thermal and power awareness and management in a multi-edge cloud networking environment
KR102534888B1 (ko) * 2020-04-23 2023-05-23 한국과학기술원 피처-임베딩 뉴럴 프로세스를 이용한 결측값 예측 방법
CN111667117A (zh) * 2020-06-10 2020-09-15 上海积成能源科技有限公司 一种电力负荷预测中应用贝叶斯估计补充缺失值的方法
US11403267B2 (en) 2020-07-06 2022-08-02 Bank Of America Corporation Dynamic transformation code prediction and generation for unavailable data element
KR102251139B1 (ko) 2020-10-13 2021-05-12 (주)비아이매트릭스 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템
CN112370659B (zh) * 2020-11-10 2023-03-14 四川大学华西医院 基于机器学习的头部刺激训练装置的实现方法
KR102531742B1 (ko) * 2020-11-27 2023-05-11 이화여자대학교 산학협력단 센서 데이터의 누락값 보정 방법 및 누락값 보정 장치
KR102546108B1 (ko) * 2020-12-30 2023-06-22 재단법인 아산사회복지재단 전자의무기록에서의 다변량 결측값 대체 방법
CN113312587B (zh) * 2021-06-16 2023-09-22 福建中锐网络股份有限公司 基于arima预测和回归预测的传感器采集数据缺失值处理方法
KR102665538B1 (ko) * 2021-12-01 2024-05-20 고등기술연구원연구조합 부유식 풍황 계측 장치, 이의 제어방법, 컴퓨터 판독 가능한 기록 매체, 컴퓨터 프로그램 및 이를 이용하는 모니터링 시스템
KR102699942B1 (ko) * 2021-12-01 2024-08-28 고등기술연구원연구조합 3d 라이다를 이용하는 풍황 계측 방법, 컴퓨터 판독 가능한 기록 매체, 컴퓨터 프로그램, 장치 및 이를 포함하는 풍황 계측 시스템
KR102699126B1 (ko) * 2021-12-03 2024-08-27 한국전자기술연구원 육상양식장 시계열 기반 수기 데이터 및 자동 센싱 데이터를 통한 데이터 오류 보정 시스템
KR102658008B1 (ko) * 2021-12-07 2024-04-17 주식회사 퀀텀솔루션 인공지능기술을 이용한 사물인터넷 디바이스의 센싱 최적화 시스템 및 방법
KR20230108598A (ko) 2022-01-11 2023-07-18 한국전자통신연구원 다중 시계열 예측 모델 기반 실시간 수집 데이터 결측치 보정 방법 및 시스템
US11983152B1 (en) * 2022-07-25 2024-05-14 Blackrock, Inc. Systems and methods for processing environmental, social and governance data
KR20240014941A (ko) 2022-07-26 2024-02-02 주식회사 히포티앤씨 불완전한 연속 데이터 기반의 인공지능 분석 시스템
KR20240022361A (ko) 2022-08-11 2024-02-20 경희대학교 산학협력단 시계열 데이터의 이상치 탐지 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR102589602B1 (ko) * 2022-11-14 2023-10-17 주식회사 티라유텍 결측치 처리를 위한 장치 및 방법
KR102557151B1 (ko) 2022-11-17 2023-07-19 서울시립대학교 산학협력단 시계열 데이터의 품질을 개선하는 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101572719B1 (ko) 2013-09-06 2015-12-01 한양대학교 산학협력단 행렬 분해 기반 추천 방법을 위한 신뢰 네트워크를 이용하는 데이터 대치 방법
WO2017122784A1 (en) 2016-01-14 2017-07-20 Preferred Networks, Inc. Time series data adaptation and sensor fusion systems, methods, and apparatus
WO2018005489A1 (en) 2016-06-27 2018-01-04 Purepredictive, Inc. Data quality detection and compensation for machine learning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140421B1 (en) * 2008-01-09 2012-03-20 Zillow, Inc. Automatically determining a current value for a home
US9785983B2 (en) * 2012-06-13 2017-10-10 Opera Solutions U.S.A., Llc System and method for detecting billing errors using predictive modeling
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US20160078367A1 (en) * 2014-10-15 2016-03-17 Brighterion, Inc. Data clean-up method for improving predictive model training
KR102423784B1 (ko) * 2015-12-18 2022-07-22 한국과학기술원 교통 데이터 보정장치 및 방법
US20180053255A1 (en) * 2016-08-19 2018-02-22 Noonum System and Method for end to end investment and portfolio management using machine driven analysis of the market against qualifying factors
US10861015B1 (en) * 2017-01-25 2020-12-08 State Farm Mutual Automobile Insurance Company Blockchain based account funding and distribution
CA3088899C (en) * 2018-01-22 2021-04-06 Jack Copper Systems and methods for preparing data for use by machine learning algorithms
AU2019243836A1 (en) * 2018-03-28 2020-10-01 Fracta Predicting pipe failure
KR102461631B1 (ko) * 2018-09-12 2022-10-31 삼성에스디에스 주식회사 데이터의 결측치 보정 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101572719B1 (ko) 2013-09-06 2015-12-01 한양대학교 산학협력단 행렬 분해 기반 추천 방법을 위한 신뢰 네트워크를 이용하는 데이터 대치 방법
WO2017122784A1 (en) 2016-01-14 2017-07-20 Preferred Networks, Inc. Time series data adaptation and sensor fusion systems, methods, and apparatus
WO2018005489A1 (en) 2016-06-27 2018-01-04 Purepredictive, Inc. Data quality detection and compensation for machine learning

Also Published As

Publication number Publication date
US20200082283A1 (en) 2020-03-12
KR20200030303A (ko) 2020-03-20
US11379737B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
KR102461631B1 (ko) 데이터의 결측치 보정 방법 및 장치
JP6755849B2 (ja) 人工ニューラルネットワークのクラスに基づく枝刈り
US10922628B2 (en) Method and apparatus for machine learning
KR102107378B1 (ko) 하이퍼파라미터 자동 최적화 방법 및 그 장치
KR102052624B1 (ko) 기계 학습 방법 및 장치
CN107844837B (zh) 针对机器学习算法进行算法参数调优的方法及系统
CN109783604B (zh) 基于少量样本的信息提取方法、装置和计算机设备
JP2021532502A (ja) ニューラルネットワークモデル訓練方法、装置、コンピュータ機器および記憶媒体
WO2019129060A1 (zh) 自动生成机器学习样本的特征的方法及系统
JP2020513120A5 (ko)
KR20200054121A (ko) 기계 학습 방법 및 장치
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
CN110555514A (zh) 神经网络模型搜索方法、图像识别方法和装置
CN109712716B (zh) 疾病影响因素确定方法、系统和计算机设备
US20150186793A1 (en) System and method for distance learning with efficient retrieval
US20090212817A1 (en) Configuration information writing apparatus, configuration information writing method and computer program product
JP6767355B2 (ja) モデル構築システムおよびモデル構築方法
KR20210143460A (ko) 특징 추천 장치 및 그것의 특징 추천 방법
KR102441442B1 (ko) 그래프 컨볼루션 네트워크 학습 방법 및 장치
JP6588494B2 (ja) 抽出装置、分析システム、抽出方法及び抽出プログラム
KR20210092999A (ko) 산업용 사물인터넷(IIoT) 환경에서의 고장 예측 모델 획득 방법, 장치 및 프로그램
KR20210092998A (ko) 산업용 사물인터넷(IIoT) 환경에서의 고장 예측 모델 획득을 위한 전처리 방법, 피처의 중요도 측정 방법 및 피처 선택 방법, 장치 및 프로그램
WO2019209571A1 (en) Proactive data modeling
US20230196183A1 (en) Generating optimized model explanations
JP2019191634A (ja) データ分析方法、データ分析プログラムおよびデータ分析システム

Legal Events

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