KR102201201B1 - Method, computer program for classifying data and apparatus using the same - Google Patents

Method, computer program for classifying data and apparatus using the same Download PDF

Info

Publication number
KR102201201B1
KR102201201B1 KR1020190014962A KR20190014962A KR102201201B1 KR 102201201 B1 KR102201201 B1 KR 102201201B1 KR 1020190014962 A KR1020190014962 A KR 1020190014962A KR 20190014962 A KR20190014962 A KR 20190014962A KR 102201201 B1 KR102201201 B1 KR 102201201B1
Authority
KR
South Korea
Prior art keywords
point
search
distance value
final
data
Prior art date
Application number
KR1020190014962A
Other languages
Korean (ko)
Other versions
KR20200097505A (en
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 KR1020190014962A priority Critical patent/KR102201201B1/en
Publication of KR20200097505A publication Critical patent/KR20200097505A/en
Application granted granted Critical
Publication of KR102201201B1 publication Critical patent/KR102201201B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터를 분류하는 데이터 분류 장치에 관한 것으로서, 복수의 클래스 각각에 대한 분포도를 생성하는 분포도 생성부, 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정하는 탐색 분할점 설정부, 상기 탐색 분할점을 기준으로 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정하는 최종 분할점 결정부, 상기 최종 분할점을 기준으로 상기 연속형 변수의 이산화를 수행하여 범주형 변수를 획득하는 이산화 수행부 및 상기 데이터셋의 적어도 일부 및 상기 범주형 변수를 머신러닝 기반 모델에 입력하여 상기 데이터셋을 기설정된 복수의 클래스 중 하나로 분류하는 데이터 분류부를 포함할 수 있다.A data classification apparatus for classifying data, comprising: a distribution map generator that generates a distribution map for each of a plurality of classes; and a search split point setting that sets a search split point that becomes a reference point for discretizing continuous variables included in a data set. Second, a final dividing point determination unit for determining a final dividing point based on a distance value derived by a preset distance function for the left area and the right area based on the search dividing point, and the continuation based on the final dividing point A discretization execution unit that obtains a categorical variable by performing discretization of a type variable, and data for classifying the data set into one of a plurality of preset classes by inputting at least a part of the data set and the categorical variable into a machine learning-based model It may include a classification unit.

Description

데이터를 분류하는 방법, 프로그램 및 이를 이용한 장치{METHOD, COMPUTER PROGRAM FOR CLASSIFYING DATA AND APPARATUS USING THE SAME}A method, a program for classifying data, and a device using the same {METHOD, COMPUTER PROGRAM FOR CLASSIFYING DATA AND APPARATUS USING THE SAME}

본 발명은 데이터를 분류하는 방법, 프로그램 및 이를 이용한 장치에 관한 것이다.The present invention relates to a method, a program for classifying data, and an apparatus using the same.

데이터의 변수는 특성에 따라 이산형 변수(Discrete variable)와 연속형 변수(Continuous variable)로 나뉜다. 데이터 셋에 포함된 연속형 변수는 데이터에 관한 많은 정보를 가지고 있다. 그러나, BMI 지수로부터 비만 여부를 판단하거나, 일정 점수를 기준으로 성적의 등급을 부여하는 등 특정 기준점을 정함에 있어서는 이산형 변수가 연속형 변수보다 더 간결하고 사용하기 편리하다. 이와 같은 이유로, 연속형 변수를 이산형 변수로 변환한다.Data variables are divided into discrete variables and continuous variables according to their characteristics. Continuous variables included in a data set contain a lot of information about the data. However, discrete variables are more concise and more convenient to use than continuous variables in determining specific reference points, such as determining whether or not obesity from the BMI index or assigning grades of grades based on a certain score. For this reason, continuous variables are converted to discrete variables.

이산형 변수와 연속형 변수가 혼합된 데이터에 사용되는 분류 알고리즘도 있지만, 특정 분류 알고리즘은 명목형 변수를 요구한다. 따라서, 해당 알고리즘을 사용하기 위해 연속형 변수를 이산형 변수로 바꿔줘야 하는데 이와 같은 데이터 처리과정을 이산화(Discretization)라고 한다.There are classification algorithms used for data with a mixture of discrete and continuous variables, but certain classification algorithms require nominal variables. Therefore, in order to use the algorithm, a continuous variable must be changed to a discrete variable, and such a data processing process is called discretization.

한편, 연속형 변수를 이산화하는 과정에서 연속형 변수가 기존에 가지고 있던 많은 정보를 잃게 되지만 이산형 변수가 갖는 이점은 다음과 같다.On the other hand, in the process of discretizing the continuous variable, much of the information that the continuous variable had previously was lost, but the advantages of the discrete variable are as follows.

첫째, 분류 알고리즘의 속도가 향상된다. 예를 들어, 연속형 변수는 레코드마다 다양한 값과 각 변수마다 변수 값의 다양한 범위를 가진다. 따라서, 다른 변수와 연산하는 과정에서 연산량이 증대된다. 또한, 이산화를 하게 되면 적은 양의 변수 값만을 연산하기 때문에 부하가 줄어든다.First, the speed of the classification algorithm is improved. For example, continuous variables have different values per record and different ranges of variable values for each variable. Therefore, the amount of calculation increases in the process of calculating with other variables. In addition, discretization reduces the load because only a small amount of variable values is calculated.

둘째, 데이터가 간결해진다. 예를 들어, 이산형 변수의 개수는 사용자가 정할 수 있으며, 보통 크지 않은 개수를 정의하여 사용한다. 따라서, 이산형 변수 값이 하는 역할은 데이터 값의 포함 범주를 나타내는 것에 그치며, 이는 사용자가 데이터로부터 정보를 쉽게 얻을 수 있으며 활용하기에 편리하다.Second, the data becomes concise. For example, the number of discrete variables can be determined by the user, and usually a small number is defined and used. Therefore, the role of the discrete variable value is only to indicate the inclusion category of the data value, which is convenient for the user to obtain information from the data and to utilize it.

셋째, 데이터 셋과 분류 알고리즘을 고려하여 적절한 이산화 방법을 택하는 경우, 분류 알고리즘의 성능 향상을 기대할 수 있다. 예를 들어, 정보획득량을 이용하여 MDLP 이산화 기법과, 정보획득량을 이용하는 C4.5를 함께 이용하면 긍적적인 상호작용으로 뛰어난 성능을 보여준다.Third, when an appropriate discretization method is selected in consideration of the data set and classification algorithm, the performance of the classification algorithm can be expected to improve. For example, if the MDLP discretization technique using the amount of information acquired and C4.5 using the amount of information acquired are used together, it shows excellent performance through positive interaction.

전술한 바와 같은, 이산화에 관련한 연구는 오래전부터 진행됐으며 현재도 다양한 방면으로 연구가 진행되고 있다. 그 중, 가장 기초적인 이산화 기법은 Binning 기법이라 불리는 균등폭(Equal width) 이산화, 균등빈도(Equal frequency) 이산화가 있다. 이는 클래스 값을 참조하지 않는 비지도 이산화 기법이며, 일정 폭, 일정 빈도를 이용해 분할하기 때문에 성능향상에 대한 기대가 적다. 클래스 값을 참조하지 않는 다른 기법인 K-평균 군집화(K-means clustering) 이산화 기법 또한 눈에 띄는 성능향상을 기대하기는 어렵다.As described above, research related to discretization has been conducted for a long time, and research is still being conducted in various fields. Among them, the most basic discretization techniques include equal width discretization and equal frequency discretization, which are called Binning techniques. This is an unsupervised discrete technique that does not refer to a class value, and because it is divided using a certain width and a certain frequency, there is little expectation for performance improvement. Another technique that does not refer to class values, the K-means clustering discretization technique, is also difficult to expect a noticeable performance improvement.

또한, 기존의 군집화 기반 이산화는 매 실험마다 다른 군집을 형성하기 때문에 이산화의 결과가 매번 달라질 수 있다는 문제점이 있다.In addition, the conventional clustering-based discretization has a problem that the result of the discretization may vary each time because a different cluster is formed for each experiment.

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 클래스 각각에 대한 분포도의 교점에 기초하여 분할점을 설정하되, 설정된 분할점을 기준으로 좌측 영역 및 우측 영역에 대한 거리 값에 기초하여 분할점의 위치를 변경하고, 변경된 위치에서의 분할점을 기준으로 좌측 영역에 대한 거리 값과 우측 영역에 대한 거리 값의 합이 최소가 되는 지점을 최종 분할점으로 결정하여, 최종 분할점을 기준으로 연속형 변수의 이산화를 수행함으로써, 이산화 결과의 정확도를 향상시키고, 보다 신속한 이산화가 가능하도록 하는 데이터를 분류하는 데이터 분류 장치, 이를 이용한 데이터 분류 방법 및 컴퓨터 프로그램을 제공하고자 한다.The present invention is to solve the above-described problems of the prior art, and set a dividing point based on the intersection of the distribution map for each of a plurality of classes, but based on the distance values for the left area and the right area based on the set dividing point The position of the dividing point is changed, and the point where the sum of the distance value for the left area and the distance value for the right area is the minimum based on the dividing point at the changed position is determined as the final dividing point. An object of the present invention is to provide a data classification apparatus that classifies data that improves the accuracy of the discretization result and enables faster discretization by performing discretization of a continuous variable as a reference, a data classification method and a computer program using the same.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problems as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 데이터를 분류하는 데이터 분류 장치에 관한 것으로서, 복수의 클래스 각각에 대한 분포도를 생성하는 분포도 생성부, 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정하는 탐색 분할점 설정부, 상기 탐색 분할점을 기준으로 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정하는 최종 분할점 결정부, 상기 최종 분할점을 기준으로 상기 연속형 변수의 이산화를 수행하여 범주형 변수를 획득하는 이산화 수행부 및 상기 데이터셋의 적어도 일부 및 상기 범주형 변수를 머신러닝 기반 모델에 입력하여 상기 데이터셋을 기설정된 복수의 클래스 중 하나로 분류하는 데이터 분류부를 포함할 수 있다.As a technical means for achieving the above-described technical problem, an embodiment of the present invention relates to a data classification device for classifying data, a distribution map generator for generating a distribution map for each of a plurality of classes, and included in a data set. A search split point setting unit that sets a search split point that becomes a reference point for discretizing a continuous variable, and a final result based on a distance value derived by a preset distance function for the left area and the right area based on the search split point. A final splitting point determining unit for determining a splitting point, a discretization performing unit for obtaining a categorical variable by performing discretization of the continuous variable based on the final splitting point, and at least a part of the dataset and the categorical variable It may include a data classifier for inputting into a learning-based model and classifying the data set into one of a plurality of preset classes.

본 발명의 다른 일 실시예는, 데이터를 분류하는 데이터 분류 방법에 관한 것으로서, 복수의 클래스 각각에 대한 분포도를 생성하는 단계, 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정하는 단계, 상기 탐색 분할점을 기준으로 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정하는 단계, 상기 최종 분할점을 기준으로 상기 연속형 변수의 이산화를 수행하여 범주형 변수를 획득하는 단계 및 상기 데이터셋의 적어도 일부 및 상기 범주형 변수를 머신러닝 기반 모델에 입력하여 상기 데이터셋을 기설정된 복수의 클래스 중 하나로 분류하는 단계를 포함할 수 있다.Another embodiment of the present invention relates to a data classification method for classifying data, the step of generating a distribution map for each of a plurality of classes, a search split point serving as a reference point for discretizing a continuous variable included in a data set The step of setting, determining a final dividing point based on a distance value derived by a preset distance function for a left area and a right area based on the search dividing point, the continuous type based on the final dividing point Performing discretization of variables to obtain categorical variables, and classifying the data set into one of a plurality of preset classes by inputting at least a portion of the data set and the categorical variable into a machine learning-based model. I can.

본 발명의 또 다른 일 실시예는, 컴퓨터 프로그램으로서 컴퓨팅 장치에 의해 실행될 경우, 복수의 클래스 각각에 대한 분포도를 생성하고, 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정하고, 상기 탐색 분할점을 기준으로 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정하고, 상기 최종 분할점을 기준으로 상기 연속형 변수의 이산화를 수행하여 범주형 변수를 획득하고, 상기 데이터셋의 적어도 일부 및 상기 범주형 변수를 머신러닝 기반 모델에 입력하여 상기 데이터셋을 기설정된 복수의 클래스 중 하나로 분류하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다. Another embodiment of the present invention, when executed by a computing device as a computer program, generates a distribution map for each of a plurality of classes, and provides a search splitting point as a reference point for discretizing a continuous variable included in a data set. Set and determine a final dividing point based on a distance value derived by a preset distance function for the left area and the right area based on the search dividing point, and discretize the continuous variable based on the final dividing point A medium comprising a sequence of instructions for acquiring a categorical variable by performing, and inputting at least a part of the data set and the categorical variable into a machine learning-based model to classify the data set into one of a plurality of preset classes Computer programs stored in can be provided.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the present invention. In addition to the above-described exemplary embodiments, there may be additional embodiments described in the drawings and detailed description of the invention.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 복수의 클래스 각각에 대한 분포도의 교점에 기초하여 분할점을 설정하되, 설정된 분할점을 기준으로 좌측 영역 및 우측 영역에 대한 거리 값에 기초하여 분할점의 위치를 변경하고, 변경된 위치에서의 분할점을 기준으로 좌측 영역에 대한 거리 값과 우측 영역에 대한 거리 값의 합이 최소가 되는 지점을 최종 분할점으로 결정하여, 최종 분할점을 기준으로 연속형 변수의 이산화를 수행함으로써, 분할점을 보다 신속하게 탐색하여 보다 신속한 이산화가 가능하도록 하는 데이터를 분류하는 데이터 분류 장치, 이를 이용한 데이터 분류 방법 및 컴퓨터 프로그램을 제공할 수 있다.According to any one of the above-described problem solving means of the present invention, the present invention sets the dividing point based on the intersection point of the distribution map for each of the plurality of classes, but the distance values for the left area and the right area based on the set dividing point The position of the dividing point is changed based on the dividing point, and the point at which the sum of the distance value for the left area and the distance value for the right area is the minimum is determined as the final dividing point based on the divided point at the changed position. By performing discretization of a continuous variable based on a point, it is possible to provide a data classification apparatus, a data classification method and a computer program using the same, for classifying data that enables faster discretization by searching for a split point more quickly.

또한, 본 발명은 분할점을 기준으로 좌측 영역에 대한 거리 값과 우측 영역에 대한 거리 값의 합이 최소가 되는 지점을 최종 분할점으로 결정하여, 최종 분할점을 기준으로 연속형 변수의 이산화를 수행함으로써, 보다 정확한 이산화의 결과를 도출할 수 있는 연속형 변수를 이산화하는 데이터를 분류하는 데이터 분류 장치, 이를 이용한 데이터 분류 방법 및 컴퓨터 프로그램을 제공할 수 있다.In addition, the present invention determines the point at which the sum of the distance value for the left area and the distance value for the right area is the minimum based on the dividing point as the final dividing point, and discretizes the continuous variable based on the final dividing point. By performing, it is possible to provide a data classification apparatus for classifying data that discretizes a continuous variable capable of deriving more accurate discretization results, a data classification method and a computer program using the same.

도 1은 본 발명의 일 실시예에 따른 머신러닝 기반 데이터 분류기에 사용되는 데이터 분류 장치의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 탐색 분할점 설정부에서 탐색 분할점을 설정하는 것을 설명하기 위해 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 최종 분할점 결정부에서 최종 분할점을 결정하는 것을 설명하기 위해 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 연속형 변수를 이산화하는 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 머신러닝 기반 데이터 분류기에 사용되는 데이터 분류 장치를 이용하는 이산화 기법의 정확성에 대해 실험한 결과를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 머신러닝 기반 데이터 분류기에 사용되는 데이터 분류 장치를 이용하는 이산화 기법의 AUC에 대해 실험한 결과를 나타낸 도면이다.
1 is a diagram showing the configuration of a data classification apparatus used in a machine learning-based data classifier according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating setting of a search split point in a search split point setting unit according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating determining a final dividing point by a final dividing point determiner according to an embodiment of the present invention.
4 is a diagram showing a process of discretizing a continuous variable according to an embodiment of the present invention.
5 is a diagram showing an experiment result of the accuracy of a discretization technique using a data classification apparatus used in a machine learning-based data classifier according to an embodiment of the present invention.
6 is a diagram showing an experiment result of an AUC of a discretization technique using a data classification apparatus used in a machine learning-based data classifier according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In the present specification, the term "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, or two or more units may be realized using one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.In the present specification, some of the operations or functions described as being performed by the terminal or device may be performed instead by a server connected to the terminal or device. Likewise, some of the operations or functions described as being performed by the server may also be performed by a terminal or device connected to the server.

이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.Hereinafter, with reference to the accompanying configuration diagram or processing flow chart, specific details for the implementation of the present invention will be described.

도 1은 본 발명의 일 실시예에 따른 머신러닝 기반 데이터 분류기에 사용되는 데이터 분류 장치(100)의 구성을 나타낸 도면이다.1 is a diagram showing the configuration of a data classification apparatus 100 used in a machine learning-based data classifier according to an embodiment of the present invention.

도 1을 참조하면, 머신러닝 기반 데이터 분류기에 사용되는 데이터 분류 장치(100)는 분포도 생성부(110), 탐색 분할점 설정부(130), 최종 분할점 결정부(150), 이산화 수행부(170) 및 데이터 분류부(190)를 포함할 수 있다.Referring to FIG. 1, a data classification apparatus 100 used in a machine learning-based data classifier includes a distribution map generator 110, a search split point setting unit 130, a final split point determination unit 150, and a discretization execution unit ( 170) and a data classification unit 190 may be included.

분포도 생성부(110)는 복수의 클래스 각각에 대한 분포도를 생성할 수 있다. The distribution map generator 110 may generate a distribution map for each of a plurality of classes.

분포도 생성부(110)는 최소 두 개의 클래스 각각에 대한 분포도를 생성하는 것이 바람직할 수 있으나, 이에 한정되는 것은 아님에 유의하도록 한다.It is to be noted that although it may be desirable for the distribution map generator 110 to generate a distribution map for each of at least two classes, it is not limited thereto.

분포도 생성부(110)는 복수의 클래스 각각에 대한 초기 데이터에 기초하여 분포도를 미리 생성해놓을 수 있다. The distribution map generator 110 may generate a distribution map in advance based on initial data for each of a plurality of classes.

탐색 분할점 설정부(130)는 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정할 수 있다.The search split point setting unit 130 may set a search split point that is a reference point for discretizing a continuous variable included in the data set.

또한, 탐색 분할점 설정부(130)는 분포도에 포함되는 복수의 분포의 교점에 기초하여 최초의 탐색 분할점을 설정할 수 있다.Also, the search split point setting unit 130 may set the first search split point based on the intersection points of a plurality of distributions included in the distribution map.

아울러, 탐색 분할점 설정부(130)는 탐색 분할점의 위치를 변경할 수 있다. 여기서, 탐색 분할점 설정부(130)는 탐색 분할점의 위치의 변경을 반복할 수 있다.In addition, the search split point setting unit 130 may change the location of the search split point. Here, the search split point setting unit 130 may repeatedly change the position of the search split point.

최종 분할점 결정부(150)는 탐색 분할점을 기준으로 분포도의 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정할 수 있다.The final split point determiner 150 may determine the final split point based on a distance value derived by a preset distance function for the left and right areas of the distribution map based on the search split point.

여기서, 거리 함수는 Wasserstein 거리 함수로서, 하기의 수학식 1에 기초하여 정의될 수 있다.Here, the distance function is a Wasserstein distance function, and may be defined based on Equation 1 below.

Figure 112019013495781-pat00001
Figure 112019013495781-pat00001

(여기서, P, Q는 확률 분포, x, y는 확률변수)(Where P, Q are probability distributions, x, y are random variables)

또한, 최종 분할점 결정부(150)는 변경된 위치에서의 탐색 분할점을 기준으로 상기 좌측 영역에 대한 제 1 거리값 및 상기 우측 영역에 대한 제 2 거리값의 합을 계산할 수 있다. 여기서, 최종 분할점 결정부(150)는 탐색 분할점 설정부(130)가 탐색 분할점의 위치의 변경을 반복할 때마다 제 1 거리값 및 제 2 거리값의 합의 계산을 반복할 수 있다.Also, the final split point determiner 150 may calculate a sum of a first distance value for the left area and a second distance value for the right area based on the search split point at the changed location. Here, the final split point determination unit 150 may repeat the calculation of the sum of the first distance value and the second distance value whenever the search split point setting unit 130 repeatedly changes the position of the search split point.

여기서, 제 1 거리값은 하기의 수학식 2에 의해 도출될 수 있다.Here, the first distance value may be derived by Equation 2 below.

Figure 112019013495781-pat00002
Figure 112019013495781-pat00002

(여기서,

Figure 112019013495781-pat00003
은 탐색 분할점을 기준으로 좌측에 있는 변수 값)(here,
Figure 112019013495781-pat00003
Is the value of the variable on the left of the search split point)

또한, 제 2 거리값은 하기의 수학식 3에 의해 도출될 수 있다.In addition, the second distance value may be derived by Equation 3 below.

Figure 112019013495781-pat00004
Figure 112019013495781-pat00004

(여기서,

Figure 112019013495781-pat00005
는 탐색 분할점을 기준으로 우측에 있는 변수 값)(here,
Figure 112019013495781-pat00005
Is the value of the variable to the right of the search split point)

아울러, 최종 분할점 결정부(150)는 제 1 거리값 및 제 2 거리값의 합이 최소인 탐색 분할점을 최종 분할점으로 결정할 수 있다.In addition, the final split point determiner 150 may determine a search split point in which the sum of the first distance value and the second distance value is the minimum as the final split point.

여기서, 제 1 거리값 및 제 2 거리값의 합이 최소라는 것은 서로 다른 분포도간의 거리가 가깝다는 것을 의미할 수 있고, 이는 서로 다른 분포간의 공통되는 부분이 많다는 것을 의미할 수 있으며, 이로 인해, 분포 간에 옮기는 비용 값이 적다는 것을 의미할 수 있으나, 이에 한정되는 것은 아님에 유의하도록 한다.Here, when the sum of the first distance value and the second distance value is the minimum, it may mean that the distances between the different distribution maps are close, which may mean that there are many common parts between the different distributions. Note that although it may mean that the cost value transferred between distributions is small, it is not limited thereto.

이산화 수행부(170)는 최종 분할점을 기준으로 연속형 변수의 이산화를 수행할 수 있다.The discretization performing unit 170 may perform discretization of the continuous variable based on the final dividing point.

또한, 이산화 수행부(170)는 연속형 변수의 이산화를 수행하여 범주형 변수를 획득할 수 있다.In addition, the discretization performing unit 170 may obtain a categorical variable by performing discretization of a continuous variable.

여기서, 이산화의 대상이 되는 연속형 변수는 데이터셋에 포함되는 연속형 변수 중 중요도에 기초하여 특징이 있는 것으로 분류되는 변수를 의미할 수 있으나, 이에 한정되는 것은 아님에 유의하도록 한다.Here, it should be noted that the continuous variable subject to discretization may mean a variable classified as having characteristics based on importance among continuous variables included in the data set, but is not limited thereto.

데이터 분류부(190)는 데이터셋의 적어도 일부 및 범주형 변수를 머신러닝 기반 모델에 입력하여 데이터셋을 기설정된 복수의 클래스 중 하나로 분류할 수 있다.The data classification unit 190 may classify the data set into one of a plurality of preset classes by inputting at least a part of the data set and categorical variables into the machine learning-based model.

여기서, 데이터셋의 적어도 일부라 함은, 전술한 이산화 수행부(170)에서 이산화한 연속형 변수를 제외한 데이터를 의미할 수 있다.또한, 머신러닝 기반 모델은 Decision tree, Random forest, SVM, K-nn 중 적어도 어느 하나 이상으로 형성될 수 있으나, 이에 한정되는 것은 아님에 유의하도록 한다.Here, at least a part of the dataset may mean data excluding the continuous variable discretized by the above-described discretization execution unit 170. In addition, the machine learning-based model is a decision tree, random forest, SVM, and K. It should be noted that it may be formed of at least one or more of -nn, but is not limited thereto.

이하에서는 도 2를 참조하여, 본 발명의 일 실시예에 따른 탐색 분할점 설정부(130)에 대해 보다 구체적으로 설명하기로 한다.Hereinafter, with reference to FIG. 2, the search split point setting unit 130 according to an embodiment of the present invention will be described in more detail.

도 2는 본 발명의 일 실시예에 따른 탐색 분할점 설정부(130)에서 탐색 분할점을 설정하는 것을 설명하기 위해 나타낸 도면이다.FIG. 2 is a diagram for explaining setting of a search split point by the search split point setting unit 130 according to an embodiment of the present invention.

먼저, 도 2의 (a)를 참조하면, 탐색 분할점 설정부(130)는 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점(250)을 설정할 수 있다.First, referring to FIG. 2A, the search split point setting unit 130 may set a search split point 250 that is a reference point for discretizing a continuous variable included in a data set.

여기서, 탐색 분할점(250)은 분포도에 포함되는 복수의 분포의 교점에 기초하여 설정된 최초의 탐색 분할점(250)일 수 있다.Here, the search split point 250 may be the first search split point 250 set based on the intersection of a plurality of distributions included in the distribution map.

예를 들어, 탐색 분할점 설정부(130)는 서로 다른 클래스(210 및 230) 각각에 대한 분포의 교점에 기초하여 최초의 탐색 분할점(250)을 설정할 수 있다. For example, the search split point setting unit 130 may set the first search split point 250 based on the intersection of distributions for each of the different classes 210 and 230.

탐색 분할점 설정부(130)는 최초의 탐색 분할점(250)의 위치를 변경하면서 연속형 변수를 이산화하기 위한 최적의 분할점을 결정할 수 있다.The search split point setting unit 130 may determine an optimal split point for discretizing the continuous variable while changing the position of the first search split point 250.

도 2의 (b)는 탐색 분할점(270)의 위치가 최초의 탐색 분할점(250)의 위치로부터 왼쪽으로 이동한 것을 도시하고 있다.FIG. 2B shows that the location of the search split point 270 is moved to the left from the location of the first search split point 250.

최종 분할점 결정부(150)는 탐색 분할점을 기준으로 분포도의 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정할 수 있다.The final split point determiner 150 may determine the final split point based on a distance value derived by a preset distance function for the left and right areas of the distribution map based on the search split point.

예를 들어, 최종 분할점 결정부(150)는 최초의 탐색 분할점(250)을 기준으로 좌측 영역에 대한 제 1 거리값 및 우측 영역에 대한 제 2 거리값의 합을 계산할 수 있다.For example, the final split point determiner 150 may calculate a sum of a first distance value for the left area and a second distance value for the right area based on the first search split point 250.

또한, 최종 분할점 결정부(150)는 변경된 위치에서의 탐색 분할점(270)을 기준으로 좌측 영역에 대한 제 1 거리값 및 우측 영역에 대한 제 2 거리값의 합을 계산할 수 있다.Also, the final split point determiner 150 may calculate a sum of the first distance value for the left area and the second distance value for the right area based on the search split point 270 at the changed position.

최종 분할점 결정부(150)는 제 1 거리값 및 제 2 거리값의 합이 최소인 탐색 분할점을 최종 분할점으로 결정할 수 있다.The final split point determiner 150 may determine a search split point having a minimum sum of the first distance value and the second distance value as the final split point.

즉, 탐색 분할점 설정부(130)는 분포도에 포함되는 복수의 분포의 교점에 기초하여 최초 설정된 탐색 분할점(250)의 위치를 분포도 내에서 이동시킬 수 있으며, 이때, 최종 분할점 결정부(150)는 변경되는 위치에서의 탐색 분할점을 기준으로 좌측 영역에 대한 제 1 거리값 및 우측 영역에 대한 제 2 거리값의 합을 계산하여, 이동된 다수의 탐색 분할점 중, 그 합이 최소인 탐색 분할점을 최종 분할점으로 결정할 수 있다.That is, the search split point setting unit 130 may move the location of the search split point 250 initially set based on the intersection of a plurality of distributions included in the distribution map, in this case, the final split point determination unit ( 150) calculates the sum of the first distance value for the left area and the second distance value for the right area based on the search split point at the changed location, and the sum of the plurality of moved search split points is the minimum. The in search splitting point can be determined as the final splitting point.

한편, 탐색 분할점 설정부(130)는 서로 다른 클래스(210 및 230)의 분포의 교점이 다수 존재하는 경우, 전체 변수 값의 평균값과 가장 가까운 교점에 기초하여 최초의 탐색 분할점(250)을 설정할 수 있다.On the other hand, the search split point setting unit 130 determines the first search split point 250 based on the nearest intersection point with the average value of all variable values when there are multiple intersections of the distributions of different classes 210 and 230. Can be set.

이하에서는 도 3을 참조하여, 본 발명의 일 실시예에 따른 최종 분할점 결정부(150)에 대해 보다 구체적으로 설명하기로 한다.Hereinafter, with reference to FIG. 3, the final split point determination unit 150 according to an embodiment of the present invention will be described in more detail.

도 3은 본 발명의 일 실시예에 따른 최종 분할점 결정부(150)에서 최종 분할점을 결정하는 것을 설명하기 위해 나타낸 도면이다.FIG. 3 is a diagram illustrating the determination of a final dividing point by the final dividing point determiner 150 according to an embodiment of the present invention.

도 3의 (a)를 참조하면, 최종 분할점 결정부(150)는 서로 다른 클래스(210 및 230) 각각에 대한 분포의 교점에 기초하여 설정된 최초의 탐색 분할점(250)을 기준으로 분포도의 좌측 영역(310) 및 우측 영역(330)에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정할 수 있다.Referring to FIG. 3A, the final splitting point determination unit 150 shows a distribution diagram based on the first search splitting point 250 set based on the intersection of distributions for each of the different classes 210 and 230. A final dividing point may be determined based on a distance value derived by a preset distance function for the left area 310 and the right area 330.

예를 들어, 최종 분할점 결정부(150)는 최초의 탐색 분할점(250)을 기준으로 좌측 영역(310)에 대한 제 1 거리값 및 우측 영역(330)에 대한 제 2 거리값의 합을 계산할 수 다.For example, the final dividing point determination unit 150 calculates the sum of the first distance value for the left area 310 and the second distance value for the right area 330 based on the first search dividing point 250. Can be calculated.

또한, 도 3의 (b)를 참조하면, 최종 분할점 결정부(150)는 탐색 분할점 설정부(130)가 탐색 분할점(270)의 위치의 변경을 반복함에 따라 변경되는 좌측 영역(310) 및 우측 영역(330)의 제 1 거리값 및 제 2 거리값의 합의 계산을 반복할 수 있고, 이러한 과정을 통해 도출되는 제 1 거리값 및 제 2 거리값의 합이 최소인 탐색 분할점을 최종 분할점으로 결정할 수 있다.In addition, referring to FIG. 3B, the final divided point determining unit 150 is a left region 310 that is changed as the search divided point setting unit 130 repeats the change of the position of the search divided point 270. ) And the sum of the first distance value and the second distance value of the right region 330 can be repeated, and a search split point in which the sum of the first distance value and the second distance value derived through this process is the minimum It can be determined as the final split point.

