KR102251139B1 - A missing value correction system using machine learning and data augmentation - Google Patents

A missing value correction system using machine learning and data augmentation Download PDF

Info

Publication number
KR102251139B1
KR102251139B1 KR1020200132240A KR20200132240A KR102251139B1 KR 102251139 B1 KR102251139 B1 KR 102251139B1 KR 1020200132240 A KR1020200132240 A KR 1020200132240A KR 20200132240 A KR20200132240 A KR 20200132240A KR 102251139 B1 KR102251139 B1 KR 102251139B1
Authority
KR
South Korea
Prior art keywords
record
data
missing
value
records
Prior art date
Application number
KR1020200132240A
Other languages
Korean (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 KR1020200132240A priority Critical patent/KR102251139B1/en
Application granted granted Critical
Publication of KR102251139B1 publication Critical patent/KR102251139B1/en

Links

Images

Classifications

    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • 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/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

The present invention relates to a missing value correction system using data augmentation-based machine learning, configured to create new record data by synthesizing existing record data, with respect to table data composed of a plurality of records, add the created new data to augment a record set, and train a neural network model with the augmented record set. The missing value correction system using data augmentation-based machine learning comprises: a basic data input unit which receives basic data and configures the received basic data as a dataset (hereinafter, referred to as a first record set) of a record structure; a missing data detection unit which detects missing records from the first record set and distinguishes missing records from integrity records; a record augmentation unit which creates a new record by synthesizing at least two records in the first record set, adds the created new record to the first record set, and augments the record set; a model learning unit which configures a training dataset using the augmented record set (hereinafter, referred to as a second record set) and trains a machine learning model with the training dataset; a missing value prediction unit which inputs the missing record of the first record set into the machine learning model and predicts a missing value of the corresponding missing record with an output value; and a correction data creation unit which corrects the missing record of the first record set by correcting the missing value with a predicted value. By means of the system described above, new record data is created by synthesizing existing record data so that even when there is little basic data, training data can be sufficiently created, and through this, missing values can be predicted more accurately.

Description

데이터 증강 기반 기계학습 방식의 결측치 보정 시스템 { A missing value correction system using machine learning and data augmentation }{A missing value correction system using machine learning and data augmentation}

본 발명은 다수의 레코드들로 구성된 테이블 데이터에 대하여, 기존의 레코드 데이터를 합성하여 신규 레코드 데이터를 생성하고, 생성된 신규 데이터를 추가하여 레코드 집합을 증강시키고, 증강된 레코드 집합으로 신경망 모델을 학습시키는, 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 관한 것이다.The present invention generates new record data by synthesizing existing record data for table data composed of a plurality of records, augments a record set by adding the generated new data, and trains a neural network model with the augmented record set It relates to a system for correcting missing values in a machine learning method based on data augmentation.

일반적으로, 온라인 분석 처리(Online Analytical Processing) 시스템, 즉, OLAP 시스템은 의사결정 지원 시스템의 대표적인 예로서, 데이터를 여러 기준(차원)을 이용하여 분석할 수 있는 다차원 분석을 할 수 있게 해준다. 즉, 온라인 분석 처리 시스템은 이미 구축된 데이터를 다양한 측면에서 제공하여, 정형화된 형태로 제공해준다.In general, an online analytical processing system, that is, an OLAP system, is a representative example of a decision support system, and enables a multidimensional analysis that can analyze data using multiple criteria (dimensions). In other words, the online analysis processing system provides data that has already been built in various aspects and provides it in a standardized form.

그런데, 구축된 데이터 내에서 일부 데이터가 결측되면, 그 분석된 결과 값은 전혀 다르게 분석될 수 있다. 따라서 OLAP 시스템에서 테이블(Tabular) 데이터에서 결측치 처리는 의사결정 과정에서 매우 중요하다. 또한, 처리 방법에 따라 결과가 달라질 수 있다.However, if some data is missing in the constructed data, the analyzed result value may be analyzed completely differently. Therefore, in the OLAP system, the processing of missing values in tabular data is very important in the decision-making process. In addition, the results may vary depending on the treatment method.

따라서 OLAP 시스템에서 결측치를 어떻게 보정할 것인지에 대해 많이 연구되고 있다. 통계학적으로 결측치를 해결하는 방식은 다음과 같다Therefore, a lot of research is being conducted on how to correct missing values in the OLAP system. Statistically, the method of solving missing values is as follows.

먼저, 결측치 행(row)를 삭제하고 분석할 수 있다. 이러한 방식은 결측치가 많은 경우 분석 결과가 왜곡될 수 있는 문제점이 있다.First, you can delete and analyze the missing row. This method has a problem in that the analysis result may be distorted when there are many missing values.

또한, 열(Column) 기준 평균(mean)이나 중간값(median)를 채울 수 있다. 이러한 방식은 계산 과정이 쉽다. 그러나 이러한 방식은 적은 양의 데이터인 경우 적용이 가능하지만 특징(feature)간의 상관관계는 고려되지 않고 카테고리 데이터는 사용할 수 없는 단점이 있다. 특히, 데이터가 시계열 데이터인 경우, 보간 기법으로 결측치를 예측하는 기술도 제시되고 있다[특허문헌 1].In addition, it is possible to fill in a column-based mean or median. This way, the calculation process is easy. However, this method can be applied in the case of a small amount of data, but there is a disadvantage that the correlation between features is not considered and category data cannot be used. In particular, when the data is time series data, a technique for predicting missing values using an interpolation technique has also been proposed [Patent Document 1].

또한, 최빈값(Most Frequent)이나 0(zero)를 채울 수 있다. 이러한 방식은 역시 특징(feature)간의 상관관계를 고려하지 않는다. 특히, 이러한 방식은 카테고리 데이터인 경우 사용할 수 있다.In addition, it is possible to fill in the mode (Most Frequent) or 0 (zero). This approach also does not take into account the correlation between features. In particular, this method can be used in case of category data.

또한, k-NN 기법을 활용하여 결측치를 예측하는 기술이 제시되고 있다[특허문헌 2]. 일례로서, 임상 데이터의 결측치를 k-NN(k-최근접 이웃 알고리즘, k-nearest neighbor algorithm)으로 예측한다. 이러한 방식은 통계학적 방법보다 정확하지만 계산량이 상대적으로 늘어나게 된다.In addition, a technique for predicting missing values using the k-NN technique has been proposed [Patent Document 2]. As an example, the missing value of clinical data is predicted by k-NN (k-nearest neighbor algorithm). This method is more accurate than the statistical method, but the computational amount is relatively increased.

또한, 기계학습적으로 결측치를 해결하는 기술이 제시되고 있다[특허문헌 3]. 즉, 상기 선행기술은 기초 데이터의 무결 데이터를 이용하여 기계학습 모델을 학습시키고, 학습된 기계학습 모델에 결측된 데이터의 행 데이터를 적용하여 결측치를 예측한다.In addition, a technique for solving missing values by machine learning has been proposed [Patent Document 3]. That is, in the prior art, a machine learning model is trained using integrity data of basic data, and a missing value is predicted by applying row data of the missing data to the learned machine learning model.

앞서 다른 수학적 방식에 비하여, 기계학습 방식은 기초 데이터가 많은 경우 효율적이고 정확성도 높다. 그러나 테이블 형태의 데이터는 딥러닝을 진행하기에 소량의 데이터로 학습이 불가능하다는 문제점이 있다.Compared to other mathematical methods, machine learning methods are more efficient and accurate when there are many basic data. However, there is a problem in that table-type data cannot be learned with a small amount of data because deep learning is performed.

한국공개특허 제10-2020-0082893호 (2020.07.08.공개)Korean Patent Laid-Open Patent No. 10-2020-0082893 (published on July 8, 2020) 한국공개특허 제10-2019-0021471호 (2019.03.05.공개)Korean Patent Publication No. 10-2019-0021471 (published on Mar 5, 2019) 한국공개특허 제10-2020-0030303호 (2020.03.20.공개)Korean Patent Publication No. 10-2020-0030303 (published on March 20, 2020) 한국등록특허 제10-2058124호 (2019.12.23.공고)Korean Patent Registration No. 10-2058124 (announced on December 23, 2019)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 다수의 레코드들로 구성된 테이블 데이터에 대하여, 기존의 레코드 데이터를 합성하여 신규 레코드 데이터를 생성하고, 생성된 신규 데이터를 추가하여 레코드 집합을 증강시키고, 증강된 레코드 집합으로 신경망 모델을 학습시키는, 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템을 제공하는 것이다.An object of the present invention is to solve the above-described problem, for table data composed of a plurality of records, a record set by synthesizing existing record data to generate new record data, and adding the generated new data. It is to provide a system for correcting missing values based on data augmentation-based machine learning, which augments and trains a neural network model with an augmented record set.

또한, 본 발명의 목적은 기존의 레코드 집합에서 적어도 2개의 레코드를 임의의 가중치로 합성하여 신규 레코드를 생성하되, 레코드의 필드값이 범주형 데이터인 경우, 가중치를 범주형 값의 확률 벡터로 설정하여 합성하는, 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템을 제공하는 것이다.In addition, it is an object of the present invention to generate a new record by synthesizing at least two records with random weights from an existing record set, but when the field value of the record is categorical data, the weight is set as a probability vector of the categorical value. It is to provide a system for correcting missing values in a machine learning method based on data augmentation.

또한, 본 발명의 목적은 기존의 레코드 집합에서 적어도 2개의 레코드를 임의의 가중치로 합성하여 신규 레코드를 생성하되, 레코드 중 결측치가 있는 필드는 해당 값이 없는 것으로 하여 합성하는, 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템을 제공하는 것이다.In addition, it is an object of the present invention to generate a new record by synthesizing at least two records from an existing record set with an arbitrary weight, but synthesizing a field with a missing value among the records as having no corresponding value. It is to provide a system for correcting missing values of the method.

상기 목적을 달성하기 위해 본 발명은 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 관한 것으로서, 기초 데이터를 입력받아 레코드 구조의 데이터 셋(이하 제1 레코드 셋)으로 구성하는 기초자료 입력부; 상기 제1 레코드 셋에서 결측된 레코드를 검출하여, 결측 레코드와 무결 레코드를 구분하는 결측자료 검출부; 상기 제1 레코드 셋에서 적어도 2개의 레코드를 합성하여 신규 레코드를 생성하고, 생성된 신규 레코드를 상기 제1 레코드 셋에 추가하여 증강시키는 레코드 증강부; 증강된 레코드 셋(이하 제2 레코드 셋)을 이용하여 학습 데이터셋을 구성하고, 상기 학습 데이터셋으로 기계학습 모델을 학습시키는 모델 학습부; 상기 제1 레코드 셋의 결측 레코드를 기계학습 모델에 입력하여, 그 출력 값으로 해당 결측 레코드의 결측치를 예측하는 결측치 예측부; 및, 상기 결측치를 예측한 값으로 보정하여, 상기 제1 레코드 셋의 상기 결측 레코드를 보정하는 보정자료 생성부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a system for correcting missing values based on a data augmentation-based machine learning method, comprising: a basic data input unit configured to receive basic data and configure a data set of a record structure (hereinafter, referred to as a first record set); A missing data detection unit detecting missing records in the first record set and distinguishing between missing records and incomplete records; A record augmenting unit for synthesizing at least two records from the first record set to create a new record, and adding and enhancing the generated new record to the first record set; A model learning unit that constructs a training data set using the augmented record set (hereinafter referred to as a second record set) and trains a machine learning model using the training data set; A missing value predictor for inputting the missing record of the first record set into a machine learning model and predicting a missing value of the corresponding missing record using the output value; And a correction data generation unit correcting the missing record in the first record set by correcting the missing value to a predicted value.

또, 본 발명은 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 있어서, 상기 레코드 증강부는 상기 제1 레코드 셋에서 적어도 2개의 레코드(이하 피합성 레코드)를 추출하고, 추출된 적어도 2개의 레코드들을 가중치 합으로 가중하여 신규 레코드를 생성하는 것을 특징으로 한다.In addition, in the present invention, in the data enhancement-based machine learning system for correcting missing values, the record enhancement unit extracts at least two records (hereinafter, synthesized records) from the first record set, and weights the extracted at least two records. It is characterized in that a new record is created by weighting by the sum.

또, 본 발명은 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 있어서, 상기 가중치의 합은 1인 것을 특징으로 한다.In addition, the present invention is characterized in that the sum of the weights is 1 in the missing value correction system based on data augmentation-based machine learning.

또, 본 발명은 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 있어서, 상기 레코드 증강부는 합성할 때마다 상기 가중치를 랜덤하게 설정하는 것을 특징으로 한다.In addition, in the system for correcting missing values based on a data augmentation-based machine learning method, the present invention is characterized in that the record augmentation unit randomly sets the weight each time it is synthesized.

또, 본 발명은 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 있어서, 상기 레코드 증강부는 상기 제1 레코드 셋에서 상기 피합성 레코드를 추출할 때, 상기 피합성 레코드는 결측 레코드이면 결측치를 갖는 필드 값은 0의 값을 가지는 것으로 설정하는 것을 특징으로 한다.Further, in the present invention, in the system for correcting missing values based on a data augmentation-based machine learning method, when the record augmenting unit extracts the composite record from the first record set, the field value having a missing value if the composite record is a missing record. Is characterized in that it is set to have a value of 0.

또, 본 발명은 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 있어서, 상기 피합성 레코드의 필드가 범주형 데이터인 경우, 해당 필드의 필드값을 범주 확률 벡터로 설정하고, 상기 범주 확률 벡터는 상기 피합성 레코드의 필드가 갖는 범주 확률 요소는 1의 확률값을 갖고, 나머지 범주 확률 요소는 0의 확률값을 갖는 것을 특징으로 한다.In addition, the present invention is a system for correcting missing values based on a data augmentation-based machine learning method, when a field of the composite record is categorical data, a field value of the corresponding field is set as a categorical probability vector, and the categorical probability vector is the The category probability element of the field of the composite record has a probability value of 1, and the remaining category probability elements have a probability value of 0.

또, 본 발명은 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 있어서, 상기 모델 학습부는 상기 제2 레코드 셋 중에서 상기 제1 레코드 셋의 결측 레코드를 제외한 나머지 레코드들로부터 학습 데이터 셋을 추출하여 구성하는 것을 특징으로 한다.In addition, the present invention is a system for correcting missing values based on a data augmentation-based machine learning method, wherein the model learning unit extracts and configures a training data set from the remaining records excluding the missing records of the first record set from the second record set. It is characterized by that.

상술한 바와 같이, 본 발명에 따른 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 의하면, 기존의 레코드 데이터를 합성하여 신규 레코드 데이터를 생성함으로써, 기초 데이터가 적더라도 학습 데이터를 충분히 생성할 수 있고, 이를 통해, 보다 정확하게 결측치를 예측할 수 있는 효과가 얻어진다.As described above, according to the missing value correction system of the machine learning method based on data augmentation according to the present invention, by synthesizing the existing record data to generate new record data, it is possible to sufficiently generate the learning data even if the basic data is small, Through this, the effect of predicting the missing value more accurately is obtained.

또한, 본 발명에 따른 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 의하면, 레코드의 필드값이 범주형 데이터인 경우 가중치를 확률 벡터로 설정함으로써, 레코드의 필드가 범주형 데이터라도 신규 레코드를 합성할 수 있는 효과가 얻어진다.In addition, according to the data augmentation-based machine learning system according to the present invention, when the field value of the record is categorical data, the weight is set as a probability vector, so that a new record can be synthesized even if the field of the record is categorical data. A possible effect is obtained.

또한, 본 발명에 따른 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 의하면, 레코드에서 결측치가 있는 필드는 해당 값이 없는 것으로 합성함으로써, 결측된 레코드도 합성에 이용하여 보다 다양한 신규 레코드를 생성할 수 있는 효과가 얻어진다.In addition, according to the data augmentation-based machine learning method of the missing value correction system according to the present invention, a field with a missing value in a record is synthesized as having no corresponding value, so that a more diverse new record can be generated by using the missing record for synthesis. A good effect is obtained.

도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 본 발명의 일실시예에 따른 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 레코드 구조의 데이터셋을 예시한 도면.
도 4은 본 발명의 일실시예에 따른 피벗 테이블의 예시도.
1 is a block diagram of an entire system for implementing the present invention.
2 is a block diagram of a configuration of a system for correcting missing values in a machine learning method based on data augmentation according to an embodiment of the present invention.
3 is a diagram illustrating a data set of a record structure according to an embodiment of the present invention.
4 is an exemplary view of a pivot table according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.Hereinafter, specific details for the implementation of the present invention will be described with reference to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In addition, in describing the present invention, the same portions are denoted by the same reference numerals, and repeated explanations thereof are omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성을 도 1을 참조하여 설명한다.First, a configuration of an entire system for implementing the present invention will be described with reference to FIG. 1.

도 1a 또는 도 1b에서 보는 바와 같이, 본 발명에 따른 결측치 보정 시스템은 네트워크 상의 서버 시스템(또는 서버-클라이언트 시스템) 또는 컴퓨터 단말 상의 프로그램 시스템으로 실시될 수 있다.1A or 1B, the missing value correction system according to the present invention may be implemented as a server system (or server-client system) on a network or a program system on a computer terminal.

도 1a와 같이, 본 발명의 실시를 위한 전체 시스템의 일례는 클라이언트 단말(10)과 서버(30)로 구성되고 서로 네트워크(80)로 연결된다. 또, 필요한 데이터를 저장하기 위한 데이터베이스(40)를 더 구비할 수 있다.As shown in FIG. 1A, an example of the overall system for the implementation of the present invention is composed of a client terminal 10 and a server 30 and connected to each other through a network 80. In addition, a database 40 for storing necessary data may be further provided.

클라이언트 단말(10)은 사용자가 이용하는 PC, 노트북, 넷북, PDA, 태블릿PC, 스마트폰, 모바일 등의 통상의 컴퓨팅 단말기이다. 사용자는 클라이언트 단말(10)을 이용하여 기초 레코드 데이터를 서버(30)로 전송하거나, 보정된 레코드 데이터 등을 서버(30)로부터 수신한다. 또한, 클라이언트 단말(10)에는 어플리케이션(또는 모바일 어플리케이션 등)이 설치될 수 있다.The client terminal 10 is a general computing terminal such as a PC, a notebook computer, a netbook, a PDA, a tablet PC, a smart phone, and a mobile device used by the user. The user transmits basic record data to the server 30 using the client terminal 10 or receives the corrected record data from the server 30. In addition, an application (or a mobile application, etc.) may be installed on the client terminal 10.

서버(30)는 통상의 서버로서 네트워크(20)에 연결되어 결측치 보정을 위한 서비스를 제공한다. 한편, 서버(30)는 상기 각 서비스들을 인터넷 상의 웹페이지로 제공하는 웹서버 또는 웹어플리케이션 서버 등으로 구현될 수 있다. 또는 서버(30)는 어플리케이션과 연동되어 서비스를 제공하는 통상의 서버일 수 있다.The server 30 is a normal server and is connected to the network 20 to provide a service for correcting missing values. Meanwhile, the server 30 may be implemented as a web server or a web application server that provides each of the services as web pages on the Internet. Alternatively, the server 30 may be a general server that provides a service by interworking with an application.

또한, 클라이언트 단말(10)과 서버(30)는 서버-클라이언트 시스템으로 구현될 수 있다. 즉, 전체 시스템의 기능들을 클라이언트의 성능이나, 서버와의 통신량 등에 따라 분담될 수 있다. 또한, 서버(30)는 클라우드 시스템으로 구현될 수 있다.In addition, the client terminal 10 and the server 30 may be implemented as a server-client system. That is, the functions of the entire system may be divided according to the performance of the client or the amount of communication with the server. In addition, the server 30 may be implemented as a cloud system.

또한, 데이터베이스(40)는 기초 데이터 또는 기초 레코드들로 구성된 테이블 데이터를 저장하는 기초자료DB(41), 기초 레코드에서 증강된 레코드 집합을 저장하는 증강자료DB(42), 결측치가 보정된 레코드 데이터를 저장하는 보정자료DB(43) 등을 포함한다. 그러나 상기 데이터베이스(40)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.In addition, the database 40 includes a basic data DB 41 that stores basic data or table data composed of basic records, an augmented data DB 42 that stores an augmented record set from the basic records, and record data in which missing values are corrected. It includes a correction data DB (43) and the like to store. However, the configuration of the database 40 is only a preferred embodiment, and may be configured in a different structure according to the database construction theory in consideration of the ease and efficiency of access and search in developing a specific device.

도 1b와 같이, 본 발명의 실시를 위한 전체 시스템의 다른 예는 컴퓨터 단말(10)에 설치되는 프로그램 형태의 결측치 보정 시스템(30)으로 구성된다. 즉, 결측치 보정 시스템(30)의 각 기능들은 컴퓨터 프로그램으로 구현되어 컴퓨터 단말(10)에 설치되어, 사용자에 의해 레코드 기초 데이터 등을 컴퓨터 단말(10)의 입력장치를 통해 입력받아 등록하거나, 보정된 결과 등을 컴퓨터 단말(10)의 출력장치를 통해 출력한다. 한편, 상담 시스템(30)에서 필요한 데이터들은 컴퓨터 단말(10)의 하드디스크 등 저장공간(40)에 저장되어 이용된다. 저장공간 내에 데이터베이스 형태로 데이터가 저장될 수 있다.As shown in FIG. 1B, another example of the overall system for implementing the present invention includes a missing value correction system 30 in the form of a program installed in the computer terminal 10. That is, each function of the missing value correction system 30 is implemented as a computer program and installed in the computer terminal 10, and records basic data, etc., are inputted by the user through the input device of the computer terminal 10 and registered or corrected. The result is output through the output device of the computer terminal (10). Meanwhile, the data required by the counseling system 30 are stored and used in a storage space 40 such as a hard disk of the computer terminal 10. Data can be stored in the form of a database in the storage space.

다음으로, 본 발명의 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템을 도 2를 참조하여 설명한다.Next, a system for correcting missing values in a data augmentation-based machine learning method according to the present invention will be described with reference to FIG. 2.

도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템(30)은 기초 데이터를 입력받아 레코드 데이터로 구성하는 기초자료 입력부(31), 결측된 레코드를 검출하는 결측자료 검출부(32), 레코드 데이터를 증강시키는 레코드 증강부(33), 신경망을 학습시키는 모델 학습부(34), 결측치를 예측하는 결측치 예측부(35), 및, 결측치를 예측값으로 보정하여 보정된 테이블을 생성하는 보정자료 생성부(36)로 구성된다. 또한, 신경망 모델(38)를 더 포함하여 구성된다.As shown in FIG. 2, the missing value correction system 30 of the machine learning method based on data augmentation according to an embodiment of the present invention receives basic data and includes a basic data input unit 31 configured as record data, and a missing record. Missing data detection unit 32 to detect, record augmentation unit 33 to augment record data, model learning unit 34 to train a neural network, missing value prediction unit 35 to predict missing values, and correcting missing values to predicted values It consists of a correction data generation unit 36 that generates a corrected table. In addition, it is configured to further include a neural network model (38).

먼저, 기초자료 입력부(31)는 기초 데이터를 입력받아 레코드 데이터(또는 레코드 셋)로 구성한다. 즉, 레코드 구조의 데이터 셋(또는 레코드 셋)로 구성한다.First, the basic data input unit 31 receives basic data and configures it into record data (or record set). That is, it is composed of a data set (or record set) of a record structure.

기초 데이터는 OLAP(Online Analytical Processing) 분석에 따라 생성되는 데이터셋으로서, 테이블 또는 피벗 테이블 구조의 데이터셋이다.The basic data is a data set generated according to OLAP (Online Analytical Processing) analysis, and is a data set having a table or pivot table structure.

먼저, 기초 데이터가 테이블인 경우, 테이블 데이터는 다수의 레코드 데이터(또는 레코드 셋)로 구성된다. 테이블 데이터의 예가 도 3에 도시되고 있다.First, when the basic data is a table, the table data is composed of a plurality of record data (or record set). An example of table data is shown in FIG. 3.

도 3에서 보는 바와 같이, 테이블 데이터는 다수의 행과 열로 구성되고, 각 행과 열이 만나는 셀에 데이터 값을 갖는다. 이때, 각 행의 데이터들을 레코드 또는 레코드 데이터로 부르기로 한다. 도 3의 예에서, 레코드 데이터는 R1, R2, ..., R8 등이 있다. 테이블 데이터는 이러한 레코드 데이터들(또는 레코드 셋)로 구성된다.As shown in FIG. 3, table data is composed of a plurality of rows and columns, and data values are placed in cells where each row and column meet. At this time, the data of each row is called a record or record data. In the example of Fig. 3, record data include R1, R2, ..., R8, and the like. Table data consists of these record data (or record sets).

또한, 테이블에서 각 열은 필드라 부르기로 한다. 도 3의 예에서, 테이블의 필드 또는 각 레코드의 필드는 <매출일자>, <매출구분명>, <사업부구분명>, <매출수량>, <원화단가> 등이 있다. 즉, 테이블의 최상단 레코드에는 각 필드의 명칭을 나타낸다.In addition, each column in the table is called a field. In the example of FIG. 3, a field of a table or a field of each record includes <sales date>, <sales classification name>, <business division classification>, <sales quantity>, and <KRW unit price>. That is, the name of each field is indicated in the top record of the table.

한편, 각 레코드는 다수의 필드 데이터로 구성된다. 도 3의 예에서, 레코드 R6은 <20180102>, <내수>, <홈엔터테인먼트사업부>, <25>, <200> 등의 필드 데이터로 구성된다.On the other hand, each record is composed of a plurality of field data. In the example of FIG. 3, record R6 is composed of field data such as <20180102>, <domestic demand>, <home entertainment division>, <25>, and <200>.

또한, 테이블 데이터에서 각 열은 동일한 형식의 데이터 값을 갖는다. 예를 들어, 필드 <매출수량>에 대하여, 모든 레코드의 해당 필드 데이터는 수량을 나타내는 0 또는 자연수의 데이터 형식으로 동일하게 갖는다.Also, in table data, each column has a data value of the same format. For example, for the field <Sales Quantity>, the corresponding field data of all records has the same data format of 0 or natural number representing the quantity.

한편, 데이터 형식은 크게 연속형 데이터와 범주형 데이터로 구분된다. 연속형 데이터는 <매출수량>, <원화단가> 등 수치에 의해 연속적인 값을 가질 수 있는 데이터를 나타내고, <매출구분명> 이나 <사업부구분명>은 범주로 구분되는 값을 가지는 데이터를 나타낸다. <매출일자>는 20180131, 20180201 등으로 날짜의 표기 방식이 연속적이지 않으나, 특정 날짜 기준 몇번째 날로 나타내면 연속적인 데이터로 변환할 수 있다. 즉, <매출일자>는 연속형 데이터로 구분될 수 있다.On the other hand, the data format is largely divided into continuous data and categorical data. Continuous data represents data that can have a continuous value by numerical values such as <Sales Quantity> and <Unit Price in Won>, and <Sales Classification Name> or <Division Classification Name> refers to data having values classified into categories. . <Sales Date> is 20180131, 20180201, etc., and the format of the date is not continuous, but it can be converted into continuous data if it is expressed as the number of days based on a specific date. That is, the <sales date> can be classified as continuous data.

다음으로, 기초 데이터가 피벗 테이블인 경우, 피벗 테이블을 레코드들로 구성되는 기본 테이블 형태로 변환한다. 피벗 테이블의 예가 도 4에 도시되고 있다.Next, when the basic data is a pivot table, the pivot table is converted into a basic table composed of records. An example of a pivot table is shown in FIG. 4.

도 4에서 보는 바와 같이, 피벗 테이블은 행과 열로 형성되어 데이터셋을 표시하는 데이터 영역과, 행의 일측(바람직하게는 좌측) 또는 열의 일단(바람직하게는 상단)에 형성되어 차원 이름을 표시하는 차원 영역으로 구성되는 테이블 형태이다. 데이터 영역의 셀에는 행과 열의 차원들의 조합에 의한 데이터값이나 통계치(예를 들어, 개수, 합계, 평균 등)가 입력되어 표시된다.As shown in Fig. 4, the pivot table is formed in a data area that is formed of rows and columns to display a dataset, and is formed on one side of a row (preferably to the left) or one end of a column (preferably at the top) to display the dimension names. It is in the form of a table composed of dimensional areas. Data values or statistics (eg, number, sum, average, etc.) based on a combination of row and column dimensions are input and displayed in the cells of the data area.

피벗 테이블에서 레코드 구조의 데이셋으로 변환하거나, 그 반대로 레코드 구조의 데이터셋에서 피벗 테이블 구조로 변환하는 구체적인 기술은 본 출원인이 출원한 [특허문헌 4]에 제시되고 있다.A specific technique for converting from a pivot table to a data set of a record structure, or vice versa, from a data set of a record structure to a pivot table structure, is presented in [Patent Document 4] filed by the present applicant.

다음으로, 결측자료 검출부(32)는 레코드 셋에서 결측된 레코드를 검출한다. 즉, 전체 레코드 셋에서 결측된 레코드(결측 레코드)와 결측되지 않은 레코드(무결 레코드)로 구분한다. 또한, 결측자료 검출부(32)는 결측된 레코드에서 결측치를 갖는 필드를 검출한다.Next, the missing data detection unit 32 detects the missing record in the record set. In other words, it is divided into missing records (missing records) and non-missing records (intact records) in the entire record set. In addition, the missing data detection unit 32 detects a field having a missing value in the missing record.

즉, 결측자료 검출부(32)는 레코드 셋에서, 데이터값(또는 필드값)을 갖지 않는 결측 필드(또는 결측치)를 검출하고, 결측 필드를 갖는 레코드를 검출한다. 바람직하게는, 결측자료 검출부(32)는 테이블의 전체 셀을 탐색하여 결측 여부를 검사하고, 결측치를 갖는 셀(또는 필드)을 갖는 레코드들을 검출한다.That is, the missing data detection unit 32 detects a missing field (or missing value) that does not have a data value (or field value) in the record set, and detects a record having a missing field. Preferably, the missing data detection unit 32 searches all cells of the table to check whether they are missing, and detects records having cells (or fields) having missing values.

또한, 이를 통해, 결측자료 검출부(32)는 레코드 셋의 전체 레코드들에 대하여, 결측 레코드와 무결 레코드로 구분한다.In addition, through this, the missing data detection unit 32 classifies all records of the record set into missing records and incomplete records.

도 3과 같이, 레코드 셋은 다수의 레코드들로 구성된다. 이때, 레코드 R1의 필드 <사업부구분명>이 데이터값을 갖지 않아 결측되어 있다. 즉 레코드 R1은 결측치를 갖는 레코드이다. 결측치를 갖는 레코드는 R1, R3, R4, R7이다. 특히, 레코드 R4는 <매출일자>, <매출수량> 등 2개의 필드에서 결측치를 갖는다.As shown in Figure 3, the record set is composed of a plurality of records. At this time, the field <Division Classification Name> of record R1 does not have a data value and is therefore missing. That is, record R1 is a record with missing values. Records with missing values are R1, R3, R4, and R7. In particular, record R4 has missing values in two fields: <sales date> and <sales quantity>.

다음으로, 레코드 증강부(33)는 레코드 셋에서 적어도 2개의 레코드들(이하 피합성 레코드)을 합성하여 신규 레코드를 생성하고, 생성된 신규 레코드를 데이터셋에 추가한다. 이를 통해, 레코드 셋(또는 레코드 집합)은 그 개수가 증가되어 증강된다.Next, the record enhancement unit 33 synthesizes at least two records (hereinafter, synthesized records) from the record set to create a new record, and adds the generated new record to the data set. Through this, the number of record sets (or record sets) is increased and augmented.

먼저, 레코드 셋에서 적어도 2개의 레코드(또는 피합성 레코드)를 추출한다. 바람직하게는, 랜덤하게 추출한다. 또한, 레코드 셋은 무결 레코드 뿐만 아니라 결측 레코드도 포함된다. 즉, 결측치를 갖는 레코드도 레코드 셋에 포함시켜, 신규 레코드 생성에 이용될 수 있다.First, at least two records (or composite records) are extracted from the record set. Preferably, it is extracted randomly. Also, the record set includes not only intact records but also missing records. That is, a record having a missing value can be included in the record set and used to create a new record.

다음으로, 각 피합성 레코드의 가중치를 설정한다. 이때, 가중치의 합이 1이 되도록 가중치를 설정한다.Next, the weight of each composite record is set. At this time, the weight is set so that the sum of the weights becomes 1.

또한, 바람직하게는, 가중치는 랜덤하게 설정된다. 특히, 합성할 때마다 가중치를 랜덤하게 새롭게 설정하여, 무작위성을 높인다.Further, preferably, the weights are set randomly. In particular, the weight is newly set at random each time it is synthesized, thereby increasing the randomness.

피합성 레코드가 2개인 경우를 보다 구체적으로 설명한다.The case of two composite records will be described in more detail.

다음 수학식 1에 의하여, 2개의 피합성 레코드 ri, rj로부터 새로운 신규 레코드(또는 합성 레코드) r'을 생성한다.A new new record (or composite record) r'is generated from two composite records r i and r j according to Equation 1 below.

[수학식 1][Equation 1]

Figure 112020108150438-pat00001
Figure 112020108150438-pat00001

여기서, d(r,k)는 레코드 r의 필드 k의 필드값(데이터값)을 나타낸다. 특히, d(r',k)는 신규 레코드 r'의 필드 k의 필드값을 나타내고, d(ri,k)와 d(rj,k)는 각각 기존 레코드 ri, rj의 필드 k의 필드값을 나타낸다.Here, d(r,k) represents a field value (data value) of field k of record r. In particular, d(r',k) represents the field value of field k of the new record r', and d(r i ,k) and d(r j ,k) are fields k of the existing records r i and r j, respectively. Represents the field value of.

또한, λ1, λ2는 가중치를 나타낸다. 가중치 λ1, λ2 의 합은 1이다. 합성 레코드가 2개이므로, 하나의 가중치 λ1가 랜덤하게 설정되면, 다른 가중치 λ2 는 자동으로 산출된다.In addition, λ 1 and λ 2 represent weights. The sum of the weights λ 1 and λ 2 is 1. Since there are two composite records, if one weight λ 1 is set randomly, the other weight λ 2 is automatically calculated.

한편, 위의 경우는 레코드의 필드가 연속형 데이터인 경우에 해당된다.Meanwhile, the above case corresponds to the case where the field of the record is continuous data.

레코드의 필드가 범주형 데이터인 경우, 해당 필드의 필드값을 범주 데이터의 확률 벡터로 설정한다. 즉, d(r,k)는 범주 데이터의 확률 벡터값(또는 범주 확률 벡터)을 갖는다. When a field of a record is categorical data, the field value of the field is set as a probability vector of categorical data. That is, d(r,k) has a probability vector value (or a category probability vector) of the category data.

즉, 범주형 필드 데이터 d(r,k)는 다음 식과 같다.That is, the categorical field data d(r,k) is as follows.

[수학식 2][Equation 2]

d(r,k) = [ d1(r,k), d2(r,k), ... dL(r,k) ] d(r,k) = [d 1 (r,k), d 2 (r,k), ... d L (r,k)]

여기서, dl(r,k)는 해당 필드의 l번째 범주의 확률값이고, L은 해당 필드의 범주 개수를 나타낸다.Here, d l (r,k) is a probability value of the lth category of the field, and L is the number of categories of the field.

즉, 벡터의 크기는 범주형 데이터의 범주 개수이고, 벡터의 각 요소는 각 범주의 확률값이다.That is, the size of the vector is the number of categories of categorical data, and each element of the vector is a probability value of each category.

도 3의 예에서, <매출구분> 필드는 범주형 데이터로서, <내수>, <수출>의 2개의 범주를 갖는다. 따라서 <매출구분> 필드는 2개의 요소, 즉, 2차원 벡터로 표시된다.In the example of FIG. 3, the <Sales Category> field is categorical data, and has two categories: <Domestic> and <Export>. Therefore, the <Sales Division> field is represented by two elements, that is, a two-dimensional vector.

d(r,k) = [ d1(r,k), d2(r,k) ]로 나타내고, d1은 <내수>를 나타내고, d2는 <수출>을 나타낸다.d(r,k) = [d 1 (r,k), d 2 (r,k) ], d 1 represents <domestic water>, and d 2 represents <export>.

특히, 해당 레코드의 필드가 속하는 범주는 확률값으로 1을 가지고, 나머지 범주는 0을 갖는다. 도 3의 예에서, 레코드 R2, R8에 대해, 필드 <매출구분>은 다음과 같이 표시된다.In particular, the category to which the field of the record belongs has 1 as a probability value, and the other categories have 0. In the example of Fig. 3, for records R2 and R8, the field <sales division> is indicated as follows.

d(R2,2) = [ 1, 0 ], d(R8,2) = [ 0, 1 ]d(R2,2) = [1, 0 ], d(R8,2) = [0, 1]

즉, 레코드 R2의 <내수>는 확률값이 1이고, <수출>은 확률값이 0이다. 또한, 레코드 R8의 <내수>는 확률값이 0이고, <수출>은 확률값이 1이다.That is, the probability value of <domestic number> of record R2 is 1, and the probability value of <export> is 0. In addition, the probability value of <domestic number> of record R8 is 0, and the probability value of <export> is 1.

만약 λ1가 0.7이면 합성 레코드의 벡터값은 [0.7, 0.3]으로 산출된다.If λ 1 is 0.7, the vector value of the composite record is calculated as [0.7, 0.3].

즉, 필드가 범주형 데이터인 경우, 필드는 벡터로 표시되고, 수학식 1은 다음과 같이 표시될 수 있다.That is, when the field is categorical data, the field is expressed as a vector, and Equation 1 may be expressed as follows.

[수학식 3][Equation 3]

Figure 112020108150438-pat00002
Figure 112020108150438-pat00002

한편, 합성 레코드가 결측 레코드로서, 특정 필드가 결측치를 가질 수 있다. 이 경우, 특정 필드의 해당 필드값(데이터 값)을 0으로 간주한다. 특히, 특정 필드가 범주형 데이터인 경우, 해당 필드의 전체 벡터는 0으로 설정된다.Meanwhile, the composite record is a missing record, and a specific field may have a missing value. In this case, the field value (data value) of a specific field is regarded as 0. In particular, when a specific field is categorical data, the entire vector of the field is set to 0.

도 3의 예에서, 합성 레코드 R2와 R4를 합성하여 신규 레코드를 생성한다고 가정한다. 이때, R4의 <매출수량> 필드는 결측치이며, 그 값은 0으로 간주되어 설정된. 따라서, λ1가 0.7이면 합성 레코드의 <매출수량> 필드는 14(= 20ㅧ0.7)로 산출된다.In the example of Fig. 3, it is assumed that a new record is created by synthesizing the synthetic records R2 and R4. At this time, the <Sales Quantity> field of R4 is a missing value, and the value is regarded as 0 and set. Therefore, if λ 1 is 0.7, the <Sales Quantity> field of the composite record is calculated as 14 (= 20x0.7).

도 3의 예에서, 합성 레코드 R2, R3를 합성하여 신규 레코드를 생성한다고 가정한다. 이때, R3의 <매출구분> 필드는 결측치이며, 그 벡터는 [0,0]이 된다. 따라서, λ1가 0.7이면 합성 레코드의 벡터값은 [0.7, 0]으로 산출된다.In the example of Fig. 3, it is assumed that a new record is created by synthesizing the synthetic records R2 and R3. At this time, the <sales division> field of R3 is a missing value, and the vector is [0,0]. Therefore, if λ 1 is 0.7, the vector value of the composite record is calculated as [0.7, 0].

또한, 피합성 레코드가 다수 개인 경우, 특히, 피합성 레코드의 개수가 m이면, [수학식 1]은 다음과 같이 나타낼 수 있다.In addition, when there are a plurality of synthesized records, in particular, if the number of synthesized records is m, [Equation 1] can be expressed as follows.

[수학식 4][Equation 4]

Figure 112020108150438-pat00003
Figure 112020108150438-pat00003

가중치 λi는 각 피합성 레코드 ri에 대한 가중치이다. 또한, 이들의 가중치들의 합은 1이다.The weight λ i is the weight for each composite record r i . Also, the sum of their weights is 1.

다음으로, 모델 학습부(34)는 증강된 레코드 셋으로 학습 데이터셋을 구성하고, 구성된 학습 데이터셋으로 기계학습 모델을 학습시킨다.Next, the model learning unit 34 constructs a training dataset with an augmented record set, and trains a machine learning model with the configured training dataset.

특히, 증강된 레코드 셋 중에서 기초 레코드 셋의 결측 레코드를 제외한 나머지 레코드들로부터 학습 데이터 셋을 구성한다. 즉, 학습 데이터셋에서 결측 레코드는 포함되지 않는다.In particular, a training data set is constructed from the remaining records except for the missing record of the basic record set among the augmented record sets. That is, missing records are not included in the training dataset.

기계학습 모델은 신경망 등으로 구성되어, 학습 데이터에 의해 내부 변수들이 학습된다. 기계학습 모델의 입력은 레코드 데이터이고, 출력은 예측된 레코드 데이터이다. 따라서 기계학습 모델은 학습이 되고, 입력 변수의 값들(또는 레코드 데이터)을 입력받으면, 해당 레코드 데이터의 각 필드의 예측값을 출력시킨다.Machine learning models are composed of neural networks, etc., and internal variables are learned by training data. The input of the machine learning model is record data, and the output is predicted record data. Therefore, the machine learning model is trained, and when the values of input variables (or record data) are input, predicted values of each field of the corresponding record data are output.

일례로서, 도 3의 예에서, 필드는 <매출일자>, <매출구분명>, <사업부구분명>, <매출수량>, <원화단가> 등 5개 구분되므로, 기계학습 모델의 입력은 5개 필드의 레코드이고, 출력도 5개 필드의 레코드이다.As an example, in the example of FIG. 3, since the fields are divided into five fields, such as <sales date>, <sales classification name>, <business division classification>, <sales quantity>, and <KRW unit price>, the input of the machine learning model is 5 It is a record of four fields, and the output is also a record of five fields.

특히, 기계학습 모델의 출력 레코드의 출력 필드가 연속형 데이터를 가지는 경우, 해당 출력 필드는 연속형 데이터로 출력된다. 레코드의 출력 필드가 범주형 데이터인 경우, 해당 범주의 벡터로 출력되고, 벡터는 각 범주의 확률로 나타낸다.In particular, when an output field of an output record of a machine learning model has continuous data, the corresponding output field is output as continuous data. If the output field of the record is categorical data, it is output as a vector of the corresponding category, and the vector is represented by the probability of each category.

또한, 기계학습 모델의 입력은 레코드 데이터이다. 즉, 하나의 레코드 데이터가 입력되면, 레코드의 추정값들이 출력된다. 이때, 출력 레코드의 각 필드들에는, 추정값(또는 예측값) 또는 벡터의 추정 확률이 출력된다.Also, the input of the machine learning model is record data. That is, when one record data is input, estimated values of the record are output. At this time, an estimated value (or a predicted value) or an estimated probability of a vector is output to each field of the output record.

다음으로, 결측치 예측부(35)는 결측된 레코드를 기계학습 모델에 입력하여, 그 출력 값으로 결측치를 예측한다.Next, the missing value predictor 35 inputs the missing record into the machine learning model, and predicts the missing value using the output value.

앞서 설명한 바와 같이, 기계학습 모델의 입력은 레코드 데이터이고, 출력은 예측된 레코드 데이터이다. 기계학습 모델은, 입력 변수의 값들(또는 레코드 데이터)을 입력받으면, 해당 레코드 데이터의 각 필드의 예측값을 출력시킨다. 이때, 결측 필드의 예측값을 해당 필드의 결측치 대신 사용한다.As described above, the input of the machine learning model is record data, and the output is predicted record data. When the machine learning model receives input variable values (or record data), it outputs a predicted value of each field of the corresponding record data. In this case, the predicted value of the missing field is used instead of the missing value of the corresponding field.

특히, 기계학습 모델의 출력 레코드의 출력 필드가 연속형 데이터를 가지는 경우, 해당 출력 필드는 연속형 데이터로 출력된다. 따라서 결측치를 갖는 필드(또는 결측 필드)가 연속형 데이터인 경우, 해당 출력 필드의 출력값을 결측치 대신 사용한다. 즉, 해당 출력 필드의 출력값으로 결측치를 예측한다.In particular, when an output field of an output record of a machine learning model has continuous data, the corresponding output field is output as continuous data. Therefore, when a field with a missing value (or a missing field) is continuous data, the output value of the corresponding output field is used instead of the missing value. That is, the missing value is predicted by the output value of the corresponding output field.

또한, 결측 필드가 범주형 데이터인 경우, 기계학습 모델의 출력 레코드의 해당 필드는 해당 범주의 벡터로 출력되고, 벡터는 각 범주의 확률로 나타낸다. 따라서 각 범주의 확률 중 가장 큰 확률을 갖는 범주를 예측 범주로 추정한다.In addition, when the missing field is categorical data, the field in the output record of the machine learning model is output as a vector of the corresponding category, and the vector is represented by the probability of each category. Therefore, the category with the largest probability among the probabilities of each category is estimated as the predicted category.

다음으로, 보정자료 생성부(36)는 결측치를 예측값으로 보정하여 보정된 테이블을 생성한다.Next, the correction data generation unit 36 corrects the missing values to predicted values to generate a corrected table.

즉, 앞서 예측값으로 결측치를 대체하여 기초 레코드 셋(기초 데이터의 레코드 셋)를 보정한다. 이와 같이, 보정된 레코드 셋으로 테이블을 보정한다.That is, the basic record set (the record set of the basic data) is corrected by replacing the missing value with the predicted value. In this way, the table is corrected with the corrected record set.

특히, 기초 데이터가 피벗 테이블인 경우, 레코드셋 구조의 보정된 데이터를 다시 피벗 테이블로 복원한다[특허문헌 4].In particular, when the basic data is a pivot table, the corrected data of the recordset structure is restored to the pivot table [Patent Document 4].

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.In the above, the invention made by the present inventor has been described in detail according to the above embodiment, but the invention is not limited to the above embodiment, and it goes without saying that various changes can be made without departing from the gist of the invention.

10 : 클라이언트 단말 30 : 서버
31 : 기초자료 입력부 32 : 결측자료 검출부
33 : 레코드 증강부 34 : 모델 학습부
35 : 결측치 예측부 36 : 보정자료 생성부
38 : 학습모델
40 : 데이터베이스 41 : 기초자료DB
42 : 증강자료DB 43 : 보정자료DB
80 : 네트워크
10: client terminal 30: server
31: basic data input unit 32: missing data detection unit
33: record augmentation unit 34: model learning unit
35: missing value prediction unit 36: correction data generation unit
38: learning model
40: database 41: basic data DB
42: Augmented data DB 43: Corrected data DB
80: network

Claims (7)

데이터 증강 기반 기계학습 방식의 결측치 보정 시스템에 있어서,
기초 데이터를 입력받아 레코드 구조의 데이터 셋(이하 제1 레코드 셋)으로 구성하는 기초자료 입력부;
상기 제1 레코드 셋에서 결측된 레코드를 검출하여, 결측 레코드와 무결 레코드를 구분하는 결측자료 검출부;
상기 제1 레코드 셋에서 적어도 2개의 레코드를 합성하여 신규 레코드를 생성하고, 생성된 신규 레코드를 상기 제1 레코드 셋에 추가하여 증강시키는 레코드 증강부;
증강된 레코드 셋(이하 제2 레코드 셋)을 이용하여 학습 데이터셋을 구성하고, 상기 학습 데이터셋으로 기계학습 모델을 학습시키는 모델 학습부;
상기 제1 레코드 셋의 결측 레코드를 기계학습 모델에 입력하여, 그 출력 값으로 해당 결측 레코드의 결측치를 예측하는 결측치 예측부; 및,
상기 결측치를 예측한 값으로 보정하여, 상기 제1 레코드 셋의 상기 결측 레코드를 보정하는 보정자료 생성부를 포함하고,
상기 레코드 증강부는 상기 제1 레코드 셋에서 적어도 2개의 레코드(이하 피합성 레코드)를 추출하고, 추출된 적어도 2개의 레코드들을 가중치 합으로 가중하여 신규 레코드를 생성하고,
상기 피합성 레코드의 필드가 범주형 데이터인 경우, 해당 필드의 필드값을 범주 확률 벡터로 설정하고, 상기 범주 확률 벡터는 상기 피합성 레코드의 필드가 갖는 범주 확률 요소는 1의 확률값을 갖고, 나머지 범주 확률 요소는 0의 확률값을 갖는 것을 특징으로 하는 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템.
In the data augmentation-based machine learning method of missing value correction system,
A basic data input unit configured to receive basic data into a data set having a record structure (hereinafter, referred to as a first record set);
A missing data detection unit detecting missing records in the first record set and distinguishing between missing records and incomplete records;
A record augmenting unit for synthesizing at least two records from the first record set to create a new record, and adding and enhancing the generated new record to the first record set;
A model learning unit that constructs a training data set using the augmented record set (hereinafter referred to as a second record set) and trains a machine learning model using the training data set;
A missing value predictor for inputting the missing record of the first record set into a machine learning model and predicting a missing value of the corresponding missing record using the output value; And,
Comprising a correction data generating unit for correcting the missing record of the first record set by correcting the missing value to a predicted value,
The record enhancement unit extracts at least two records (hereinafter, synthesized records) from the first record set, and generates a new record by weighting the extracted at least two records by a weight sum,
When the field of the composite record is categorical data, the field value of the field is set as a categorical probability vector, and the categorical probability vector has a probability value of 1 for the categorical probability element of the field of the composite record, and the remainder The categorical probability element has a probability value of 0. A system for correcting missing values based on a data enhancement-based machine learning method.
삭제delete 제1항에 있어서,
상기 가중치의 합은 1인 것을 특징으로 하는 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템.
The method of claim 1,
The sum of the weights is 1, the missing value correction system of the data augmentation-based machine learning method, characterized in that.
제1항에 있어서,
상기 레코드 증강부는 합성할 때마다 상기 가중치를 랜덤하게 설정하는 것을 특징으로 하는 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템.
The method of claim 1,
The data augmentation-based machine learning method for correcting missing values, wherein the record augmentation unit randomly sets the weights each time they are synthesized.
제1항에 있어서,
상기 레코드 증강부는 상기 제1 레코드 셋에서 상기 피합성 레코드를 추출할 때, 상기 피합성 레코드는 결측 레코드이면 결측치를 갖는 필드 값은 0의 값을 가지는 것으로 설정하는 것을 특징으로 하는 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템.
The method of claim 1,
When the record enhancement unit extracts the composite record from the first record set, if the composite record is a missing record, the field value having a missing value is set to have a value of 0. Method of missing value correction system.
삭제delete 제1항에 있어서,
상기 모델 학습부는 상기 제2 레코드 셋 중에서 상기 제1 레코드 셋의 결측 레코드를 제외한 나머지 레코드들로부터 학습 데이터 셋을 추출하여 구성하는 것을 특징으로 하는 데이터 증강 기반 기계학습 방식의 결측치 보정 시스템.
The method of claim 1,
And the model learning unit extracts and configures a training data set from the remaining records excluding the missing record of the first record set from among the second record set.
KR1020200132240A 2020-10-13 2020-10-13 A missing value correction system using machine learning and data augmentation KR102251139B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200132240A KR102251139B1 (en) 2020-10-13 2020-10-13 A missing value correction system using machine learning and data augmentation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200132240A KR102251139B1 (en) 2020-10-13 2020-10-13 A missing value correction system using machine learning and data augmentation

Publications (1)

Publication Number Publication Date
KR102251139B1 true KR102251139B1 (en) 2021-05-12

Family

ID=75918664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200132240A KR102251139B1 (en) 2020-10-13 2020-10-13 A missing value correction system using machine learning and data augmentation

Country Status (1)

Country Link
KR (1) KR102251139B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589602B1 (en) * 2022-11-14 2023-10-17 주식회사 티라유텍 Apparatus and method for handling missing values

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190021471A (en) 2017-02-02 2019-03-05 사회복지법인 삼성생명공익재단 Method, Apparatus and Program for Predicting Prognosis of Gastric Cancer Using Artificial Neural Network
US20190286725A1 (en) * 2018-03-19 2019-09-19 Oracle International Corporation Intelligent preprocessing of multi-dimensional time-series data
KR102058124B1 (en) 2019-01-25 2019-12-23 (주)비아이매트릭스 A system for adding deep-learning forecaset data by using an OLAP data with pivot table
US20190391968A1 (en) * 2016-09-16 2019-12-26 Oracle International Corporation Method and system for adaptively imputing sparse and missing data for predictive models
US20200089650A1 (en) * 2018-09-14 2020-03-19 Software Ag Techniques for automated data cleansing for machine learning algorithms
KR20200030303A (en) 2018-09-12 2020-03-20 삼성에스디에스 주식회사 Method and apparatus for compensating a missing value in data
KR20200049373A (en) * 2018-10-31 2020-05-08 한국전자통신연구원 System and method for calibrating simulation model
KR20200082893A (en) 2018-12-31 2020-07-08 한국전자통신연구원 Time series data processing device and operating method thereof
JP2020149618A (en) * 2019-03-15 2020-09-17 セカンドサイト株式会社 Model construction system, information processing system and program

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190391968A1 (en) * 2016-09-16 2019-12-26 Oracle International Corporation Method and system for adaptively imputing sparse and missing data for predictive models
KR20190021471A (en) 2017-02-02 2019-03-05 사회복지법인 삼성생명공익재단 Method, Apparatus and Program for Predicting Prognosis of Gastric Cancer Using Artificial Neural Network
US20190286725A1 (en) * 2018-03-19 2019-09-19 Oracle International Corporation Intelligent preprocessing of multi-dimensional time-series data
KR20200030303A (en) 2018-09-12 2020-03-20 삼성에스디에스 주식회사 Method and apparatus for compensating a missing value in data
US20200089650A1 (en) * 2018-09-14 2020-03-19 Software Ag Techniques for automated data cleansing for machine learning algorithms
KR20200049373A (en) * 2018-10-31 2020-05-08 한국전자통신연구원 System and method for calibrating simulation model
KR20200082893A (en) 2018-12-31 2020-07-08 한국전자통신연구원 Time series data processing device and operating method thereof
KR102058124B1 (en) 2019-01-25 2019-12-23 (주)비아이매트릭스 A system for adding deep-learning forecaset data by using an OLAP data with pivot table
JP2020149618A (en) * 2019-03-15 2020-09-17 セカンドサイト株式会社 Model construction system, information processing system and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589602B1 (en) * 2022-11-14 2023-10-17 주식회사 티라유텍 Apparatus and method for handling missing values

Similar Documents

Publication Publication Date Title
US20210271975A1 (en) User tag generation method and apparatus, storage medium, and computer device
Gheyas et al. A novel neural network ensemble architecture for time series forecasting
CN110751261A (en) Training method and system and prediction method and system of neural network model
Mukherjee et al. Stock market prediction using deep learning algorithms
Lima et al. Domain knowledge integration in data mining using decision tables: case studies in churn prediction
Imandoust et al. Forecasting the direction of stock market index movement using three data mining techniques: the case of Tehran Stock Exchange
CN105893609A (en) Mobile APP recommendation method based on weighted mixing
Wang et al. A Deep-forest based approach for detecting fraudulent online transaction
CN114612251A (en) Risk assessment method, device, equipment and storage medium
KR102251139B1 (en) A missing value correction system using machine learning and data augmentation
An et al. Comprehensive commodity price forecasting framework using text mining methods
Öztürk A tuned feed-forward deep neural network algorithm for effort estimation
Zhang et al. Consumer credit risk assessment: A review from the state-of-the-art classification algorithms, data traits, and learning methods
Dutta Measuring Diversity in Regression Ensembles.
Yenduri et al. Performance evaluation of imputation methods for incomplete datasets
Simion-Constantinescu et al. Deep neural pipeline for churn prediction
Li et al. Evaluating BERT on cloud-edge time series forecasting and sentiment analysis via prompt learning
KR20190134308A (en) Data augmentation method and apparatus using convolution neural network
Sadreddin et al. Chunk-based incremental feature learning for credit-card fraud data stream
Lu et al. Tensor mutual information and its applications
Cerqueira et al. Model Compression for Dynamic Forecast Combination
Ankaiah et al. Multi objective constrained optimisation of data envelopment analysis by differential evolution
Wu et al. Classmates enhanced diversity-self-attention network for dropout prediction in MOOCs
Chou et al. Forecasting Regional Energy Consumption via Jellyfish Search-Optimized Convolutional-Based Deep Learning
Cheriyan et al. Web page prediction using Markov model and Bayesian statistics

Legal Events

Date Code Title Description
GRNT Written decision to grant