KR20210157303A - 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치 - Google Patents

이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치 Download PDF

Info

Publication number
KR20210157303A
KR20210157303A KR1020210023786A KR20210023786A KR20210157303A KR 20210157303 A KR20210157303 A KR 20210157303A KR 1020210023786 A KR1020210023786 A KR 1020210023786A KR 20210023786 A KR20210023786 A KR 20210023786A KR 20210157303 A KR20210157303 A KR 20210157303A
Authority
KR
South Korea
Prior art keywords
prediction
workflow
node
data
language
Prior art date
Application number
KR1020210023786A
Other languages
English (en)
Other versions
KR102605482B1 (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 (주)브릭
Publication of KR20210157303A publication Critical patent/KR20210157303A/ko
Application granted granted Critical
Publication of KR102605482B1 publication Critical patent/KR102605482B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치를 개시한다.
본 발명의 실시예에 따른 자동 예측 모델링 방법은, 소스 데이터 및 예측 작업정보에 대한 초기 입력 데이터를 획득하는 입력 단계; 상기 초기 입력 데이터를 기반으로 적어도 하나의 노드를 생성하고, 이종 언어로 구현된 적어도 하나의 노드 중 선정된 최적화 노드를 기반으로 예측 워크플로우를 구성하여 워크플로우 출력 데이터로 변환하는 데이터 분석 단계; 및 변환된 상기 워크플로우 출력 데이터를 출력하여 자동 예측 모델링이 수행되도록 하는 워크플로우 출력 단계를 포함할 수 있다.

Description

이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치{Method and Apparatus for Automatic Predictive Modeling Based on Workflow Implemented in Heterogeneous Languages}
본 발명은 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
머신러닝을 활용한 데이터 분석을 위해서는 전처리, 특징추출, 분류, 예측, 후처리, 시각화 등 다양한 단계를 수행해야 한다. 각 과정에서 필요한 동작 및 알고리즘의 노드는 서로 다른 분석가 또는 다양한 프로그래밍 언어를 기반으로 구현될 수 있다.
데이터 분석을 위한 노드는 분석가 또는 프로그래밍 언어 각각에 따라 문법이나 구현 방법, 구동환경 등이 상이하며, 데이터 분석을 수행하는 분석가 각각은 개인이 선호하는 프로그래밍 언어를 선택한 후 학습하여 주로 활용하게 된다.
복잡한 시스템 분석이 필요한 환경에서 다수의 분석가가 협업을 수행해야 하는 과정에서는 다수의 데이터 분석가가 서로 다른 프로그래밍 언어 및 서로 다른 노드 환경을 사용하는 데 발생하는 협업의 어려움이 발생한다. 또한, 다수의 분석가가 협업을 수행하는 과정에서는 단계별로 구성된 다수의 알고리즘이 서로 연결되어 통합된 워크플로우를 구성하는데 발생하는 복잡도가 증가하게 되는 문제점이 발생한다.
본 발명은 사용자에 의해 입력된 소스 데이터 및 예측 작업정보에 대한 초기 입력 데이터를 토대로 데이터 패턴을 분석한 후 예측에 필요한 각 단계에 최적화된 이종 언어로 구현된 알고리즘 노드를 생성하고, 이종 언어로 구현된 알고리즘 노드 중 최적화 노드르 선택하여 자동 예측 모델링을 위한 워크플로우를 생성하여 제공하는 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치를 제공하는 데 주된 목적이 있다.
본 발명의 일 측면에 의하면, 상기 목적을 달성하기 위한 자동 예측 모델링 방법은, 소스 데이터 및 예측 작업정보에 대한 초기 입력 데이터를 획득하는 입력 단계; 상기 초기 입력 데이터를 기반으로 적어도 하나의 노드를 생성하고, 이종 언어로 구현된 적어도 하나의 노드 중 선정된 최적화 노드를 기반으로 예측 워크플로우를 구성하여 워크플로우 출력 데이터로 변환하는 데이터 분석 단계; 및 변환된 상기 워크플로우 출력 데이터를 출력하여 자동 예측 모델링이 수행되도록 하는 워크플로우 출력 단계를 포함할 수 있다.
또한, 본 발명의 다른 측면에 의하면, 상기 목적을 달성하기 위한 자동 예측 모델링 장치는, 소스 데이터 및 예측 작업정보에 대한 초기 입력 데이터를 획득하는 입력부; 상기 초기 입력 데이터를 기반으로 적어도 하나의 노드를 생성하고, 이종 언어로 구현된 적어도 하나의 노드 중 선정된 최적화 노드를 기반으로 예측 워크플로우를 구성하여 워크플로우 출력 데이터로 변환하는 데이터 분석부; 및 변환된 상기 워크플로우 출력 데이터를 출력하여 자동 예측 모델링이 수행되도록 하는 워크플로우 출력부를 포함할 수 있다.
이상에서 설명한 바와 같이, 본 발명은 소정의 작업 및 데이터에 대한 자동 예측을 수행하기 위한 최적의 워크플로우를 사용자에게 제공할 수 있는 효과가 있다.
또한, 본 발명은 다수의 분석가 또는 이종 프로그램 언어로 구현된 노드를 통합하여 자동 예측을 처리할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 자동 예측 모델링 장치를 개략적으로 나타낸 블록 구성도이다.
도 2는 본 발명의 실시예에 따른 데이터 분석부의 구성을 개략적으로 나타낸 블록 구성도이다.
도 3은 본 발명의 실시예에 따른 자동 예측 모델링 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 실시예에 따른 예측 노드 구성부의 구성을 개략적으로 나타낸 블록 구성도이다.
도 5는 본 발명의 실시예에 따른 예측 노드 구성 동작을 설명하기 위한 순서도이다.
도 6은 본 발명의 실시예에 따른 최적화 노드 선택부의 구성을 개략적으로 나타낸 블록 구성도이다.
도 7은 본 발명의 실시예에 따른 최적화 노드 선택 동작을 설명하기 위한 순서도이다.
도 8은 본 발명의 실시예에 따른 자동 예측 모델링을 위한 워크플로우를 나타낸 예시도이다.
도 9는 본 발명의 실시예에 따른 자동 예측 모델링 장치의 구성을 나타낸 도면이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다. 이하에서는 도면들을 참조하여 본 발명에서 제안하는 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치에 대해 자세하게 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 자동 예측 모델링 장치를 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 자동 예측 모델링 장치(100)는 입력부(110), 데이터 분석부(120) 및 워크플로우 출력부(130)을 포함한다. 도 1의 자동 예측 모델링 장치(100)는 일 실시예에 따른 것으로서, 도 1에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 자동 예측 모델링 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 자동 예측 모델링 장치(100)는 컴퓨팅 디바이스로 구현될 수 있고, 자동 예측 모델링 장치(100)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 프로그램으로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.
자동 예측 모델링 장치(100)는 사용자의 조작 또는 입력에 의해 선택된 예측 작업정보와 소스 데이터를 토대로 데이터 패턴을 분석한 후 예측에 필요한 각 단계에 최적화된 알고리즘을 선정하여 노드를 생성하고, 생성된 노드를 기반으로 자동 예측 모델링을 위한 워크플로우를 구성한다. 여기서, 워크플로우의 노드는 예측에 필요한 다양한 기능(데이터 전처리, 모델 학습 등)을 수행할 수 있도록 여러 알고리즘으로 구현되어 있고 입출력값에 대한 포맷이 같아 여러 노드를 서로 연결하여 원하는 분석 흐름을 수행할 수 있다. 각 노드는 다양한 프로그래밍 언어(R, Python, Java, C, GO, Julia 등)로 구현될 수 있으며, 자동 예측 모델링 장치(100)는 노드 각각의 속도와 기능을 고려하여 최적의 워크플로우를 구성할 수 있다. 자동 예측 모델링 장치(100)는 구성된 최종 워크플로우를 자동 예측 분석을 위하여 사용자에게 제공하여 실행될 수 있도록 시각화한다.
이하, 자동 예측 모델링 장치(100)에 포함된 구성요소 각각에 대해 설명하도록 한다.
입력부(110)는 소스 데이터 및 예측 작업정보를 포함하는 초기 입력 데이터를 획득한다. 여기서, 예측 작업정보와 소스 데이터는 사용자의 조작 또는 입력에 의해 선택된 후 업로드를 통해 획득될 수 있으나 반드시 이에 한정되는 것은 아니며, 외부 장치로부터 불러와 획득된 정보 및 데이터일 수도 있다.
입력부(110)는 연속형 숫자, 문자형 변수, 이미지 데이터 등 중 적어도 하나에 대한 소스 데이터와 사용자의 조작 또는 입력에 의해 결정된 예측 변수 및 예측 종류에 대한 예측 작업정보를 포함하는 초기 입력 데이터를 획득할 수 있다.
입력부(110)는 작업 선택부(112) 및 입력 데이터 획득부(114)를 포함할 수 있다.
입력 데이터 획득부(114)는 연속형 숫자, 문자형 변수, 이미지 데이터 등 중 적어도 하나에 대한 소스 데이터를 획득한다. 여기서, 소스 데이터는 사용자가 알고리즘을 통해 예측하고자 하는 데이터를 의미한다.
소스 데이터는 소정의 비트(예: 64 비트)의 연속형 숫자 또는 문자형 변수로 구성된 데이터, jpeg 등과 같은 이미지 데이터 등일 수 있으며, 데이터베이스의 규칙에 맞게 들어간 테이블 형태의 정형 데이터 또는 이미지 파일들의 형태일 수 있다.
예를 들어, 입력 데이터 획득부(114)에서 획득된 소스 데이터는 [표 1]과 같은 테이블 형태의 숫자, 문자형 데이터를 포함할 수 있다.
Figure pat00001
또한, 입력 데이터 획득부(114)에서 획득된 소스 데이터는 파일1: image_1.jpeg(1080x720), 파일2: image_2.jpeg(1080x720), 파일3: image_3.jpeg(1080x720) 등과 같이 파일 형태의 이미지 데이터를 포함할 수도 있다.
작업 선택부(112)는 사용자의 조작 또는 입력에 의해 결정된 예측 변수 및 예측 종류에 대한 예측 작업정보를 획득한다.
작업 선택부(112)는 소스 데이터에 대한 예측 변수 및 예측 종류를 획득할 수 있다.
테이블 형태의 소스 데이터에 사용되는 작업 선택부(112)의 예측 변수는 명목 자료, 순서 자료, 구간 자료, 비율 자료, 시계열 자료 등일 수 있다. 여기서, 명목 자료는 성별, 음식 메뉴, 우편 번호와 같이 범주를 의미하는 값을 의미하고, 순서 자료는 순위, 학력, 학점과 같이 크고 작다의 의미만 있는 값을 의미한다. 또한, 구간 자료는 온도, 시간, 무게와 같이 양적으로 의미가 있지만 절대 0점이 존재하지 않는 값을 의미하고, 비율 자료는 나이, 불량개수와 같이 양적으로 의미가 있으며 절대 0점이 존재하는 값을 의미하며, 시계열 자료는 일자 별 판매량과 같이 시간 순서에 따른 수치 값을 가진 데이터를 의미한다.
작업 선택부(112)의 예측 종류는 분류 예측(Classification Prediction), 회귀 예측(Regression Prediction), 시계열 예측(Forecast), 군집 예측(Clustering Prediction) 등일 수 있다.
여기서, 분류 예측은 명목 자료 형태의 변수를 예측하며, 설명변수와 반응변수 간의 관계를 파악하여 새로운 설명변수가 주어졌을 때 반응변수가 가질 수 있는 값을 파악하는 것을 의미한다. 예를 들어, 분류 예측은 여러 이미지를 학습하여 해당 이미지가 사자인지 호랑이인지를 예측하는 것일 수 있다.
또한, 회귀 예측은 명목 자료가 아닌 형태의 변수를 예측하며, 설명변수와 반응변수 간의 관계를 파악하여 새로운 설명변수가 주어졌을 때 반응변수가 가질 수 있는 값을 파악하는 것을 의미한다. 예를 들어, 회귀 예측은 자동차 메이커, 최대속도, 무게, 크기 등의 설명변수를 통해 자동차 연비를 예측하는 것일 수 있다.
또한, 시계열 예측은 시계열 예측이란 과거 데이터의 패턴을 파악하여 아직 발생하지 않은 미래 데이터가 가질 수 있는 패턴을 유추하는 것을 말하며, 시계열 자료를 활용한다. 예를 들어, 시계열 예측은 과거 강우량 데이터를 통해 내일의 강우량을 예측하는 것일 수 있다.
또한, 군집 예측은 변수의 형태와 무관하며 각 관측치 간의 유사성을 바탕으로 군집을 형성하는 것을 의미한다. 예를 들어, 군집 예측은 성격과 관련된 설문조사를 통해 사람의 성격 유형 군집을 형성하고 특정 사람의 군집을 예측하는 것일 수 있다.
데이터 분석부(120)는 초기 입력 데이터를 기반으로 자동 예측 모델링을 위한 예측 워크플로우를 구성하는 동작을 수행한다. 구체적으로, 데이터 분석부(120)는 초기 입력 데이터를 분석하여 적어도 하나의 노드를 생성하고, 이종 언어로 구현된 적어도 하나의 노드 중 선정된 최적화 노드를 기반으로 예측 워크플로우를 구성한다. 또한, 데이터 분석부(120)는 예측 워크플로우를 워크플로우 출력 데이터로 변환한다.
데이터 분석부(120)의 구성 및 구체적인 동작은 도 2 및 도 4에서 자세히 설명하도록 한다.
워크플로우 출력부(130)는 예측 워크플로우가 변환된 워크플로우 출력 데이터를 출력하여 자동 예측 모델링이 수행되도록 한다.
워크플로우 출력부(130)는 워크플로우 출력 데이터를 구비된 디스플레이를 이용하여 출력할 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 장치 또는 사용자 단말기에서 자동 예측 모델링이 수행되도록 워크플로우 출력 데이터를 전송할 수도 있다.
워크플로우 출력부(130)는 워크플로우 출력 데이터를 출력하여 사용자에게 워크플로우의 노드 구성을 보여주고 워크플로우의 수정 또는 워크플로우 기반 자동 예측 모델링의 실행이 수행되도록 한다.
도 2는 본 발명의 실시예에 따른 데이터 분석부의 구성을 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 데이터 분석부(120)는 예측 노드 구성부(210), 최적화 언어 선택부(220) 및 워크플로우 시각화 처리부(230)를 포함할 수 있다. 도 2의 데이터 분석부(120)는 일 실시예에 따른 것으로서, 도 2에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 데이터 분석부(120)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 데이터 분석부(120)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 프로그램으로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.
예측 노드 구성부(210)는 자동 예측을 위한 각 단계에 대한 적어도 하나의 노드를 생성하고, 적어도 하나의 노드를 기반으로 자동 예측을 위한 예측 워크플로우를 구성한다.
예측 노드 구성부(210)는 소스 데이터 및 예측 작업정보를 포함하는 초기 입력 데이터를 토대로 자동 예측에 필요한 노드들을 생성하고, 생성된 노드들 중 전체 또는 일부를 선택한 후 연결하여 예측 워크플로우를 구성한다.
예측 노드 구성부(210)는 생성 가능한 모든 노드들의 연결 가능성을 테스트하는 것은 비효율적이므로 최적화 알고리즘을 통해 노드를 선정하여 예측 워크플로우를 구성할 수 있다. 즉, 예측 노드 구성부(210)는 검증 방법 구성, 전처리 수행, 모델 학습 처리, 검증 처리 등의 4 단계의 과정을 통해 예측 워크플로우를 구성할 수 있다. 예측 노드 구성부(210)에 포함된 각 단계는 도 4에서 자세히 설명하도록 한다.
최적화 언어 선택부(220)는 예측 노드 구성부(210)에서 생성된 예측 워크플로우에 포함된 노드들 각각의 언어를 확인하고, 언어 확인 결과를 기반으로 최종 예측 워크플로우를 위한 최적화 노드를 선정하는 동작을 수행한다.
최적화 언어 선택부(220)는 언어 확인 결과에 따라 예측 워크플로우의 노드 간 연결 상태, 복수의 후보 예측 워크플로우 각각에 대한 시스템 환경 및 자동 예측에 대한 수행 소요 시간 등을 확인할 수도 있다.
예측 노드 구성부(210)는 최적화 노드가 선정된 최종 예측 워크플로우를 워크플로우 시각화 처리부(230)로 전송하여 시각화 처리가 되도록 한다.
이하, 최적화 언어 선택부(220)에 대한 실시예에 대해 설명하도록 한다.
최적화 언어 선택부(220)는 예측 노드 구성부(210)에서 출력된 예측 워크플로우에 포함된 소정의 노드와 동일한 기능을 수행하지만 다른 언어(프로그래밍 언어)로 쓰여진 노드가 존재하는 경우 해당 기능을 수행하는 최적화 언어로 구성된 최적 노드를 선택하여 최종 예측 워크플로우를 구성하는 동작을 수행한다.
최적화 언어 선택부(220)는 예측 워크플로우를 구성할 때 동일한 기능을 수행하지만 다른 언어로 쓰여진 노드가 다수 존재하는 경우, 이전 노드와 다음 노드의 연결 상태를 고려하여 워크플로우의 처리 속도가 최적화될 수 있도록 하는 최적 노드를 선택한다. 여기서, 최적화 언어로 구성된 최적 노드의 선택 기준은 통계적 검증을 통해 결정될 수 있다.
예측 노드 구성부(210)은 노드에 사용된 언어와 무관하게 예측 성능을 기준으로 구성되어 있다. 하지만 예측 성능은 데이터셋과 모델 초기값에 따라 변동되는 특성이 있다. 따라서,
최적화 언어 선택부(220)는 예측 노드 구성부(210)에서 다수의 예측 워크플로우가 구성되어 추천되고 다수의 예측 워크플로우 각각에서 언어에 따른 예측 성능에 차이가 존재하는 경우, 최적화 언어를 선정하여 최종 예측 워크플로우를 선택할 수 있다.
한편, 최적화 언어 선택부(220)는 예측 노드 구성부(210)에서 다수의 예측 워크플로우가 구성되어 추천되고 다수의 예측 워크플로우 각각에서 예측 성능에 큰 차이가 없는 경우, 메모리 사용량, 시간 소요 등을 추가로 고려하여 시스템 부하를 줄이는 최종 예측 워크플로우 한 개를 선택할 수도 있다.
예를 들어, 소정의 노드(단계)는 파생변수를 생성하는 동일한 방법을 R 언어 또는 Python 언어로 생성되어 있을 수 있다. 분류 알고리즘인 랜덤 포레스트도 R 언어와 Python 언어 각각에 대한 버전이 있고 예측 성능과 동작 속도에 차이가 있다. 따라서 예측 노드 구성부(210)에서 모델 학습을 위한 알고리즘의 선택은 알고리즘 종류 뿐만 아니라 알고리즘이 작성된 언어도 선택 사항이 될 수 있다.
일반적으로는 동일한 알고리즘 동작은 서로 다른 언어여도 유사하기 때문에, 성능에 차이가 없는 경우 최적화 언어 선택부(220)는 메모리 사용량이 적거나 속도가 빠른 언어를 선택할 수도 있다.
최적화 언어 선택부(220)는 예측 노드 구성부(210)에서 구성된 예측 워크플로우에서 예측 성능 차이 여부를 판단하는 기준으로 통계적 검증을 활용 한다.
예를 들어, 예측 노드 구성부(210)의 검증 방법 구성부(410)에 의해 한 개의 예측 워크플로우에는 k 개의 예측 성능이 측정되어 있을 경우, 각 워크플로우 별로 예측 성능 지표를 갖고 있기 때문에 ANOVA 검증을 통해 평균 예측 성능의 차이를 검증할 수 있다. 각 워크플로우에 사용된 노드는 서로 중복되는 사항이 있을 수 있을 수 있으며, 유전 알고리즘 원리에 따라 이전 단계에 좋은 성능을 내는데 기여한 노드가 있으면 계속 남아있고 다른 단계의 노드가 변경되기 때문에 중복되는 경우가 많이 존재한다.
최적화 언어 선택부(220)는 이렇게 통계적으로 예측 성능에 차이가 없는 예측 성능 상위 워크플로우의 메모리 사용량과 수행 소요 시간을 파악한다.
예측 워크플로우의 메모리 사용량과 수행 소요 시간은 최적화 언어 선택부(220)에 저장되어 있을 수 있으며, 예측 워크플로우 당 각각 1 개의 값을 가진다.
메모리와 시간에 대한 우선 순위는 원칙적으로 사용자 판단에 따르나 몇 가지 조건을 최적화 언어 선택부(220)에 도입할 수도 있다.
자동 예측 모델링 장치(100)의 안정성이 최선이므로 현재 시스템의 메모리 부하가 일정 수준 이하라면 최적화 언어 선택부(220)는 메모리 사용량이 적은 예측 워크플로우를 최우선으로 선택한다. 한편, 자동 예측 모델링 장치(100)의 메모리 부하가 일정 수준 미만인 상황이라면 최적화 언어 선택부(220)는 수행 소요 시간을 최우선으로 선택한다
그 외에 조건이 불분명한 경우, 최적화 언어 선택부(220)는 최적화 언어에 대한 모든 예측 워크플로우의 메모리와 수행 소요 시간을 테스트하고, 테스트 결과에 따라 확률 분포로 예측 워크플로우를 구성하고, 선택하고자 하는 예측 워크플로우의 메모리와 수행 소요 시간의 확률 밀도값을 계산한다.
최적화 언어 선택부(220)는 메모리와 수행 소요 시간의 확률 밀도값 중 상위 10 %를 넘는 경우가 있다면 해당 예측 워크플로우를 제외하고, 시간 기준으로 최선의 예측 워크플로우를 선택한다. 예를 들어, 메모리 사용량이 메모리 확률 분포의 상위 5 %(메모리를 매우 많이 씀)에 위치하고, 수행 소요 시간이 시간 확률 분포의 50 %(시간 소요가 평균적임)에 위치해 있을 수 있다.
최적화 언어 선택부(220)는 자동 예측 모델링 장치(100)에 여유가 있더라도 메모리 사용량이 극단적이므로 수행 소요 시간을 기준으로 예측 워크플로우를 선택한다.
최적화 언어 선택부(220)는 서로 연결된 노드가 이종 언어로 구현된 경우 해당 노드 간의 연동 방안을 제공한다.
예를 들어, R 언어와 Python 언어와 같이 서로 다른 언어로 구성된 노드들은 데이터 구조가 달라 다음 노드로 데이터를 넘길 수가 없다.
최적화 언어 선택부(220)는 이종 언어로 구현된 노드 간의 연동을 위하여 메타정보를 활용하여 R 언어와 Python 언어가 모두 이해할 수 있는 공통 포맷을 사용하여 데이터를 변환한다. 최적화 언어 선택부(220)는 각 노드의 입력과 출력을 모두 JSON 포맷으로 통일시키고, 노드 작성시 JSON 데이터를 변환하는 과정을 R 스크립트 및 Python 스크립트에 포함시켜 작성한다.
각 워크플로우는 자동 예측 모델링 장치(100)의 독립된 환경 Docker에 존재할 수 있다. Docker의 첫 번째 노드에 입력 값이 넘어가고 마지막 노드에 출력 값이 나오는 시간을 통해 수행 속도를 파악하고, 분산처리 시스템에서는 각 독립된 환경에 필요한 리소스가 자동으로 분배되기 때문에 메모리 사용량을 파악할 수 있다.
워크플로우 시각화 처리부(230)는 사용자에게 시각화 형태로 제공하기 위하여 예측 워크플로우를 워크플로우 출력 데이터로 변환하는 동작을 수행한다.
워크플로우 시각화 처리부(230)는 최종적으로 선택된 최종 노드들을 포함하는 예측 워크플로우를 워크플로우 출력 데이터로 변환하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 각 단계별로 사용자가 변경 가능하도록 최종 노드와 연관된 적어도 하나의 후보 노드들을 포함하는 형태로 예측 워크플로우를 워크플로우 출력 데이터로 변환할 수도 있다.
도 3은 본 발명의 실시예에 따른 자동 예측 모델링 방법을 설명하기 위한 순서도이다.
자동 예측 모델링 장치(100)는 소스 데이터 및 예측 작업정보를 포함하는 초기 입력 데이터를 획득한다(S310, S320). 여기서, 자동 예측 모델링 장치(100)는 연속형 숫자, 문자형 변수, 이미지 데이터 등 중 적어도 하나에 대한 소스 데이터와 사용자의 조작 또는 입력에 의해 결정된 예측 변수 및 예측 종류에 대한 예측 작업정보를 포함하는 초기 입력 데이터를 획득할 수 있다.
자동 예측 모델링 장치(100)는 초기 입력 데이터를 분석하여 적어도 하나의 노드를 생성하고(S330), 생성된 적어도 하나의 노드를 기반으로 예측 워크플로우를 구성한다. 자동 예측 모델링 장치(100)는 소스 데이터 및 예측 작업정보를 포함하는 초기 입력 데이터를 토대로 자동 예측에 필요한 노드들을 생성하고, 생성된 노드들 중 전체 또는 일부를 선택한 후 연결하여 예측 워크플로우를 구성한다.
자동 예측 모델링 장치(100)는 생성된 예측 워크플로우에 포함된 노드들 중 최적화 노드를 선택한다(S340). 자동 예측 모델링 장치(100)는 생성된 예측 워크플로우에 포함된 노드들 각각의 언어를 확인하고, 언어 확인 결과를 기반으로 최종 예측 워크플로우를 위한 최적화 노드를 선정한다. 자동 예측 모델링 장치(100)는 최적화 노드로 구성된 최종 예측 워크플로우를 워크플로우 출력 데이터로 변환한다(S350).
자동 예측 모델링 장치(100)는 예측 워크플로우가 변환된 워크플로우 출력 데이터를 출력하여 자동 예측 모델링이 수행되도록 한다(S360). 자동 예측 모델링 장치(100)는 워크플로우 출력 데이터를 구비된 디스플레이를 이용하여 출력할 수 있으나 반드시 이에 한정되는 것은 아니며, 별도의 외부 장치 또는 사용자 단말기에서 자동 예측 모델링이 수행되도록 워크플로우 출력 데이터를 전송할 수도 있다.
도 3에서는 각 단계를 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 3에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.
도 3에 기재된 본 실시예에 따른 자동 예측 모델링 방법은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 자동 예측 모델링 방법을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치 또는 매체를 포함한다.
도 4는 본 발명의 실시예에 따른 예측 노드 구성부의 구성을 개략적으로 나타낸 블록 구성도이다.
도 4는 본 발명의 실시예에 따른 예측 노드 구성부의 구성을 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 예측 노드 구성부(210)는 검증 방법 구성부(410), 전처리 수행부(420), 모델 학습 처리부(430) 및 검증 처리부(440)를 포함한다. 도 4의 예측 노드 구성부(210)는 일 실시예에 따른 것으로서, 도 4에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 예측 노드 구성부(210)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 예측 노드 구성부(210)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 프로그램으로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.
검증 방법 구성부(410)는 초기 입력 데이터를 학습용 데이터 및 검증용 데이터로 분류하는 동작을 수행한다.
검증 방법 구성부(410)는 예측 모델의 예측 성능을 검증하기 위하여 예측 모델을 생성할 때 사용되는 학습용 데이터와 검증에 사용되는 검증용 데이터를 서로 분리하는 과정을 수행한다.
검증 방법 구성부(410)에서 획득된 초기 입력 데이터를 학습, 검증 데이터로 나누는 방법은 다양하며, 데이터 크기에 따라 분류 방식을 선택할 수 있다. 예를 들어, 검증 방법 구성부(410)는 몬테카를로 검증, k-fold cross-validation, leave-p-out cross-validation 등 중 하나의 방식을 선택하여 초기 입력 데이터를 분류할 수 있다.
몬테카를로 검증 방식은 전체 데이터에서 매회 랜덤하게 샘플링한 데이터를 검증 데이터로 사용하며, 속도가 빨라 큰 데이터에 적합하다. 또한, k-fold cross-validation 방식은 데이터를 소정의 조건에 따라 k 개의 데이터셋으로 나누고 k-1 개 데이터셋을 학습용 데이터, 나머지 1개를 검증용 데이터로 사용하고, k 회 반복하여 평균 예측 성능을 산출하며, 속도가 느려 작은 데이터에 적합하다.
또한, leave-p-out cross-validation 방식은 p 개의 검증용 데이터를 선택하고 나머지를 학습용으로 사용하고, k-fold와 동일한 방식이지만 더 엄격한 기준으로 성능을 측정할 수 있으며, 속도가 매우 느려 기 설정된 기준 미만의 작은 데이터에 적합하다.
전처리 수행부(420)는 학습용 데이터 및 검증용 데이터 각각을 예측 모델에 사용할 수 있도록 변환하는 동작을 수행한다.
전처리 수행부(420)는 사용 가능한 데이터 형태와 종류를 정의하였지만, 바로 예측 모델에 사용할 수는 없다. 예측 모델은 일반적으로 각 변수 간의 관계를 학습하는 것이기 때문에 여기에 적합한 포맷으로 변환하기 위해 전처리가 수행되어야 한다.
전처리 수행부(420)는 학습용 데이터 및 검증용 데이터 각각에 대해 변수별 데이터 타입 확인 및 변환, 결측값(missing value) 처리, 이상치 판단 및 제거 처리, 파생변수의 생성 처리 등의 전체 또는 일부 과정을 포함하는 전처리를 수행한다.
변수별 데이터 타입 확인 및 변환 과정은 사용자가 선택한 예측 목적에 부합하는 데이터인지 확인하는 과정을 의미한다. 예를 들어, 전처리 수행부(420)는 분류 예측을 선택하였는데 반응 변수가 비율 자료형이면 명목 자료형으로 변환하는 과정을 수행한다.
결측값 처리 과정은 결측값을 학습하지 못하거나 예측에 영향을 미치는 경우가 있으므로 결측값을 제거하거나 다른 값으로 대체하는 과정을 의미한다. 예를 들어, 전처리 수행부(420)는 자동차 연비를 예측할 때, 무게 변수에 NA가 포함된 관측치가 있는 경우 이를 무게 변수의 평균값으로 대체하는 과정을 수행한다.
이상치 판단 및 제거 처리 과정은 각 변수가 가질 수 있는 범위를 크게 벗어났거나 다른 값들과 차이가 많은 경우, 이를 제거하거나 다른 값으로 대체하는 과정을 의미한다. 예를 들어, 전처리 수행부(420)는자동차 무게 변수의 값들에 0.1 ~ 2 ton과 1,000 ton이 섞여 있는 경우 1,000 ton을 관측치에서 제거하는 과정을 수행한다.
파생변수의 생성 처리 과정은 예측 성능을 향상시키기 위해 설명변수를 변환하여 새로운 설명변수를 생성하는 과정을 의미한다. 예를 들어, 전처리 수행부(420)는 자동차 연비와 무게 사이에 지수로 증가하는 관계가 있는 경우 무게 변수를 제곱한 무게 파생변수를 생성하여 예측 성능이 향상되도록 하는 과정을 수행한다.
모델 학습 처리부(430)는 학습용 데이터를 입력으로 적어도 하나의 알고리즘 중 특정 알고리즘을 선정하고, 적어도 하나의 알고리즘을 기반으로 학습 데이터의 패턴을 분석하여 후보 알고리즘을 선정하고, 후보 알고리즘에 검증용 데이터를 대입하여 선정된 최종 알고리즘을 기반으로 예측 모델을 생성한다.
모델 학습 처리부(430)는 다양한 통계 모델, 기계학습 모델, 딥러닝 모델, 사용자 정의 모델 등을 사용하여 예측 모델을 생성할 수 있으며, 각각의 모델에는 다양한 알고리즘이 포함될 수 있다.
모델 학습 처리부(430)에서 생성되는 예측 모델은 학습 데이터를 입력 받는 i 단계, 알고리즘을 통해 학습 데이터의 패턴을 분석하여 예측 성능을 최대화하는 ii 단계 및 ii 단계에서 생성된 모델에 검증용 데이터를 대입하여 성능을 확인하는 iii 단계와 같은 프로세스에 의해 처리된다.
예를 들어, 모델 학습 처리부(430)는 분류 예측 모델을 처리하는 경우 기능에 따른 예측 모델의 구성 및 동작, 대표 알고리즘은 다음과 같다.
i 단계) 모델 학습 처리부(430)는 사용자가 지정한 설명변수와 반응변수를 알고리즘의 입력값에 넣고, 알고리즘 학습에 필요한 세부 파라미터를 시스템을 통해 조정한다. 파라미터 값에 따라 예측 성능이 차이가 나며 이를 어떻게 탐색하고 조정하는지에 대한 설정을 수행한다.
ii-a 단계) 모델 학습 처리부(430)는 분류 예측에 사용할 수 있는 다수의 알고리즘을 준비한다. 여기서, 분류 예측을 위한 분류 알고리즘은 분류 랜덤 포레스트, 로지스틱 선형 회귀 모델, 분류 뉴럴 네트워크, 서포트 벡터 머신 등일 수 있다.
ii-b 단계) 모델 학습 처리부(430)는 알고리즘에 사용할 파라미터를 탐색한다. 여기서, 알고리즘에 사용할 파라미터는 알고리즘의 복잡도, 속도, 정확도 등에 영향을 미치는 옵션이다.
파라미터의 탐색은 알고리즘이 해당 데이터에서 가질 수 있는 파라미터의 모든 조건 중에 일부를 랜덤하게 테스트하고 초기 테스트 결과 성능이 기 설정된 기준 미만인 조건은 제거하고 기 설정된 기준 이상인 조건을 남긴 후 다른 파라미터를 조정해 나가는 동작을 말한다. 여기서, 파라미터의 탐색을 위한 알고리즘은 유전 알고리즘인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
iii 단계) 모델 학습 처리부(430)는 검증 데이터 테스트 결과 가장 우수한 알고리즘과 파라미터를 선택하여 저장한다.
모델 학습 처리부(430)는 회귀 예측 모델, 시계열 예측 모델, 군집 예측 모델 등에 대해 모델 학습을 수행하는 경우 전술한 분류 예측 모델 과정과 큰 차이가 없고 알고리즘에 차이가 있을 수 있다. 예를 들어, 회귀 예측 모델은 회귀 랜덤 포레스트, 선형 회귀 모델, 주성분 회귀 모델, 부분최소제곱 회귀 모델 등의 알고리즘이 포함될 수 있고, 시계열 예측 모델은 ARIMA 모델, GARCH 모델 등의 알고리즘이 포함될 수 있다. 또한, 군집 예측 모델은 K-means, 최근접 이웃선택 모델 등의 알고리즘이 포함될 수 있다.
검증 처리부(440)는 기 설정된 검증 지표를 사용하여 예측 모델에 대한 검증을 수행하여 예측 워크플로우를 구성한다.
검증 처리부(440)는 학습된 예측 모델을 어떤 지표를 통해 평가할지 선택 하는 동작을 수행한다. 여기서, 검증을 위한 지표는 다양하게 존재할 수 있다.
검증 처리부(440)는 모델 학습 처리부(430)와 별도의 동작인 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 모델 학습 처리부(430)에 포함되어 예측 모델을 검증할 수도 있다.
검증 처리부(440)는 생성한 예측 모델이 검증용 데이터에서도 예측 성능을 잘 발휘하는 지를 검증하는 동작을 수행한다. 검증 처리부(440)는 절대적인 성능 평가가 아닌 모델간 상대적 평가를 수행한다. 검증 처리부(440)는 예측 모델이 예측한 값과 실제값을 비교하는 지표를 사용한다.
예를 들어, 분류 예측 모델에 대한 검증 지표는 F1 score, Area under curve 등일 수 있으며, 회귀 예측 모델과 시계열 예측 모델에 대한 검증 지표는 root mean square error, r squared 등일 수 있다. 또한, 군집 예측 모델에 대한 검증 지표는 Dunn index, Jaccard index 등일 수 있다.
검증 처리부(440)는 예측 모델 각각에 대한 하나의 지표를 적용하는 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 예를 들어, 검증 처리부(440)는 예측 모델 각각에 대해 열거한 지표 중 첫 번째를 평가 기준으로 1차 검증을 수행하고, 1차 검증 결과 성능이 동일한 경우 열거한 지표 중 두 번째 지표를 평가 기준으로 2차 검증을 수행할 수 있다.
본 실시예에 따른 예측 노드 구성부(210)는 복수의 단계로 진행되는 예측 플로우를 생성할 수 있다. 예를 들어, 예측 플로우가 4 단계를 진행되는 경우 각 단계에 수십 ~ 수백가지의 선택지가 있을 수 있다. 이러한 경우 각 단계에 n 개의 선택지가 있다면, 구성 가능한 유형은 최대 n4로 시간 복잡도와 공간 복잡도가 엄청나게 커지는 문제점이 존재한다.
본 실시예에 따른 예측 노드 구성부(210)는 이러한 문제를 해결하기 위해 유전 알고리즘을 사용하여 예측 워크플로우를 구성할 수 있다. 여기서, 유전 알고리즘이란 최적화 기법 중 하나로 무한에 가까운 선택지를 모두 확인하는 것이 아니라 각 단계에서 최선의 값을 선택하고 최선의 값을 갖도록 한 특성을 기억하도록 하여 점차 최적의 해를 갖도록 진화하는 알고리즘이다.
예측 노드 구성부(210)는 자동 구성을 위해 처음에는 랜덤으로 몇 가지 노드를 선택하여 워크플로우를 구성하고 예측 성능이 뛰어난 워크플로우에서 사용된 노드를 선택지에 남긴다. 예측 노드 구성부(210)는 위 과정을 유전 알고리즘을 통해 계속 진행하며, 예측 성능이 뛰어난 워크플로우의 노드를 서로 교차하여 새로운 워크플로우를 구성하며 그 과정에 랜덤으로 노드를 추가하기도 한다. 이 때 예측 노드 구성부(210)는 나쁜 예측 성능을 보이는 노드는 배제하며, 예측 성능이 더 이상 개선되지 않을 때까지 계속 반복 수행하여 궁극적으로 예측 성능에 좋은 영향을 미친 노드만 선정하여 최종 예측 워크플로우를 구성한다.
이하, 4 단계로 구성된 예측 플로우에서 최적 노드를 선정하는 예측 노드 구성부(210)의 동작을 설명하도록 한다.
1 내지 4 단계 중 초기 단계(1 단계)와 최종 단계(4 단계)는 검증 방법 구성부(410), 전처리 수행부(420), 모델 학습 처리부(430) 및 검증 처리부(440)의 동작에 의해 선정하며, 최적의 예측 플로우를 선정하기 위하여 예측 노드 구성부(210)는 2 단계와 3 단계의 연결 조합을 검증하는 동작을 추가로 수행한다.
예를 들어, 2 단계의 파생변수 생성 단계에서 10 가지 방법이 있고 3 단계에서 사용할 수 있는 알고리즘이 10 개가 있다면 총 100개의 조합이 생기지만 이를 다 테스트하기에는 리소스 소요가 너무 크다. 이에, 본 실시예에 따른 예측 노드 구성부(210)는 유전 알고리즘을 기반으로 최적의 조합을 찾는 과정을 수행한다.
예측 노드 구성부(210)는 2 단계와 3 단계에서 각각 2 내지 3 개의 방법을 랜덤하게 선택하고, 선택된 방법들에 대한 조합으로 테스트를 수행한다. 예를 들어, 예측 노드 구성부(210)는 2 단계의 파생변수를 생성하는 다양한 방법 중 3 개를 선택하고 3 단계에서 사용할 수 있는 알고리즘을 3 개 선택하여 총 9번에 대해서만 테스트를 수행한다.
이후, 예측 노드 구성부(210)는 2 단계 및 3 단계 각각의 모델의 성능을 4 단계를 통해 측정한다. 이 때 예측 노드 구성부(210)는 성능이 우수한 모델을 2 내지 3개를 선택하며, 이 때 사용한 파생변수 생성법(2 단계에서 선택한 방법)과 알고리즘(3 단계에서 선택한 방법)을 저장한다.
예를 들어, 예측 노드 구성부(210)는 무한에 가까운 조합 중 성능 상위 4 개를 선정한다.
예를 들어, 예측 노드 구성부(210)는 워크플로우1: 노드(2.1) -> 노드(3.2) = 성능 90%, 워크플로우2: 노드(2.2) -> 노드(3.6) = 성능 88%, 워크플로우3: 노드(2.1) -> 노드(3.1) = 성능 85%, 워크플로우4: 노드(2.4) -> 노드(3.7) = 성능 80% 와 같이 측정된 결과 중 2 단계에서는 1, 2, 4 번 방법, 3 단계에서는 2, 6, 1, 7 번 방법을 성능 상위 결과로 선정하여 저장할 수 있다.
예측 노드 구성부(210)는 선정된 결과를 기반으로 파생변수 방법을 고정시키고 3 단계 알고리즘은 사용해보지 않았던 조합이 되도록 선택하거나 선택된 알고리즘을 고정시키고 2 단계 변수 방법을 사용해보지 않았던 조합이 되도록 선택한다.
예를 들어, 예측 노드 구성부(210)는 워크플로우1: 노드(2.1) -> 노드(3.11), 워크플로우2: 노드(2.2) -> 노드(3.3), 워크플로우3: 노드(2.1) -> 노드(3.4) 등과 같이, 2 단계 노드의 1, 2, 4번은 고정시키고 3 단계 노드는 사용해 보지 않은 이전에 없던 조합이 되도록 구성하거나, 3 단계 노드의 2, 6, 1, 7 번은 고정시키고 2 단계 노드는 사용해 보지 않은 이전에 없던 조합이 되도록 구성하여 테스트를 수행할 수 있다.
예측 노드 구성부(210)는 4 단계에서 예측 모델의 성능이 더 이상 개선되지 않을 때까지 위 과정을 반복하여 수행할 수 있다. 즉, 예측 노드 구성부(210)는 각 단계의 노드에서 성능이 좋은 방법과 알고리즘은 남겨놓고 더 좋은 방법이 있는지 사용해보지 않은 방법을 적용시켜가며 최적 노드를 탐색할 수 있다.
도 5는 본 발명의 실시예에 따른 예측 노드 구성 동작을 설명하기 위한 순서도이다.
도 5는 도 3의 단계 S330 및 단계 S340을 구체화한 단계를 나타낸다.
자동 예측 모델링 장치(100)는 초기 입력 데이터를 학습용 데이터 및 검증용 데이터로 분류하는 동작을 수행한다(S510). 자동 예측 모델링 장치(100)는 예측 모델의 예측 성능을 검증하기 위하여 예측 모델을 생성할 때 사용되는 학습용 데이터와 검증에 사용되는 검증용 데이터를 서로 분리하는 과정을 수행한다.
자동 예측 모델링 장치(100)는 학습용 데이터 및 검증용 데이터 각각을 예측 모델에 사용할 수 있도록 변환하는 동작을 수행한다(S520). 자동 예측 모델링 장치(100)는 학습용 데이터 및 검증용 데이터 각각에 대해 변수별 데이터 타입 확인 및 변환, 결측값(missing value) 처리, 이상치 판단 및 제거 처리, 파생변수의 생성 처리 등의 전체 또는 일부 과정을 포함하는 전처리를 수행한다.
자동 예측 모델링 장치(100)는 학습용 데이터를 입력으로 적어도 하나의 알고리즘 중 특정 알고리즘을 선정하고, 적어도 하나의 알고리즘을 기반으로 학습 데이터의 패턴을 분석하여 후보 알고리즘을 선정하고, 후보 알고리즘에 검증용 데이터를 대입하여 선정된 최종 알고리즘을 기반으로 예측 모델을 생성한다(S530).
자동 예측 모델링 장치(100)는 기 설정된 검증 지표를 사용하여 예측 모델에 대한 검증을 수행하여 예측 워크플로우를 구성한다(S540).
도 5에서는 각 단계를 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 5에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 5는 시계열적인 순서로 한정되는 것은 아니다.
도 5에 기재된 본 실시예에 따른 예측 노드 구성 방법은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 예측 노드 구성 방법을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치 또는 매체를 포함한다.
도 6은 본 발명의 실시예에 따른 최적화 노드 선택부의 구성을 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 최적화 노드 선택부(220)는 언어 확인부(610), 추가 성능 확인부(620) 및 노드 선정부(630)를 포함할 수 있다. 도 6의 최적화 노드 선택부(220)는 일 실시예에 따른 것으로서, 도 6에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 최적화 노드 선택부(220)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 최적화 노드 선택부(220)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 프로그램으로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.
언어 확인부(610)는 예측 노드 구성부(210)에서 생성된 예측 워크플로우에 포함된 노드들 각각의 언어를 확인하는 동작을 수행한다. 또한, 언어 확인부(610)는 각각의 노드 별로 서로 다른 언어로 구현된 후보 노드가 있는지를 확인한다.
예를 들어, 예측 워크플로우에 자동 예측을 위한 4 개의 단계에 대한 노드가 포함된 경우, 언어 확인부(610)는 각 단계에 대한 노드가 구현된 프로그래밍 언어를 확인할 수 있다. 또한, 각 단계에 대한 노드를 대체할 수 있으며, 다른 프로그래밍 언어로 구현된 후보 노드가 존재하는지 여부를 확인한다.
추가 성능 확인부(620)는 노드에 대한 언어 확인 결과에 근거하여 예측 워크플로우의 노드 간 연결 상태를 확인하는 동작을 수행한다.
추가 성능 확인부(620)는 언어 확인 결과에 근거하여 예측 워크플로우에 후보 노드들이 존재하는 경우, 기존의 노드를 후보 노드로 대체하여 구성된 복수의 후보 예측 워크플로우 각각에 대한 성능과 노드 간의 연결 상태를 확인한다.
또한, 추가 성능 확인부(620)는 복수의 후보 예측 워크플로우 각각에 대한 시스템 환경 및 자동 예측에 대한 수행 소요 시간을 확인할 수 있다. 여기서, 시스템 환경은 예측 워크플로우에 의해 자동 예측 모델링 장치(100)의 부하 정도, 메모리 사용량 등을 의미한다.
노드 선정부(630)는 언어 확인 결과를 기반으로 최종 예측 워크플로우를 위한 최적화 노드를 선정하는 동작을 수행한다.
노드 선정부(630)는 언어 확인 결과만을 이용하여 최종 예측 워크플로우를 위한 최적화 노드를 선정하는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니다.
노드 선정부(630)는 언어 확인 결과에 근거하여 복수의 후보 예측 워크플로우 각각에 대한 성능과 노드 간의 연결 상태를 이용하여 최종 예측 워크플로우를 위한 최적화 노드를 선정할 수 있다.
한편, 노드 선정부(630)는 언어 확인 결과를 기반으로 최적화 노드를 선정하는 것이 불가한 경우, 언어 확인 결과에 근거하여 복수의 후보 예측 워크플로우 각각에 대한 시스템 환경 및 수행 소요 시간을 이용하여 최종 예측 워크플로우를 위한 최적화 노드를 선정할 수 있다.
도 7은 본 발명의 실시예에 따른 최적화 노드 선택 동작을 설명하기 위한 순서도이다.
도 7는 도 3의 단계 S340을 구체화한 단계를 나타낸다.
자동 예측 모델링 장치(100)는 생성된 예측 워크플로우에 포함된 노드들 각각의 언어를 확인한다(S710).
자동 예측 모델링 장치(100)는 언어 확인 결과를 기반으로 최적화 노드의 선정이 가능한 경우(S720), 선정된 노드로 최종 예측 워크플로우를 구성한다.
한편, 자동 예측 모델링 장치(100)는 언어 확인 결과를 기반으로 최적화 노드의 선정이 불가한 경우(S720), 예측 워크플로우에 대한 추가 성능을 확인한다(S730). 구체적으로, 자동 예측 모델링 장치(100)는 언어 확인 결과를 기반으로 최적화 노드의 선정이 불가한 경우, 언어 확인 결과에 근거하여 복수의 후보 예측 워크플로우 각각에 대한 시스템 환경 및 수행 소요 시간을 확인한다.
자동 예측 모델링 장치(100)는 최적화 노드를 선정한다(S740). 자동 예측 모델링 장치(100)는 언어 확인 결과에 근거하여 복수의 후보 예측 워크플로우 각각에 대한 시스템 환경 및 수행 소요 시간을 이용하여 선정된 노드로 최종 예측 워크플로우를 구성한다.
도 7에서는 각 단계를 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 7에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 7는 시계열적인 순서로 한정되는 것은 아니다.
도 7에 기재된 본 실시예에 따른 최적화 노드 선택 방법은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 최적화 노드 선택 방법을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치 또는 매체를 포함한다.
도 8은 본 발명의 실시예에 따른 자동 예측 모델링을 위한 워크플로우를 나타낸 예시도이다.
도 8은 환자의 신체검사 결과를 통해 남은 수명을 예측하기 위한 수명 예측 워크플로우(800)를 나타낸다.
수명 예측 플로우(800)은 5 개의 노드(810, 820, 830, 840, 850)으로 구성될 수 있다. 제1 노드(810)는 분석에 사용할 데이터를 DB에서 읽는 노드(Read CSV file)이고, 제2 노드(820)는 데이터를 학습용과 검증용으로 분할하는 노드(Partitioner)이다. 또한, 제3 노드(830)는 random forest 알고리즘으로 학습용 데이터를 학습하는 노드(Random Forest Regression Learner)이고, 제4 노드(840)는 학습된 random forest 알고리즘을 활용하여 검증용 데이터를 예측하는 노드이다. 또한, 제5 노드(850)는 검증용 데이터 예측 결과의 성능을 평가하는 노드(Regression Score)이다.
자동 예측 모델링 장치(100)는 수명 예측 워크플로우(800)를 구성하기 위하여 아래와 같은 과정을 수행할 수 있다.
자동 예측 모델링 장치(100)는 분석 데이터 업로드 및 작업 선택 과정을 수행한다. 예를 들어, 사용자는 각 환자의 신체검사 결과를 통해 남은 수명을 예측하고자 하며, 자동 예측 모델링 장치(100)는 수명을 예측과 관련된 소스 데이터를 획득하고, 예측 작업으로 '회귀 예측'이 선택되고 수명에 관련된 변수를 타겟으로 하는 예측 작업정보를 획득한다.
이후, 자동 예측 모델링 장치(100)는 예측 노드 구성 및 추천 과정을 수행한다.
자동 예측 모델링 장치(100)는 데이터를 학습용과 검증용으로 분할하는 노드를 삽입하고, 결측값 처리 및 문자형 변수 포함 여부를 분석하여 전처리에 필요한 노드를 추가할 지 여부를 자동으로 분석한다.
자동 예측 모델링 장치(100)는 데이터가 업로드 되었을 때 DB 시스템에서는 결측값과 변수 타입을 분석할 수 있다. 이 정보를 활용하여 2 단계 노드(820)를 구성할 때 사전에 정의한 방식대로 선택 가능한 노드를 옵션에 올린다. 예를 들어 자동 예측 모델링 장치(100)에 데이터가 업로드 되었을 때 변수에서 결측값을 발견했다면, 2 단계의 세부 프로세스에 결측값 처리 노드가 추가 선택되도록 조치할 수 있다. 이후, 자동 예측 모델링 장치(100)는 회귀 예측에 가장 적합한 여러 알고리즘을 자동으로 선택한다.
이후, 자동 예측 모델링 장치(100)는 최적화 언어를 선택하는 과정을 수행한다.
자동 예측 모델링 장치(100)는 동일한 알고리즘을 서로 다른 언어로 구현한 노드 중에 예측 성능이 가장 우수하거나 속도가 가장 빠른 경우를 선택한다. 예를 들어 제3 노드(830)에 R 버전의 Random forest, Python버전의 Random forest가 있을 경우, 자동 예측 모델링 장치(100)는 R 버전과 Python 버전으로 각각 예측 워크플로우를 구성하고 예측 성능이 더 좋은 버전을 선택할 수 있다.
이후, 자동 예측 모델링 장치(100)는 워크플로우 시각화 과정을 수행한다.
자동 예측 모델링 장치(100)는 최종 선택된 노드를 연결하여 하나의 예측 워크플로우를 구성하고, 구성된 예측 워크플로우를 워크플로우 출력 데이터로 변환하여 실행될 수 있도록 출력한다.
도 9는 본 발명의 실시예에 따른 자동 예측 모델링 장치의 구성을 나타낸 도면이다.
도 9에 도시된 자동 예측 모델링 장치(900)는 컴퓨팅 기기로 구현될 수 있으며, 적어도 하나의 프로세서(910), 컴퓨터 판독 가능한 저장매체(920) 및 통신 버스(960)를 포함한다.
자동 예측 모델링 장치(900)의 입력부(110) 및 워크플로우 출력부(130)는 입출력 인터페이스(940) 또는 통신 인터페이스(950)에 대응할 수 있고, 데이터 분석부(120)는 프로세서(910)에 대응할 수 있다.
프로세서(910)는 자동 예측 모델링 장치(900)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(910)는 컴퓨터 판독 가능한 저장매체(920)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(910)에 의해 실행되는 경우 자동 예측 모델링 장치(900)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능한 저장매체(920)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장매체(920)에 저장된 프로그램(930)은 프로세서(910)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장매체(920)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 자동 예측 모델링 장치(900)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(960)는 프로세서(910), 컴퓨터 판독 가능한 저장매체(920)를 포함하여 자동 예측 모델링 장치(900)의 다른 다양한 컴포넌트들을 상호 연결한다.
자동 예측 모델링 장치(900)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(940) 및 하나 이상의 통신 인터페이스(950)를 포함할 수 있다. 입출력 인터페이스(940) 및 통신 인터페이스(950)는 통신 버스(960)에 연결된다. 입출력 장치는 입출력 인터페이스(940)를 통해 자동 예측 모델링 장치(900)의 다른 컴포넌트들에 연결될 수 있다.
이상의 설명은 본 발명의 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 실시예들은 본 발명의 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 자동 예측 모델링 장치
110: 입력부 120: 데이터 분석부
130: 워크플로우 출력부
210: 예측 노드 구성부 220: 최적화 노드 선택부
230: 워크플로우 시각화 처리부