이러한 과정을 통해, 본 발명의 데이터 분류 장치(100)는 보다 정확한 이산화의 결과를 도출할 수 있다.Through this process, the data classification apparatus 100 of the present invention may derive more accurate discretization results.

최종 분할점 결정부(150)가 최종 분할점을 결정하는 의사 코드(Pseudo code)는 이하와 같다.The pseudo code for determining the final split point by the final split point determination unit 150 is as follows.

Figure 112019013495781-pat00006
Figure 112019013495781-pat00006

(여기서,

Figure 112019013495781-pat00007
각각은 어느 하나의 클래스 값을 갖는 집합의 원소를 의미할 수 있고,
Figure 112019013495781-pat00008
는 서로 다른 클래스 값을 갖는 데이터 셋의 합집합인 전체 데이터 셋을 의미할 수 있다.)(here,
Figure 112019013495781-pat00007
Each can mean an element of a set having any one class value,
Figure 112019013495781-pat00008
May mean the entire data set, which is the union of data sets having different class values.)

도 4는 본 발명의 일 실시예에 따른 연속형 변수를 이산화하는 과정을 나타낸 도면이다.4 is a diagram showing a process of discretizing a continuous variable according to an embodiment of the present invention.

도 4를 참조하면, 단계 S410에서 분포도 생성부(110)는 데이터셋으로부터 분류된 복수의 클래스 각각에 포함되는 연속형 변수에 대한 복수의 분포를 포함하는 분포도를 생성할 수 있다.Referring to FIG. 4, in step S410, the distribution map generator 110 may generate a distribution map including a plurality of distributions for continuous variables included in each of a plurality of classes classified from a data set.

