KR102676548B1 - 최적 구간화 기법을 이용한 연속형 데이터 전처리 및 파생 변수 생성 방법 - Google Patents
최적 구간화 기법을 이용한 연속형 데이터 전처리 및 파생 변수 생성 방법 Download PDFInfo
- Publication number
- KR102676548B1 KR102676548B1 KR1020230066171A KR20230066171A KR102676548B1 KR 102676548 B1 KR102676548 B1 KR 102676548B1 KR 1020230066171 A KR1020230066171 A KR 1020230066171A KR 20230066171 A KR20230066171 A KR 20230066171A KR 102676548 B1 KR102676548 B1 KR 102676548B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- data
- continuous data
- labeled
- continuous
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000007781 pre-processing Methods 0.000 title claims abstract description 17
- 230000002159 abnormal effect Effects 0.000 claims abstract description 29
- 238000002372 labelling Methods 0.000 claims abstract description 9
- 230000009467 reduction Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 101150049912 bin3 gene Proteins 0.000 description 4
- 238000007418 data mining Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011985 exploratory data analysis Methods 0.000 description 1
- 238000011551 log transformation method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Development Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 최적 구간화 기법을 이용한 연속형 데이터 전처리 및 파생 변수 생성 방법에 관한 것으로, 본 발명에 따른 방법은 제1 값 또는 제2 값으로 각각 사전에 레이블링된 복수 개의 연속형 데이터를 미리 정해진 빈 개수(b)로 구간화하여 빈별로 이상 데이터 비율을 구한 상태에서, 이상 데이터 비율이 임계값(r) 이상인 빈은 제1 값을 레이블링하고 이상 데이터 비율이 r 미만인 빈은 제2 값을 레이블링하며, 복수 개의 연속형 데이터에 이산화 피처 값으로서 해당 연속형 데이터가 속하는 빈의 레이블링 값을 부여하고, 복수 개의 연속형 데이터에 대해 사전에 레이블링된 값과 이산화 피처 값의 비교를 통해 생성된 데이터에 기초하여 성능 지표값을 계산하는 것을 미리 정해진 b와 r의 모든 조합에 대해 수행하는 단계, 및 성능 지표값이 가장 높게 계산된 b와 r의 조합을 결정하는 단계를 포함한다.
Description
본 발명은 연속형 데이터 전처리 및 파생 변수 생성 방법에 관한 것으로, 보다 자세하게는 최적 구간화 기법을 이용한 연속형 데이터 전처리 및 파생 변수 생성 방법에 관한 것이다.
데이터 마이닝에서 데이터 사전 처리는 수집된 데이터를 정리하여 마이닝 단계의 데이터 품질을 보장하는 중요한 단계이다.
이산화(Discretization)는 가장 기본적인 데이터 축소 기술 중 하나로 연속적 또는 수치적 속성을 유한한 간격으로 이산적 또는 명목적 속성으로 변환시킬 수 있는 기법이다. 또한, 이산화는 연속형 특징으로부터 이산적 특징을 생성하기 위해서 이해, 사용 및 설명하기 쉬운 지식 수준으로 간략하게 표현해주는 기법이다. 이러한 이산화는 의사 결정 트리 등과 같은 기계학습 기술 및 데이터 마이닝 알고리즘에서 활용함으로써 보다 효과적이고 효율적인 모델을 구축할 수 있다.
데이터 구간화(Binning)는 거리 기반 또는 빈도수 기반으로 연속 변수의 값을 유한한 간격으로 나눈 빈(bin)(그룹 또는 버킷)을 이산화하는 기술이다. 모델링 관점에서 비닝 기법은 누락된 값 처리, 이상값 및 통계적 노이즈 존재, 데이터 스케일링과 같은 널리 퍼진 데이터 문제를 해결할 수 있다. 또한 구간화 프로세스는 모델 복잡성을 줄이면서 변수와 주어진 대상 간의 비선형 종속성에 대한 이해를 향상시킬 수 있다. 데이터 구간화 기술은 기계 학습 애플리케이션, 탐색적 데이터 분석 및 학습 작업 속도를 높이는 알고리즘으로 광범위하게 사용된다. 특히, 데이터 구간화는 신용 위험 모델링에서 널리 사용되며 고위험 관찰과 저위험 관찰 사이의 차별화를 최대화하기 위한 신용 스코어 카드 모델링의 필수 도구이다.
하지만, 이러한 데이터 구간화 기법은 거리 또는 빈도수를 고려하여 이산화를 진행하기 때문에 데이터 불균형 또는 버스트 및 랜덤성이 높은 데이터에서 측정치에 비해 상대적으로 멀리 떨어진 이상치(Outlier)의 영향을 받아 적절하지 못한 구간화를 수행할 수 있다.
데이터 구간화 프로세스를 활용하기 위한 제약 조건은 빈(bin)당 최소 레코드 수를 요구하는 것부터 단조성 제약 조건까지 다양할 수 있다. 이러한 데이터 구간화 프로세스의 변형을 최적 구간화 프로세스(Optimal Binning Process)라고 한다. 최적 구간화는 일반적으로 부과된 제약 조건이 충족될 때까지 초기 세분화된 이산화를 반복적으로 병합하는 것으로 달성된다. 이 미세 조정을 수동으로 수행하는 것은 제약 조건의 수가 증가함에 따라 만족스럽지 않을 가능성이 높으며 차선책 또는 불가능한 솔루션으로 이어진다. 또한 이 수동 조정은 전문가의 의견에 의해 권장되어 높은 비용이 발생할 수 있을 뿐만 아니라 전문가가 인지하지 못하는 영역에 대해 놓칠 수 있다. 따라서 전문가를 초빙함으로써 발생하는 높은 비용 문제를 해결하기 위해 사전에 야기된 다양한 제약 조건을 충족하면서 전문가의 의견 대신 특정 지표에 따라 데이터 구간화를 자동 조정할 수 있는 최적 데이터 구간화 기법이 필요하다.
본 발명이 해결하고자 하는 기술적 과제는 연속형 데이터를 그 특성에 따라 자동으로 최적 개수의 빈으로 데이터 구간화하고, 이를 기초로 데이터를 이산화하여 파생 변수를 생성할 수 있는 방법을 제공하는 것이다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 방법은 제1 값 또는 제2 값으로 각각 사전에 레이블링된 복수 개의 연속형 데이터를 미리 정해진 빈 개수(b)로 구간화하여 빈별로 이상 데이터 비율을 구한 상태에서, 상기 이상 데이터 비율이 임계값(r) 이상인 빈은 상기 제1 값을 레이블링하고 상기 이상 데이터 비율이 r 미만인 빈은 상기 제2 값을 레이블링하며, 상기 복수 개의 연속형 데이터에 이산화 피처 값으로서 해당 연속형 데이터가 속하는 빈의 레이블링 값을 부여하고, 상기 복수 개의 연속형 데이터에 대해 사전에 레이블링된 값과 상기 이산화 피처 값의 비교를 통해 생성된 데이터에 기초하여 성능 지표값을 계산하는 것을 미리 정해진 b와 r의 모든 조합에 대해 수행하는 단계, 및 상기 성능 지표값이 가장 높게 계산된 b와 r의 조합을 결정하는 단계를 포함한다.
b = n, 2n, …, BM이고, r = m, 2m, …, RM이며, n은 양의 정수이고, m은 양의 실수이며, BM은 b의 상한으로 설정된 양의 정수이고, RM은 r의 상한으로 설정된 양의 실수일 수 있다.
[수학식 1]
[수학식 2]
[수학식 3]
[수학식 4]
TP는 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값과 이산화 피처 값이 모두 제1 값인 데이터 개수이고, TN은 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값은 제1 값이고, 이산화 피처 값은 제2 값인 데이터 개수이며, FP는 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값은 제2 값이고, 이산화 피처 값은 제1 값인 데이터 개수이고, FN은 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값과 이산화 피처 값이 모두 제2 값인 데이터 개수이며, 상기 성능 지표값은 수학식 1 내지 수학식 4 중 어느 하나에 의해 계산될 수 있다.
상기 제1 값은 이상(abnormal) 데이터를 나타내고, 상기 제2 값은 정상(normal) 데이터를 나타낼 수 있다.
상기 방법은, 상기 성능 지표값을 계산하는 것을 미리 정해진 b와 r의 모든 조합에 대해 수행하는 단계에 앞서, 상기 복수 개의 연속형 데이터 중에서 이상치를 제거하거나 미리 정해진 값으로 대체하는 이상치 처리 단계, 및 상기 복수 개의 연속형 데이터의 왜도(skewness) 감소를 위한 왜도 감소 처리 단계 중 적어도 하나를 더 포함할 수 있다.
상기 방법은, 상기 성능 지표값이 가장 높게 계산된 b와 r의 조합에 대해 상기 복수 개의 연속형 데이터에 대해 부여된 이산화 피처 값 데이터를 출력하는 단계를 더 포함할 수 있다.
본 발명에 의하면 연속형 데이터를 그 특성에 따라 자동으로 최적 개수의 빈으로 데이터 구간화할 수 있으며, 이를 기초로 데이터를 이산화하여 파생 변수를 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 전처리 방법에 이용되는 컴퓨팅 장치의 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 최적 비닝 알고리즘을 통한 데이터 전처리 방법을 설명하기 위해 제공되는 도면이다.
도 3은 본 발명에 따라 처리되는 복수 개의 연속형 데이터의 일 예를 그래프로 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 최적 비닝 알고리즘을 통한 데이터 전처리 알고리즘을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 최적 비닝 알고리즘을 통한 데이터 전처리 방법을 설명하기 위해 제공되는 도면이다.
도 3은 본 발명에 따라 처리되는 복수 개의 연속형 데이터의 일 예를 그래프로 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 최적 비닝 알고리즘을 통한 데이터 전처리 알고리즘을 나타낸 도면이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
본 명세서에서 "컴퓨팅 장치"는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 컴퓨팅 장치는 데스크 탑 PC, 노트북(Note Book) 컴퓨터, 서버 컴퓨터 등을 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 전처리 방법에 이용되는 컴퓨팅 장치의 구성을 개략적으로 나타낸 도면이다.
도 1을 참고하면, 컴퓨팅 장치(100)는 적어도 하나의 메모리(110) 및 적어도 하나의 프로세서(120)를 포함한다.
적어도 하나의 메모리(110)는 적어도 하나 이상의 인스트럭션(Instruction)을 저장할 수 있다. 또한 메모리(110)는 컴퓨팅 장치(100)에서 본 발명의 일 실시예에 따른 데이터 전처리 방법의 구현과 관련된 각종 작업에 이용되는 프로그램 및 데이터를 저장할 수 있다.
적어도 하나의 프로세서(120)는 메모리(110)에 저장된 인스트럭션 또는 프로그램을 실행하여 본 발명의 일 실시예에 따른 데이터 전처리 방법이 컴퓨팅 장치(100)에서 구현되도록 할 수 있다.
도 2는 본 발명의 일 실시예에 따른 최적 비닝 알고리즘을 통한 데이터 전처리 방법을 설명하기 위해 제공되는 도면이다.
도 2를 참고하면, 컴퓨팅 장치(100)는 메모리(110)에 저장된 복수 개의 연속형(continous) 데이터 중에서 이상치를 제거하거나 미리 정해진 값으로 대체하는 이상치 처리 작업(S210)을 수행할 수 있다.
예를 들어, 복수 개의 연속형 데이터 중에서 미리 정해진 상한값을 초과하는 데이터는 제거하거나 상한값으로 대체할 수 있다. 마찬가지로 미리 정해진 하한값 미만인 데이터는 제거하거나 하한값으로 대체할 수 있다. 가령 연속형 데이터의 평균이 이고, 연속형 데이터의 표준 편차가 σ인 경우, +3σ를 초과하는 연속형 데이터는 +3σ로 처리하고, -3σ 미만인 연속형 데이터는 -3σ로 처리하는 것과 같이 이상치 데이터를 처리할 수 있다.
한편 컴퓨팅 장치(100)는 복수 개의 연속형 데이터의 왜도(skewness) 감소를 위한 왜도 감소 처리 작업(S220)을 수행할 수 있다. 가령 연속형 데이터에 대해 구해진 피어슨 왜도 계수(Pearsonskewness cofficeint)가 미리 정해진 기준보다 크면, 연속형 데이터에 대해서 로그 변환, 예컨대 x = log(x+1)을 수행하여 왜도를 감소시키는 처리를 수행할 수도 있다.
단계(S210) 및 단계(S220)는 필요에 따라 컴퓨팅 장치(100)에서 수행되거나 생략하는 것도 가능하다.
한편 여기서 복수 개의 연속형 데이터는 패킷 길이, 신장, 체중, 나이, 날짜 등과 같이 연속적인 수치로 표현되는 데이터를 의미한다. 그리고 복수 개의 연속형 데이터 각각은 제1 값 또는 제2 값으로 사전에 레이블링(labeling)된 상태로 처리된다.
도 3은 본 발명에 따라 처리되는 복수 개의 연속형 데이터의 일 예를 그래프로 나타낸 것이다.
도 3(a)에서 가로 축은 각 패킷의 인덱스를 나타내고, 세로 축은 해당 패킷의 패킷 길이(x)를 나타낸다. 도 3(a)의 우측에는 패킷 길이 구간을 일정한 간격 '1188.0'으로 4개의 빈(bin1, bin2, bin3, bin4)으로 나눈 경우를 참고로 나타내고 있다.
도 3(b)에서 가로 축은 각 패킷의 인덱스를 나타내고, 세로 축은 각 패킷에 레이블링된 값(y)을 나타낸다. 이하에서는 정상 패킷에 대해서는 '0'이 레이블링되고, 이상 패킷에 대해서는 '1'이 레이블링된 경우로 가정한다.
다시 도 2를 참고하면, 컴퓨팅 장치(100)는 컴퓨팅 장치(100)는 아래에서 설명하는 단계(S230) 내지 단계(S270)를 미리 정해진 범위에서 b와 r의 조합을 변경해가면서 반복할 수 있다. 도 2에서는 b = n, 2n, …, BM이고, r = m, 2m, …, RM 으로 미리 범위가 정해져 있는 경우를 예를 들어 설명한다(S221). 여기서 n은 양의 정수로 미리 설정된 값이고, m은 양의 실수로 미리 설정된 값이며, BM은 미리 정해진 양의 정수로 b의 상한으로 설정된 값이고, RM은 미리 정해진 양의 실수로 r의 상한으로 설정된 값일 수 있다. 이 경우 컴퓨팅 장치(100)는 먼저 b = n, r = m 의 조합부터 시작하여 최종적으로 b = BM, r = RM의 조합까지 b와 r의 조합을 순차적으로 변경해가면서 성능 지표값을 계산할 수 있다.
도 2에서 단계(S221)는 단계(S220)와 단계(S230) 사이에 표시하였으나, 단계(S230) 이전에 수행되면 무방하다.
컴퓨팅 장치(100)는 '0' 또는 '1'이 사전에 레이블링된 복수 개의 연속형 데이터(x)를 b 개의 빈(bin)으로 구간화하고(S230), b 개의 빈에 대해 구간화된 데이터 중 '1'이 레이블링된 이상 데이터 비율을 각 빈별로 구하는 작업을 수행할 수 있다(S240).
예를 들어 도 3에 예시한 복수 개의 연속형 데이터(x)에 대해서, b = 4(빈 크기 1188.0)로 구간화를 한 경우에 대해 설명한다. 가령 단계(S210) 및 단계(S220) 처리후 복수 개의 연속형 데이터(x)에 대한 데이터 범위가 0≤x < 4752.0 인 경우, 빈 크기 1188.0으로 4개의 빈으로 구간화할 수 있다.
표 1은 각 빈(bin1, bin2, bin 3, bin4)별로 구간화된 데이터 중에서 정상 패킷 비율과 이상 패킷 비율을 구한 결과를 나타낸다.
bin | 패킷 길이(x) 범위 | y = 0 정상 패킷 비율 |
y = 1 이상 패킷 비율 |
bin1 | 0≤x < 1188.0 | 0.801386 | 0.198614 |
bin2 | 1188.0 ≤x < 2376.0 | 0.989618 | 0.010382 |
bin3 | 2376.0 ≤x < 3564.0 | 0.974359 | 0.025641 |
bin4 | 3564.0 ≤x < 4752.0 | 0.738462 | 1.261538 |
표 1을 참고하면, 패킷 길이가 0≤ x < 1188.0 사이인 연속형 데이터는 1번째 빈(bin1)으로 구간화되고, 1번째 빈으로 구간화된 데이터 중에서 이상 패킷 비율은 0.198614인 것을 나타낸다.
다음으로 컴퓨팅 장치(100)는 b 개의 빈에 대해서 이상 데이터 비율이 임계값(r) 이상인 빈은 '1'로 레이블링하고, 이상 데이터 비율이 임계값(r) 미만인 빈은 '0'으로 레이블링할 수 있다(S250).
표 1과 같이 각 빈별 이상 패킷 비율이 구해진 상태에서, 임계값(r)을 0.2라고 가정하면, 아래 표 2와 같이 각 빈에 대해 레이블링 값을 부여할 수 있다. 즉 이상 패킷 비율이 임계값(r) 미만인 빈은 정상 구간으로 분류하고, 이상 패킷 비율이 임계값(r) 이상인 빈은 이상 구간으로 분류하여 각각 그에 따른 레이블링 값을 부여한 것으로 이해할 수 있다.
bin index | 레이블링 값 |
bin1 | 0 |
bin2 | 0 |
bin3 | 0 |
bin4 | 1 |
다음으로 컴퓨팅 장치(100)는 복수 개의 연속형 데이터에 이산화 피처 값(dx)을 부여할 수 있다(S260). 이산화 피처 값(dx)은 해당 연속형 데이터가 속하는 빈에 레이블링된 값으로 부여될 수 있다. 예를 들어 도 3에 예시한 복수 개의 연속형 데이터(x) 중에서 bin1, bin2, bin3에 속하는 데이터는 '0'을 이산화 피처 값으로 부여하고, bin4에 속하는 데이터는 '1'을 이산화 피처 값으로 부여할 수 있다. 표 3에서, 연속형 데이터 x=4600.7는 레이블링 값 y=0 이지만, 해당 연속형 데이터가 속한 빈 구간(bin4)에 레이블링된 값이 '1'이므로, 이산화 피처 값 '1'이 부여된 것을 나타낸다.
Packet index | x | y | dx |
1 | 980.2 | 0 | 0 |
2 | 1200.0 | 1 | 0 |
3 | 1534.1 | 0 | 0 |
4 | 3674.3 | 1 | 1 |
… | … | … | … |
9999 | 4600.7 | 0 | 1 |
10000 | 950.3 | 0 | 0 |
다음으로 컴퓨팅 장치(100)는, 복수 개의 연속형 데이터에 대해 사전에 레이블링된 값(y)과 복수 개의 연속형 데이터에 대해 부여된 이산화 피처 값(dx)의 비교를 통해 얻어지는 데이터(TP, TN, FP, FN)에 기초하여 b와 r의 조합에 대응하는 성능 지표값을 계산할 수 있다(S270).
예를 들어 하기 수학식 1 내지 4 중 어느 하나를 이용하여 성능 지표값을 계산할 수 있다.
[수학식 1]
[수학식 2]
[수학식 3]
[수학식 4]
도 3에 예시한 복수 개의 연속형 데이터(x)의 경우, TP는 복수 개의 연속형 데이터(x) 중에서 사전에 레이블링된 값(y)과 이산화 피처 값(dx)이 모두 '1'인 데이터의 개수이다. TN은 복수 개의 연속형 데이터(x) 중에서 y = 1, dx = 0 인 데이터의 개수이다. FP는 복수 개의 연속형 데이터(x) 중에서 y = 0, dx = 1 인 데이터의 개수이다. FN은 복수 개의 연속형 데이터(x) 중에서 y = 0, dx = 0 인 데이터의 개수이다.
표 3을 참고하면, Packet index 4는 y = 1, dx = 1 이므로 TP에 카운팅된다. 그리고 Packet index 2는 y = 1, dx = 0 이므로 TN에 카운팅된다. 마찬가지로 Packet index 9999는 y = 1, dx = 1 이므로, TN에 카운팅된다. 그리고 Packet index 1은 y = 0, dx = 0 이므로, FN에 카운팅된다. 이런 방식으로 복수 개의 연속형 데이터(x)의 y 값과 dx 값을 비교하여, TP, TN, FP, FN을 카운팅한 후 수학식 1 내지 4 등을 이용하여 해당 빈 개수(b)와 임계값(r)의 조합에 대응하는 성능 지표값을 계산할 수 있다.
r ≥ RM 일 때까지(S275-Y), r = m, 2m, …, RM에 대해서 단계(S240) 내지 단계(S270)를 반복한다. 이와 같은 과정을 b ≥ BM 일 때(S280-Y)까지 반복한다.
이와 같은 과정을 반복하여 b와 r의 모든 조합에 대해 성능 지표값을 계산한 후, 컴퓨팅 장치(100)는, 성능 지표값이 가장 높게 구해지는 b와 r의 조합을 결정할 수 있다(S290).
마지막으로 컴퓨팅 장치(100)는 성능 지표값이 가장 높게 구해진 경우에 해당하는 빈의 개수(bopt), 임계값(ropt) 및 이산화 피처 값() 데이터를 출력할 수 있다(S295).
도 4는 본 발명의 일 실시예에 따른 최적 비닝 알고리즘을 통한 데이터 전처리 알고리즘을 나타낸 도면이다.
도 4를 참고하면, 컴퓨팅 장치(100)는 연속형 피처 데이터(x) 중에서 이상치(outlier)에 대한 처리를 수행할 수 있다(S410). 그리고 컴퓨팅 장치(100)는 연속형 피처 데이터(x)의 왜도(skewness) 감소를 위한 처리를 수행할 수 있다(S420).
컴퓨팅 장치(100)는, 연속형 피처 데이터(x)를 b 개의 빈(bin)으로 구간화한 경우에 대해서, 비율 행렬(Proportion Matrix)(PMb)을 생성할 수 있다(S430). 비율 행렬(PMb)은 앞서 표 1에 예시한 것과 같이 빈별로 구해진 이상 데이터 비율을 성분으로 하는 행렬이다.
이후 컴퓨팅 장치(100)는 비율 행렬(Proportion Matrix)(PMb)의 이상 데이터 비율에 해당하는 성분을 임계값(r)과 비교하여, 이상 데이터 비율이 임계값(r)보다 작은 빈은 '0'으로 레이블링하고, 임계값(r) 이상인 빈은 '1'로 레이블링하여 이산화 비율 행렬(PMb,r)을 생성할 수 있다(S440). 이산화 비율 행렬(PMb,r)은 빈별로 레이블링된 값을 성분으로 하는 행렬이다.
다음으로 컴퓨팅 장치(100)는 이산화 비율 행렬(PMb,r)을 참조하여 연속형 피처 데이터(x)에 대해서 각각이 구간화된 빈의 라벨링된 값으로 이산화 피처 값(dx)을 부여할 수 있다(S450).
이후 컴퓨팅 장치(100)는 연속형 피처 데이터(x)의 레이블링 값(y)과 이산화 피처 값(dx)을 비교하여 구한 데이터(TP, TN, FP, FN)를 성분으로 하는 평가 행렬(EvaluationMatrix)을 이용하여 해당 b와 r의 조합에 대한 성능 지표값(s)을 구할 수 있다(S460).
컴퓨팅 장치(100)는 b와 r의 조합에 대해서 구해진 이산화 피처 값(dx)과 성능 지표값(s)을 행렬 FM[b][r]과 SM[b][r]에 각각 저장한다(S470).
컴퓨팅 장치(100)는 모든 b (b=n, 2*n. …, BM)와 r (r=m, 2*m. …, RM)의 조합에 대해서 단계(S430) 내지 단계(S470)를 수행하고, 행렬 SM[b][r]을 참조하여 성능 지표값(s)이 가장 크게 구해진 bopt와 ropt 를 결정하고(S480), 행렬 FM[b][r]의 bopt,ropt에 대응하는 성분 FM[bopt][ropt]을 이산화 최적 피처 값()으로 출력한다(S490).
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 인스트럭션(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨팅 장치 또는 특수 목적 컴퓨팅 장치를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 인스트럭션(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
Claims (13)
- 제1 값 또는 제2 값으로 각각 사전에 레이블링된 복수 개의 연속형 데이터를 미리 정해진 빈 개수(b)로 구간화하여 빈별로 이상 데이터 비율을 구한 상태에서, 상기 이상 데이터 비율이 임계값(r) 이상인 빈은 상기 제1 값을 레이블링하고 상기 이상 데이터 비율이 r 미만인 빈은 상기 제2 값을 레이블링하며, 상기 복수 개의 연속형 데이터에 이산화 피처 값으로서 해당 연속형 데이터가 속하는 빈의 레이블링 값을 부여하고, 상기 복수 개의 연속형 데이터에 대해 사전에 레이블링된 값과 상기 이산화 피처 값의 비교를 통해 생성된 데이터에 기초하여 성능 지표값을 계산하는 것을 미리 정해진 b와 r의 모든 조합에 대해 수행하는 단계, 및
상기 성능 지표값이 가장 높게 계산된 b와 r의 조합을 결정하는 단계를 포함하고,
[수학식 1]
[수학식 2]
[수학식 3]
[수학식 4]
TP는 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값과 이산화 피처 값이 모두 제1 값인 데이터 개수이고, TN은 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값은 제1 값이고, 이산화 피처 값은 제2 값인 데이터 개수이며, FP는 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값은 제2 값이고, 이산화 피처 값은 제1 값인 데이터 개수이고, FN은 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값과 이산화 피처 값이 모두 제2 값인 데이터 개수이며, 상기 성능 지표값은 수학식 1 내지 수학식 4 중 어느 하나에 의해 계산되는 컴퓨팅 장치를 이용한 데이터 전처리 방법. - 제 1 항에서,
b = n, 2n, …, BM이고, r = m, 2m, …, RM이며,
n은 양의 정수이고, m은 양의 실수이며, BM은 b의 상한으로 설정된 양의 정수이고, RM은 r의 상한으로 설정된 양의 실수인 컴퓨팅 장치를 이용한 데이터 전처리 방법. - 삭제
- 제 1 항에서,
상기 제1 값은 이상(abnormal) 데이터를 나타내고, 상기 제2 값은 정상(normal) 데이터를 나타내는 컴퓨팅 장치를 이용한 데이터 전처리 방법. - 제 1 항에서,
상기 성능 지표값을 계산하는 것을 미리 정해진 b와 r의 모든 조합에 대해 수행하는 단계에 앞서,
상기 복수 개의 연속형 데이터 중에서 이상치를 제거하거나 미리 정해진 값으로 대체하는 이상치 처리 단계, 및
상기 복수 개의 연속형 데이터의 왜도(skewness) 감소를 위한 왜도 감소 처리 단계
중 적어도 하나를 더 포함하는 컴퓨팅 장치를 이용한 데이터 전처리 방법. - 제 1 항에서,
상기 성능 지표값이 가장 높게 계산된 b와 r의 조합에 대해 상기 복수 개의 연속형 데이터에 대해 부여된 이산화 피처 값 데이터를 출력하는 단계
를 더 포함하는 컴퓨팅 장치를 이용한 데이터 전처리 방법. - 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램에서,
적어도 하나의 프로세서에 의해 실행되면, 제1항, 제2항, 제4항 내지 제6항 중 어느 한 항에 기재된 방법을 실행시키는 컴퓨터 프로그램. - 컴퓨팅 장치로서,
적어도 하나의 인스트럭션을 저장하는 메모리; 및
적어도 하나의 프로세서; 를 포함하고,
상기 적어도 하나의 프로세서는 상기 적어도 하나의 인스트럭션에 기초하여,
제1 값 또는 제2 값으로 각각 사전에 레이블링된 복수 개의 연속형 데이터를 미리 정해진 빈 개수(b)로 구간화하여 빈별로 이상 데이터 비율을 구한 상태에서, 상기 이상 데이터 비율이 임계값(r) 이상인 빈은 상기 제1 값을 레이블링하고 상기 이상 데이터 비율이 r 미만인 빈은 상기 제2 값을 레이블링하며, 상기 복수 개의 연속형 데이터에 이산화 피처 값으로서 해당 연속형 데이터가 속하는 빈의 레이블링 값을 부여하고, 상기 복수 개의 연속형 데이터에 대해 사전에 레이블링된 값과 상기 이산화 피처 값의 비교를 통해 생성된 데이터에 기초하여 성능 지표값을 계산하는 것을 미리 정해진 b와 r의 모든 조합에 대해 수행하는 단계, 및
상기 성능 지표값이 가장 높게 계산된 b와 r의 조합을 결정하는 단계를 실행하고,
[수학식 1]
[수학식 2]
[수학식 3]
[수학식 4]
TP는 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값과 이산화 피처 값이 모두 제1 값인 데이터 개수이고, TN은 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값은 제1 값이고, 이산화 피처 값은 제2 값인 데이터 개수이며, FP는 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값은 제2 값이고, 이산화 피처 값은 제1 값인 데이터 개수이고, FN은 상기 복수 개의 연속형 데이터 중에서 사전에 레이블링된 값과 이산화 피처 값이 모두 제2 값인 데이터 개수이며, 상기 성능 지표값은 수학식 1 내지 수학식 4 중 어느 하나에 의해 계산되는 컴퓨팅 장치. - 제 8 항에서,
b = n, 2n, …, BM이고, r = m, 2m, …, RM이며,
n은 양의 정수이고, m은 양의 실수이며, BM은 b의 상한으로 설정된 양의 정수이고, RM은 r의 상한으로 설정된 양의 실수인 컴퓨팅 장치. - 삭제
- 제 8 항에서,
상기 제1 값은 이상(abnormal) 데이터를 나타내고, 상기 제2 값은 정상(normal) 데이터를 나타내는 컴퓨팅 장치. - 제 8 항에서,
상기 성능 지표값을 계산하는 것을 미리 정해진 b와 r의 모든 조합에 대해 수행하는 단계에 앞서,
상기 복수 개의 연속형 데이터 중에서 이상치를 제거하거나 미리 정해진 값으로 대체하는 이상치 처리 단계, 및
상기 복수 개의 연속형 데이터의 왜도(skewness) 감소를 위한 왜도 감소 처리 단계
중 적어도 하나를 더 실행하는 컴퓨팅 장치. - 제 8 항에서,
상기 성능 지표값이 가장 높게 계산된 b와 r의 조합에 대해 상기 복수 개의 연속형 데이터에 대해 부여된 이산화 피처 값 데이터를 출력하는 단계
를 더 실행하는 컴퓨팅 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230196110A KR20240147424A (ko) | 2023-03-30 | 2023-12-29 | 연속형 데이터 전처리 및 파생 변수 생성 방법 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230041860 | 2023-03-30 | ||
KR20230041860 | 2023-03-30 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230196110A Division KR20240147424A (ko) | 2023-03-30 | 2023-12-29 | 연속형 데이터 전처리 및 파생 변수 생성 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR102676548B1 true KR102676548B1 (ko) | 2024-06-19 |
KR102676548B9 KR102676548B9 (ko) | 2024-09-19 |
Family
ID=91712526
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230066171A KR102676548B1 (ko) | 2023-03-30 | 2023-05-23 | 최적 구간화 기법을 이용한 연속형 데이터 전처리 및 파생 변수 생성 방법 |
KR1020230196110A KR20240147424A (ko) | 2023-03-30 | 2023-12-29 | 연속형 데이터 전처리 및 파생 변수 생성 방법 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230196110A KR20240147424A (ko) | 2023-03-30 | 2023-12-29 | 연속형 데이터 전처리 및 파생 변수 생성 방법 |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102676548B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160130252A (ko) * | 2014-03-06 | 2016-11-10 | 케이엘에이-텐코 코포레이션 | 복합 결함 분류기 |
US20180330300A1 (en) * | 2017-05-15 | 2018-11-15 | Tata Consultancy Services Limited | Method and system for data-based optimization of performance indicators in process and manufacturing industries |
-
2023
- 2023-05-23 KR KR1020230066171A patent/KR102676548B1/ko active IP Right Grant
- 2023-12-29 KR KR1020230196110A patent/KR20240147424A/ko unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160130252A (ko) * | 2014-03-06 | 2016-11-10 | 케이엘에이-텐코 코포레이션 | 복합 결함 분류기 |
US20180330300A1 (en) * | 2017-05-15 | 2018-11-15 | Tata Consultancy Services Limited | Method and system for data-based optimization of performance indicators in process and manufacturing industries |
Also Published As
Publication number | Publication date |
---|---|
KR102676548B9 (ko) | 2024-09-19 |
KR20240147424A (ko) | 2024-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rodriguez et al. | Learning cache replacement with {CACHEUS} | |
US20210089917A1 (en) | Heuristic Inference of Topological Representation of Metric Relationships | |
US9772886B2 (en) | Optimizing execution and resource usage in large scale computing | |
KR101839392B1 (ko) | 스레드 풀의 사이즈를 동적으로 관리하는 방법 및 컴퓨팅 장치 | |
CN112633754A (zh) | 一种数据分析模型的建模方法及系统 | |
WO2016178316A1 (ja) | 計算機調達予測装置、計算機調達予測方法、及び、プログラム | |
Vakilinia et al. | Analysis and optimization of big-data stream processing | |
KR101852610B1 (ko) | Ai 학습 기반 실시간 분석 시스템을 이용한 자원 사용 방법 및 이를 사용한 매니지먼트 서버 | |
JP6891611B2 (ja) | 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム | |
US20140195683A1 (en) | Predicting resource provisioning times in a computing environment | |
US20230043579A1 (en) | System for monitoring and optimizing computing resource usage of cloud based computing application | |
US20200379907A1 (en) | Reducing cache interference based on forecasted processor use | |
Dorier et al. | Adaptive performance-constrained in situ visualization of atmospheric simulations | |
KR102676548B1 (ko) | 최적 구간화 기법을 이용한 연속형 데이터 전처리 및 파생 변수 생성 방법 | |
US11836365B2 (en) | Automatically adjusting storage system configurations in a storage-as-a-service environment using machine learning techniques | |
CN112860523B (zh) | 批量作业处理的故障预测方法、装置和服务器 | |
US20210397485A1 (en) | Distributed storage system and rebalancing processing method | |
Dana Mazraeh et al. | Solving Fredholm integral equations of the second kind using an improved cuckoo optimization algorithm | |
US20160253591A1 (en) | Method and apparatus for managing performance of database | |
JP5793259B1 (ja) | 情報処理装置、流量制御パラメータ算出方法、およびプログラム | |
US10839042B1 (en) | Summarizing and querying data generated from multiple scenarios of a data-intensive simulation | |
KR101621490B1 (ko) | 쿼리 실행 장치 및 방법, 그리고 그를 이용한 데이터 처리 시스템 | |
JP6626198B2 (ja) | 管理装置、実行環境設定方法、ストリームデータ処理システム | |
CN117235071A (zh) | 数据库的数据行数统计方法及装置、设备、存储介质 | |
US20240303134A1 (en) | Systems and methods for edge resource demand load estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |