tidymodels
tidymodels
- MDP / DALEXRUP에서 영감을 받아 개발된 모형개발 프로세스(Model Development Process) [1]를 활용하여 예측모형 개발 전반 과정을 현대화시킬 수 있다.
library(tidyverse)
library(slickR)
library(pdftools)
MDP_pdf <- pdf_convert("data/ModelDevelopmentProcess.pdf", format = 'png',verbose = FALSE)
논문이 그리 길지 않기 때문에 전체 PDF 파일을 다운로드 받아 PNG 파일로 변환시키고 나서 이를 회전목마처럼 중요부분을 일별할 수 있게 만들어보자.
소프트웨어 개발 프로세스에서 많은 부분 차용을 해왔으며, 특히 예측모형 개발 전반을 다루는 거의 유일한 모형 개발 방법론이 아닐까 싶다.
MDPverse
모형 개발과정을 크게 4단계(Problem formulation, Crisp Modeling, Fine tuning, Maintaining and decommissioning)로 나누고 각 단계별로 총 5개의 세부 추진 업무(Data preparation, Data understanding, Model assembly, Model audit, Model delivery)를 나열하고 있다.
탐색적 데이터 분석(Explanatory Data Analysis, EDA)과 마찬가지로 탐색적 모형 분석(Explanatory Model Analysis, EMA)과정에 더해서 최근 각광받고 있는 문법(grammar)도 추가된 Dr Why가 제시되었다. 크게 다음과 같은 세가지 과정을 거치게 된다.
한걸음 더 들어가게 되면 DrWhy 체계는 모형공장(Model Factory)와 데이터를 입력값으로 받아 DALEX2가 모형 어댑터로 다양한 예측모형을 explain()
, predict()
, loss_function()
을 활용하여 표준화시켜 탐색적 모형 분석을 가능하게 한다.
Przemyslaw Biecek 와 Tomasz Burzykowski이 저술한 Explanatory model analysis: Explore, explain and examine predictive models 책을 기준으로 펭귄 성별 예측을 시도해보자.
modelStudio
Interactive Studio for Explanatory Model Analysis 포함된 내용을 간략히 살펴보자.
library("DALEX")
library("modelStudio")
# fit a model
model <- glm(survived ~., data = titanic_imputed, family = "binomial")
# create an explainer for the model
explainer <- explain(model,
data = titanic_imputed,
y = titanic_imputed$survived,
label = "Titanic GLM")
Preparation of a new explainer is initiated
-> model label : Titanic GLM
-> data : 2207 rows 8 cols
-> target variable : 2207 values
-> predict function : yhat.glm will be used ( [33m default [39m )
-> predicted values : numerical, min = 0.008128381 , mean = 0.3221568 , max = 0.9731431
-> model_info : package stats , ver. 4.0.1 , task classification ( [33m default [39m )
-> residual function : difference between y and yhat ( [33m default [39m )
-> residuals : numerical, min = -0.9628583 , mean = -2.569728e-10 , max = 0.9663346
[32m A new explainer has been created! [39m
1. Biecek P. Model development process. arXiv preprint arXiv:190704461. 2019.
2. Biecek P, Burzykowski T. Explanatory model analysis: Explore, explain and examine predictive models. 2020.
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com