단계 S430에서 탐색 분할점 설정부(130)는 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정할 수 있다.In step S430, the search split point setting unit 130 may set a search split point that is a reference point for discretizing a continuous variable included in the data set.

단계 S450에서 최종 분할점 결정부(150)는 탐색 분할점을 기준으로 분포도의 좌측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정할 수 있다.In step S450, the final split point determiner 150 may determine the final split point based on a distance value derived by a preset distance function for the left region of the distribution map based on the search split point.

단계 S470에서 이산화 수행부(170)는 최종 분할점을 기준으로 연속형 변수의 이산화를 수행하여 범주형 변수를 획득할 수 있다.In step S470, the discretization performing unit 170 may obtain a categorical variable by performing discretization of the continuous variable based on the final split point.

단계 S490에서 데이터 분류부(190)는 데이터셋의 적어도 일부 및 범주형 변수를 머신러닝 기반 모델에 입력하여 데이터셋을 기설정된 복수의 클래스 중 하나로 분류할 수 있다.In step S490, the data classification unit 190 may classify the data set into one of a plurality of preset classes by inputting at least a part of the data set and categorical variables into the machine learning-based model.

상술한 설명에서, 단계 S410 내지 S490은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.In the above description, steps S410 to S490 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed.

아래에서는, 본 발명의 일 실시예에 따른 데이터 분류 장치(100)의 분류 성능에 대해 실험한 결과를 설명하도록 한다.Hereinafter, results of experiments on the classification performance of the data classification apparatus 100 according to an embodiment of the present invention will be described.

먼저, 실험에 사용하는 데이터는 모든 변수가 연속형 변수이며, 결측치가 없고, 두 개의 클래스 값을 갖는 데이터 셋만을 모아서 사용했다. 따라서, 이진 분류 문제에 사용 가능한 데이터 셋만을 구하여 사용했다.First, as for the data used in the experiment, all variables were continuous variables, there were no missing values, and only data sets having two class values were collected and used. Therefore, only the data set usable for the binary classification problem was obtained and used.

데이터 셋은 UCI Machine Learning Repository에서 구했으며, 데이터 셋에 대한 정보는 아래의 표 1과 같다.The data set was obtained from the UCI Machine Learning Repository, and information on the data set is shown in Table 1 below.

데이터 셋Data set 변수 개수Number of variables 레코드 개수Number of records SonarSonar 6060 208208 AustralianAustralian 1414 690690 BreastBreast 99 699699 PimaPima 88 768768 IonoIono 3232 351351 WdbcWdbc 3030 569569 heartheart 1313 270270

한편, 본 발명의 일 실시예에 따른 데이터 분류 장치(100)와 비교할 장치는 이산화 알고리즘인 MDLP(Minimum Description Length Principle)와 분류 알고리즘으로 구성된 장치, 이산화 알고리즘인 CAIM(Complementary Alternative and Integrative Medicine)와 분류 알고리즘으로 구성된 장치, 이산화 알고리즘인 CACC(Cooperative Adaptive Cruise Control)와 분류 알고리즘으로 구성된 장치, 이산화 알고리즘인 AMEVA와 분류 알고리즘으로 구성된 장치를 사용하였고, 이산화를 하지 않은 원천 데이터 셋과 분류 알고리즘으로 구성된 장치 도 성능 비교에 사용했다. 여기서, 분류 알고리즘은 SVM, Random forest가 사용되었다. 도 5 및 6에서는 각 비교 대상 장치를 이산화 알고리즘으로 표시한 점에 주의한다.On the other hand, the device to be compared with the data classification device 100 according to an embodiment of the present invention is a device consisting of a discrete algorithm, MDLP (Minimum Description Length Principle) and a classification algorithm, and a discrete algorithm, CAIM (Complementary Alternative and Integrative Medicine), and classification. A device consisting of an algorithm, a device consisting of a discrete algorithm, CACC (Cooperative Adaptive Cruise Control) and a classification algorithm, a device consisting of a discrete algorithm AMEVA and a classification algorithm, is used, and a device consisting of the original data set and classification algorithm without discretization is also shown. Used for performance comparison. Here, as the classification algorithm, SVM and Random forest were used. Note that in FIGS. 5 and 6, each device to be compared is represented by a discrete algorithm.