Claims (12)

  1. 자동 예측 모델링 장치에서 워크플로우를 기반으로 자동 예측 모델링이 수행되도록 하는 방법에 있어서,
    소스 데이터 및 예측 작업정보에 대한 초기 입력 데이터를 획득하는 입력 단계;
    상기 초기 입력 데이터를 기반으로 적어도 하나의 노드를 생성하고, 이종 언어로 구현된 적어도 하나의 노드 중 선정된 최적화 노드를 기반으로 예측 워크플로우를 구성하여 워크플로우 출력 데이터로 변환하는 데이터 분석 단계; 및
    변환된 상기 워크플로우 출력 데이터를 출력하여 자동 예측 모델링이 수행되도록 하는 워크플로우 출력 단계
    를 포함하는 것을 특징으로 하는 자동 예측 모델링 방법.
  2. 제1항에 있어서,
    상기 입력 단계는,
    연속형 숫자, 문자형 변수 및 이미지 데이터 중 적어도 하나에 대한 상기 소스 데이터와 사용자의 조작 또는 입력에 의해 결정된 예측 변수 및 예측 종류에 대한 상기 예측 작업정보를 포함하는 상기 초기 입력 데이터를 획득하는 것을 특징으로 하는 자동 예측 모델링 방법.
  3. 제1항에 있어서,
    상기 데이터 분석 단계는,
    상기 적어도 하나의 노드를 생성하고, 상기 적어도 하나의 노드를 기반으로 상기 자동 예측을 위한 예측 워크플로우를 구성하는 예측 노드 구성 단계;
    상기 예측 워크플로우에서 최적화 언어로 구성된 최적 노드를 선택하여 최종 예측 워크플로우를 선정하는 최적화 언어 선택 단계; 및
    사용자에게 시각화 형태로 제공하기 위하여 상기 최종 예측 워크플로우를 상기 워크플로우 출력 데이터로 변환하는 워크플로우 시각화 처리 단계
    를 포함하는 것을 특징으로 하는 자동 예측 모델링 방법.
  4. 제3항에 있어서,
    상기 최적화 언어 선택 단계는,
    상기 예측 워크플로우에 포함된 노드들 각각의 언어를 확인하는 언어 확인 단계;
    상기 예측 워크플로우에 포함된 노드들 각각의 언어 확인 결과에 근거하여 예측 워크플로우의 노드 간 연결 상태를 확인하는 추가 성능 확인 단계; 및
    상기 언어 확인 결과와 상기 노드 간 연결 상태를 기반으로 최종 예측 워크플로우를 위한 최적화 노드를 선정하는 노드 선정 단계
    를 포함하는 것을 특징으로 하는 자동 예측 모델링 방법.
  5. 제4항에 있어서,
    상기 추가 성능 확인 단계는,
    상기 언어 확인 결과에 근거하여 예측 워크플로우에 후보 노드들이 존재하는 경우, 기존의 노드를 후보 노드로 대체하여 구성된 복수의 후보 예측 워크플로우 각각에 대한 성능과 노드 간의 연결 상태를 확인하며,
    상기 복수의 후보 예측 워크플로우 각각에 대한 시스템 환경 및 자동 예측에 대한 수행 소요 시간을 추가로 확인하는 것을 특징으로 하는 자동 예측 모델링 방법.
  6. 제5항에 있어서,
    상기 노드 선정 단계는,
    상기 언어 확인 결과를 기반으로 최적화 노드를 선정하는 것이 불가한 경우, 상기 복수의 후보 예측 워크플로우 각각에 대한 상기 시스템 환경 및 상기 수행 소요 시간을 이용하여 상기 최종 예측 워크플로우를 위한 상기 최적화 노드를 선정하는 것을 특징으로 하는 자동 예측 모델링 방법.
  7. 제3항에 있어서,
    상기 예측 노드 구성 단계는,
    상기 초기 입력 데이터를 학습용 데이터 및 검증용 데이터로 분류하는 검증 방법 구성 단계;
    상기 학습용 데이터 및 상기 검증용 데이터 각각을 예측 모델에 사용할 수 있도록 변환하는 전처리 수행 단계;
    상기 학습용 데이터를 입력으로 적어도 하나의 알고리즘 중 특정 알고리즘을 선정하고, 적어도 하나의 알고리즘을 기반으로 상기 학습 데이터의 패턴을 분석하여 후보 알고리즘을 선정하고, 상기 후보 알고리즘에 상기 검증용 데이터를 대입하여 선정된 최종 알고리즘을 기반으로 예측 모델을 생성하는 모델 학습 처리 단계; 및
    기 설정된 검증 지표를 사용하여 상기 예측 모델에 대한 검증을 수행하여 상기 예측 워크플로우를 구성하는 검증 처리 단계
    를 포함하는 것을 특징으로 하는 자동 예측 모델링 방법.
  8. 워크플로우를 기반으로 자동 예측 모델링이 수행되도록 하는 장치에 있어서,
    소스 데이터 및 예측 작업정보에 대한 초기 입력 데이터를 획득하는 입력부;
    상기 초기 입력 데이터를 기반으로 적어도 하나의 노드를 생성하고, 이종 언어로 구현된 적어도 하나의 노드 중 선정된 최적화 노드를 기반으로 예측 워크플로우를 구성하여 워크플로우 출력 데이터로 변환하는 데이터 분석부; 및
    변환된 상기 워크플로우 출력 데이터를 출력하여 자동 예측 모델링이 수행되도록 하는 워크플로우 출력부
    를 포함하는 것을 특징으로 하는 자동 예측 모델링 장치.
  9. 제1항에 있어서,
    상기 데이터 분석부는,
    상기 적어도 하나의 노드를 생성하고, 상기 적어도 하나의 노드를 기반으로 상기 자동 예측을 위한 예측 워크플로우를 구성하는 예측 노드 구성부;
    상기 예측 워크플로우에서 최적화 언어로 구성된 최적 노드를 선택하여 최종 예측 워크플로우를 선정하는 최적화 언어 선택부; 및
    사용자에게 시각화 형태로 제공하기 위하여 상기 최종 예측 워크플로우를 상기 워크플로우 출력 데이터로 변환하는 워크플로우 시각화 처리부
    를 포함하는 것을 특징으로 하는 자동 예측 모델링 장치.
  10. 제9항에 있어서,
    상기 최적화 언어 선택부는,
    상기 예측 워크플로우에 포함된 노드들 각각의 언어를 확인하는 언어 확인부;
    상기 예측 워크플로우에 포함된 노드들 각각의 언어 확인 결과에 근거하여 예측 워크플로우의 노드 간 연결 상태를 확인하는 추가 성능 확인부; 및
    상기 언어 확인 결과와 상기 노드 간 연결 상태를 기반으로 최종 예측 워크플로우를 위한 최적화 노드를 선정하는 노드 선정부
    를 포함하는 것을 특징으로 하는 자동 예측 모델링 장치.
  11. 제10항에 있어서,
    상기 추가 성능 확인부는,
    상기 언어 확인 결과에 근거하여 예측 워크플로우에 후보 노드들이 존재하는 경우, 기존의 노드를 후보 노드로 대체하여 구성된 복수의 후보 예측 워크플로우 각각에 대한 성능과 노드 간의 연결 상태를 확인하며,
    상기 복수의 후보 예측 워크플로우 각각에 대한 시스템 환경 및 자동 예측에 대한 수행 소요 시간을 추가로 확인하는 것을 특징으로 하는 자동 예측 모델링 장치.
  12. 컴퓨터에 제1항 내지 제7항 중 어느 한 항에 따른 자동 예측 모델링 방법을 실행시키기 위하여 기록매체에 저장된 컴퓨터프로그램.
KR1020210023786A 2020-06-19 2021-02-23 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치 KR102605482B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200074905 2020-06-19
KR1020200074905 2020-06-19

Publications (2)

Publication Number Publication Date
KR20210157303A true KR20210157303A (ko) 2021-12-28
KR102605482B1 KR102605482B1 (ko) 2023-11-23

Family

ID=79178358

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210023786A KR102605482B1 (ko) 2020-06-19 2021-02-23 이종 언어로 구현된 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치
KR1020210023785A KR102605481B1 (ko) 2020-06-19 2021-02-23 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210023785A KR102605481B1 (ko) 2020-06-19 2021-02-23 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치

Country Status (1)

Country Link
KR (2) KR102605482B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116307405A (zh) * 2023-05-25 2023-06-23 日照鲁光电子科技有限公司 一种基于生产数据的二极管性能预测方法及系统
KR102615011B1 (ko) * 2022-10-13 2023-12-19 쿠팡 주식회사 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체
WO2024090722A1 (ko) * 2022-10-28 2024-05-02 한국환경연구원 환경영향평가 지원 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062801A (ko) * 2008-12-01 2010-06-10 한국전자통신연구원 기계 학습을 이용한 학습 데이터 검증 장치 및 방법
KR20170062106A (ko) * 2015-11-27 2017-06-07 한국전자통신연구원 워크플로우 조합 시스템 및 그 방법
KR20180080097A (ko) * 2017-01-03 2018-07-11 한국전자통신연구원 기계학습 지식 및 자동화된 기계 학습 절차 기반의 자가 학습 시스템
KR102103902B1 (ko) * 2019-07-03 2020-04-23 (주)위세아이텍 컴포넌트 기반의 머신러닝 자동화 예측 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418969B1 (ko) * 2017-04-27 2022-07-11 주식회사 케이티 딥러닝 기반 통신망 장비의 장애 예측 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062801A (ko) * 2008-12-01 2010-06-10 한국전자통신연구원 기계 학습을 이용한 학습 데이터 검증 장치 및 방법
KR20170062106A (ko) * 2015-11-27 2017-06-07 한국전자통신연구원 워크플로우 조합 시스템 및 그 방법
KR20180080097A (ko) * 2017-01-03 2018-07-11 한국전자통신연구원 기계학습 지식 및 자동화된 기계 학습 절차 기반의 자가 학습 시스템
KR102103902B1 (ko) * 2019-07-03 2020-04-23 (주)위세아이텍 컴포넌트 기반의 머신러닝 자동화 예측 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102615011B1 (ko) * 2022-10-13 2023-12-19 쿠팡 주식회사 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체
WO2024080425A1 (ko) * 2022-10-13 2024-04-18 쿠팡 주식회사 공급망 관리에 관한 작업 흐름을 제어하는 플랫폼을 제공하는 전자 장치, 그 방법, 및 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록 매체
WO2024090722A1 (ko) * 2022-10-28 2024-05-02 한국환경연구원 환경영향평가 지원 시스템 및 방법
CN116307405A (zh) * 2023-05-25 2023-06-23 日照鲁光电子科技有限公司 一种基于生产数据的二极管性能预测方法及系统
CN116307405B (zh) * 2023-05-25 2023-08-04 日照鲁光电子科技有限公司 一种基于生产数据的二极管性能预测方法及系统

Also Published As

Publication number Publication date
KR102605482B1 (ko) 2023-11-23
KR20210157302A (ko) 2021-12-28
KR102605481B1 (ko) 2023-11-23

Similar Documents

Publication Publication Date Title
KR102605481B1 (ko) 워크플로우 기반의 자동 예측 모델링 방법 및 그를 위한 장치
JP7162442B2 (ja) プロセス及び製造業における業績評価指標のデータに基づく最適化のための方法及びシステム
KR101864286B1 (ko) 머신 러닝 알고리즘을 이용하는 방법 및 장치
EP3428856A1 (en) Information processing method and information processing device
KR101966557B1 (ko) 빅데이터와 머신러닝을 이용한 수리부속수요 예측 시스템 및 방법
KR102337070B1 (ko) 이상 데이터 자동 검출 및 자동 라벨링 기술을 이용한 학습 데이터베이스 구축 방법 및 시스템
Maiti et al. Capturing, eliciting, predicting and prioritizing (CEPP) non-functional requirements metadata during the early stages of agile software development
US20180300333A1 (en) Feature subset selection and ranking
US10019681B2 (en) Multidimensional recursive learning process and system used to discover complex dyadic or multiple counterparty relationships
CN111950622B (zh) 基于人工智能的行为预测方法、装置、终端及存储介质
CN111260073A (zh) 数据处理方法、装置和计算机可读存储介质
KR102141709B1 (ko) 엔지니어링 빅데이터 기반의 설계 전문가 시스템 및 그 설계 방법
WO2018079225A1 (ja) 自動予測システム、自動予測方法および自動予測プログラム
CN112288455A (zh) 标签生成方法及装置、计算机可读存储介质、电子设备
CN115204536A (zh) 楼宇设备故障预测方法、装置、设备及存储介质
CN111738331A (zh) 用户分类方法及装置、计算机可读存储介质、电子设备
JP2019185591A (ja) 実験支援装置及び実験支援方法
US20200210881A1 (en) Cross-domain featuring engineering
Ackermann et al. Black-box learning of parametric dependencies for performance models
KR101966558B1 (ko) 장비 재고상태 및 수리부속 조달 요구를 시각화하는 시스템 및 방법
JP6860073B2 (ja) グラフ構造解析装置、グラフ構造解析方法、及びプログラム
US20220374801A1 (en) Plan evaluation apparatus and plan evaluation method
JP4308113B2 (ja) データ分析装置及びその方法、プログラム
JP2021170244A (ja) 学習モデル構築システムおよびその方法
US11989517B2 (en) Conversational automated machine learning

Legal Events

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