또한, 위의 이산화 기법은 CRAN에 등록된 R 라이브러리 “Discretization”에 작성된 코드를 호출해 사용했다. 분류 성능의 비교는 정확성(Accuracy)과 AUC(Area under the ROC) 척도를 이용해 수용했다.Also, the above discretization method was used by calling the code written in the R library “Discretization” registered in CRAN. The comparison of classification performance was accepted using the Accuracy and Area under the ROC (AUC) scales.

이하에서는 도 5 및 도 6을 참조하여, 본 발명의 일 실시예에 따른 데이터 분류 장치(100)의 분류 성능에 대해 실험한 결과를 설명하도록 한다.Hereinafter, results of experiments on the classification performance of the data classification apparatus 100 according to an exemplary embodiment will be described with reference to FIGS. 5 and 6.

도 5는 본 발명의 일 실시예에 따른 데이터 분류 장치(100)의 분류 정확성에 대해 실험한 결과를 나타낸 도면이다.5 is a diagram showing results of an experiment on the classification accuracy of the data classification apparatus 100 according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 데이터 분류 장치(100) 의 분류 성능(AUC: Area under the ROC)에 대해 실험한 결과를 나타낸 도면이다.6 is a diagram showing an experiment result of an area under the ROC (AUC) of the data classification apparatus 100 according to an embodiment of the present invention.

먼저, 도 5를 참조하면 정확성(Accuracy)의 경우, 본 발명의 데이터 분류 장치(100)가 다수의 데이터 셋에 대하여 다른 장치들보다 우수한 성능을 보였다.First, referring to FIG. 5, in the case of accuracy, the data classification apparatus 100 of the present invention exhibits superior performance with respect to a plurality of data sets than other devices.

도 6을 참조하면 분류 성능의 경우, 본 발명의 데이터 분류 장치(100)가 세 개의 데이터 셋에 대하여 가장 좋은 성능을 보였다. Referring to FIG. 6, in the case of classification performance, the data classification apparatus 100 of the present invention exhibits the best performance for three data sets.

다만, 본 발명의 데이터 분류 장치(100)를 이용한 경우, 데이터 셋 중 sonar와 iono 데이터 셋에 대해서는 정확도 성능이 타 장치에 비해 근소한 차이로 좋지 않았으나, 이는 sonar와 iono 데이터 셋의 특성으로 미루어보아 변수 개수에 비해 레코드 개수가 지나치게 적었기 때문에 발생한 현상으로 판단된다. However, in the case of using the data classification apparatus 100 of the present invention, the accuracy performance for the sonar and iono data sets among the data sets was not good due to a slight difference compared to other devices, but this is a variable based on the characteristics of the sonar and iono data sets. It is judged to have occurred because the number of records was too small compared to the number.

즉, 본 발명의 데이터 분류 장치(100)가 보다 정확한 분류 결과를 도출할 수 있음을 확인할 수 있다.That is, it can be seen that the data classification apparatus 100 of the present invention can derive a more accurate classification result.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. .

100: 데이터 분류 장치
110: 분포도 생성부
130: 탐색 분할점 설정부
150: 최종 분할점 결정부
170: 이산화 수행부
190: 데이터 분류부
100: data classification device
110: distribution map generator
130: search split point setting unit
150: final division point determination unit
170: discretization execution unit
190: data classification unit

Claims (14)

데이터를 분류하는 데이터 분류 장치에 있어서,
데이터셋으로부터 분류된 복수의 클래스 각각에 포함되는 연속형 변수에 대한 복수의 분포를 포함하는 분포도를 생성하는 분포도 생성부;
상기 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정하는 탐색 분할점 설정부;
상기 탐색 분할점을 기준으로 상기 분포도의 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정하는 최종 분할점 결정부;
상기 최종 분할점을 기준으로 상기 연속형 변수의 이산화를 수행하여 범주형 변수를 획득하는 이산화 수행부; 및
상기 데이터셋의 적어도 일부 및 상기 범주형 변수를 머신러닝 기반 모델에 입력하여 상기 데이터셋을 기설정된 복수의 클래스 중 하나로 분류하는 데이터 분류부
를 포함하는 것인, 데이터 분류 장치.
In the data classification device for classifying data,
A distribution map generator for generating a distribution map including a plurality of distributions for continuous variables included in each of the plurality of classes classified from the data set;
A search split point setting unit for setting a search split point as a reference point for discretizing the continuous variable included in the data set;
A final dividing point determination unit determining a final dividing point based on a distance value derived by a preset distance function for a left area and a right area of the distribution map based on the search dividing point;
A discretization performing unit for obtaining a categorical variable by performing discretization of the continuous variable based on the final splitting point; And
Data classification unit for classifying the data set into one of a plurality of preset classes by inputting at least a part of the data set and the categorical variable into a machine learning-based model
That includes, data classification device.
제 1 항에 있어서,
상기 탐색 분할점 설정부는 상기 분포도에 포함되는 상기 복수의 분포의 교점에 기초하여 최초의 탐색 분할점을 설정하는 것인, 데이터 분류 장치.
The method of claim 1,
The data classification apparatus, wherein the search split point setting unit sets an initial search split point based on an intersection of the plurality of distributions included in the distribution map.
제 2 항에 있어서,
상기 탐색 분할점 설정부는 상기 탐색 분할점의 위치를 변경하고,
상기 최종 분할점 결정부는 상기 변경된 위치에서의 탐색 분할점을 기준으로 상기 좌측 영역에 대한 제 1 거리값 및 상기 우측 영역에 대한 제 2 거리값의 합을 계산하는 것인, 데이터 분류 장치.
The method of claim 2,
The search split point setting unit changes the position of the search split point,
The data classification apparatus, wherein the final split point determination unit calculates a sum of a first distance value for the left area and a second distance value for the right area based on the search split point at the changed position.
제 3 항에 있어서,
상기 탐색 분할점 설정부는 상기 탐색 분할점의 위치의 변경을 반복하고,
상기 최종 분할점 결정부는 상기 제 1 거리값 및 상기 제 2 거리값의 합의 계산을 반복하는 것인, 데이터 분류 장치.
The method of claim 3,
The search split point setting unit repeats the change of the position of the search split point,
Wherein the final split point determination unit repeats calculation of the sum of the first distance value and the second distance value.
제 3 항에 있어서,
상기 최종 분할점 결정부는 상기 제 1 거리값 및 상기 제 2 거리값의 합이 최소인 탐색 분할점을 상기 최종 분할점으로 결정하는 것인, 데이터 분류 장치.
The method of claim 3,
Wherein the final splitting point determining unit determines a search splitting point having a minimum sum of the first distance value and the second distance value as the final splitting point.
제 1 항에 있어서,
상기 기설정된 거리 함수는 하기의 수식으로 정의되는 것인, 데이터 분류 장치.
Figure 112019013495781-pat00009

(여기서, P, Q는 확률 분포, x, y는 확률변수)
The method of claim 1,
The preset distance function is defined by the following equation.
Figure 112019013495781-pat00009

(Where P, Q are probability distributions, x, y are random variables)
제 3 항에 있어서,
상기 제 1 거리값은 하기의 수식에 의해 도출되는 것인, 데이터 분류 장치.
Figure 112019013495781-pat00010

The method of claim 3,
The data classification apparatus, wherein the first distance value is derived by the following equation.
Figure 112019013495781-pat00010

제 3 항에 있어서,
상기 제 2 거리값은 하기의 수식에 의해 도출되는 것인, 데이터 분류 장치.
Figure 112019013495781-pat00011

The method of claim 3,
The second distance value is derived by the following equation.
Figure 112019013495781-pat00011

데이터를 분류하는 데이터 분류 방법에 있어서,
데이터셋으로부터 분류된 복수의 클래스 각각에 포함되는 연속형 변수에 대한 복수의 분포를 포함하는 분포도를 생성하는 단계;
상기 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정하는 단계;
상기 탐색 분할점을 기준으로 상기 분포도의 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정하는 단계;
상기 최종 분할점을 기준으로 상기 연속형 변수의 이산화를 수행하여 범주형 변수를 획득하는 단계; 및
상기 데이터셋의 적어도 일부 및 상기 범주형 변수를 머신러닝 기반 모델에 입력하여 상기 데이터셋을 기설정된 복수의 클래스 중 하나로 분류하는 단계
를 포함하는 것인, 데이터 분류 방법.
In the data classification method for classifying data,
Generating a distribution map including a plurality of distributions for continuous variables included in each of the plurality of classes classified from the data set;
Setting a search splitting point as a reference point for discretizing the continuous variable included in the data set;
Determining a final dividing point based on a distance value derived by a preset distance function for a left area and a right area of the distribution map based on the search dividing point;
Obtaining a categorical variable by performing discretization of the continuous variable based on the final dividing point; And
Classifying the dataset into one of a plurality of preset classes by inputting at least a part of the dataset and the categorical variable into a machine learning-based model
That includes, data classification method.
제 9 항에 있어서,
상기 탐색 분할점을 설정하는 단계는 상기 분포도에 포함되는 상기 복수의 분포의 교점에 기초하여 최초의 탐색 분할점을 설정하는 단계를 포함하는 것인, 데이터 분류 방법.
The method of claim 9,
The step of setting the search split point includes setting an initial search split point based on the intersection of the plurality of distributions included in the distribution map.
제 10 항에 있어서,
상기 탐색 분할점을 설정하는 단계는 상기 탐색 분할점의 위치를 변경하는 단계를 포함하고,
상기 최종 분할점을 결정하는 단계는 상기 변경된 위치에서의 탐색 분할점을 기준으로 상기 좌측 영역에 대한 제 1 거리값 및 상기 우측 영역에 대한 제 2 거리값의 합을 계산하는 단계를 포함하는 것인, 데이터 분류 방법.
The method of claim 10,
The step of setting the search dividing point includes changing a position of the search dividing point,
The determining of the final dividing point includes calculating a sum of a first distance value for the left area and a second distance value for the right area based on the search dividing point at the changed position. , Data classification method.
제 11 항에 있어서,
상기 탐색 분할점을 설정하는 단계는 상기 탐색 분할점의 위치의 변경을 반복하는 단계를 포함하고,
상기 최종 분할점을 결정하는 단계는 상기 제 1 거리값 및 상기 제 2 거리값의 합의 계산을 반복하는 단계를 포함하는 것인, 데이터 분류 방법.
The method of claim 11,
The step of setting the search dividing point includes repeating the change of the position of the search dividing point,
The determining of the final dividing point includes repeating calculation of the sum of the first distance value and the second distance value.
제 11 항에 있어서,
상기 최종 분할점을 결정하는 단계는 상기 제 1 거리값 및 상기 제 2 거리값의 합이 최소인 탐색 분할점을 상기 최종 분할점으로 결정하는 단계를 포함하는 것인, 데이터 분류 방법.
The method of claim 11,
The determining of the final dividing point includes determining a search dividing point having a minimum sum of the first distance value and the second distance value as the final dividing point.
데이터를 분류하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
데이터셋으로부터 분류된 복수의 클래스 각각에 포함되는 연속형 변수에 대한 복수의 분포를 포함하는 분포도를 생성하고,
상기 데이터셋에 포함되는 연속형 변수를 이산화하기 위한 기준점이 되는 탐색 분할점을 설정하고,
상기 탐색 분할점을 기준으로 상기 분포도의 좌측 영역 및 우측 영역에 대한 기설정된 거리 함수에 의해 도출된 거리값에 기초하여 최종 분할점을 결정하고,
상기 최종 분할점을 기준으로 상기 연속형 변수의 이산화를 수행하여 범주형 변수를 획득하고,
상기 데이터셋의 적어도 일부 및 상기 범주형 변수를 머신러닝 기반 모델에 입력하여 상기 데이터셋을 기설정된 복수의 클래스 중 하나로 분류하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a medium comprising a sequence of instructions for classifying data,
When the computer program is executed by a computing device,
Generate a distribution map including a plurality of distributions for continuous variables included in each of the plurality of classes classified from the dataset,
Set a search split point that becomes a reference point for discretizing the continuous variable included in the dataset,
A final dividing point is determined based on a distance value derived by a preset distance function for a left area and a right area of the distribution map based on the search dividing point,
To obtain a categorical variable by performing discretization of the continuous variable based on the final dividing point,
A computer program stored in a medium comprising a sequence of instructions for inputting at least a portion of the dataset and the categorical variable into a machine learning-based model to classify the dataset into one of a plurality of preset classes.
KR1020190014962A 2019-02-08 2019-02-08 Method, computer program for classifying data and apparatus using the same KR102201201B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190014962A KR102201201B1 (en) 2019-02-08 2019-02-08 Method, computer program for classifying data and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190014962A KR102201201B1 (en) 2019-02-08 2019-02-08 Method, computer program for classifying data and apparatus using the same

Publications (2)

Publication Number Publication Date
KR20200097505A KR20200097505A (en) 2020-08-19
KR102201201B1 true KR102201201B1 (en) 2021-01-11

Family

ID=72265446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190014962A KR102201201B1 (en) 2019-02-08 2019-02-08 Method, computer program for classifying data and apparatus using the same

Country Status (1)

Country Link
KR (1) KR102201201B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114491416A (en) * 2022-02-23 2022-05-13 北京百度网讯科技有限公司 Characteristic information processing method and device, electronic equipment and storage medium
KR102632589B1 (en) 2022-02-28 2024-02-02 아이브스 주식회사 Method for classifying data through recurrent learning transfer based on deep learning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107437089A (en) 2016-05-27 2017-12-05 中国人民解放军信息工程大学 A kind of Multi-Sensor Target Recognition attribute reduction method and device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107437089A (en) 2016-05-27 2017-12-05 中国人民解放军信息工程大学 A kind of Multi-Sensor Target Recognition attribute reduction method and device

Also Published As

Publication number Publication date
KR20200097505A (en) 2020-08-19

Similar Documents

Publication Publication Date Title
US7797323B1 (en) Producing representative hashes for segments of a file
US10776400B2 (en) Clustering using locality-sensitive hashing with improved cost model
Wang et al. Crowd-based deduplication: An adaptive approach
Ren et al. Weighted-object ensemble clustering: methods and analysis
Koto SMOTE-Out, SMOTE-Cosine, and Selected-SMOTE: An enhancement strategy to handle imbalance in data level
US11775610B2 (en) Flexible imputation of missing data
Chen et al. MapReduce skyline query processing with a new angular partitioning approach
US9552408B2 (en) Nearest neighbor clustering determination and estimation algorithm that hashes centroids into buckets and redistributes vectors between clusters
Zhao et al. $ k $ NN-DP: handling data skewness in $ kNN $ joins using MapReduce
KR102201201B1 (en) Method, computer program for classifying data and apparatus using the same
Kaur et al. A novel algorithm for fast and scalable subspace clustering of high-dimensional data
US7827179B2 (en) Data clustering system, data clustering method, and data clustering program
Xiao et al. A K-Farthest-Neighbor-based approach for support vector data description
EP3067804B1 (en) Data arrangement program, data arrangement method, and data arrangement apparatus
Sanchez et al. Fast trajectory clustering using hashing methods
CN115344692A (en) Clustering method, clustering device, computer equipment and storage medium
Xie et al. Novel hybrid feature selection algorithms for diagnosing erythemato-squamous diseases
Sangma et al. Hierarchical clustering for multiple nominal data streams with evolving behaviour
Garcıa-Garcıa et al. Improving distance-join query processing with voronoi-diagram based partitioning in spatialhadoop
JP5552981B2 (en) Index method, search method, and storage medium thereof
Barioni et al. Accelerating k-medoid-based algorithms through metric access methods
Ah-Pine et al. Similarity based hierarchical clustering with an application to text collections
WO2023124866A1 (en) Update of image base library
JP6958618B2 (en) Information processing equipment, information processing methods, and programs
Miranda et al. Active testing for SVM parameter selection

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant