수많은 런타임 환경에 모델과 의사 결정을 쉽게 배포할 수 있습니다.
그러나 모델이 생성된 후에는 모델 수명 주기가 끝나지 않습니다. 오히려 이는 모델 모니터링 및 분석의 중요한 단계의 시작에 불과합니다.
이러한 요구는 SAS 모델과 오픈 소스 및 PMML(Predictive Model Markup Language) 모델로 확장됩니다.
모델의 수명에는 세 가지 주요 단계가 있습니다. 1) 데이터 준비, 2) 비즈니스 운영 데이터 대상에 맞게 변환 후 로드, 3) 비즈니스 분석 및 발견 단계에서는 통계 및 기계 학습 모델이 개발됩니다.
마지막 세 번째 단계인 3) 비즈니스 분석 및 발견 단계에서는 패턴에 대한 통찰력을 얻고 비즈니스에 영향을 미치는 트렌드를 배포 단계에서 해당 모델이 사용됩니다.
Data Scientist 는 예측 또는 분류를 위한 좋은 모델을 구성하는 데 몇 주를 보낼 수 있습니다.
또한 좋은 모델을 생성하기 위해서는 통계, 기계 학습 또는 딥 러닝 기술을 사용합니다.
기존 프로세스에 대한 통찰력과 추론을 제공하거나 기반으로 결과를 예측할 수도 있습니다.
이렇게 생성된 모델은 automated decision-making system으로 신용 점수를 기반으로한 대출 여부, 사기와 같은 의사 결정 시스템 탐지, 로봇 프로세스 자동화 및 기타 수백 가지 애플리케이션 등으로 활용할 수 있습니다.
예측 모델의 구축은 종종 모델 훈련(predictive model)이라고 하며 일반적으로 저장된 이력 데이터가 있는 개발 환경에서 생성됩니다.
모델 훈련의 결과는 새로운 데이터 값으로 예측하는 데 사용할 수 있는 고정 함수로 사용됩니다.
대부분의 모델의 핵심 구성 요소는 이러한 예측을 수행하기 위해 평가할 수 있는 score code입니다. Model scoring은 모델 배포의 핵심 기능입니다. Score Code는 일반적으로 아래의 형식을 사용합니다.
■ SAS Procedures
proc reg data= train outest=model;
model bad= debtinc ninq clage clno;
output out=scores;
run ; quit ;
출력 문의 원래 형식은 종속 열의 누락된 값을 모델을 기반으로 하는 새 예측 값으로 대체합니다.
proc score data=train score=model out=scores type=parms;
var debtinc ninq clage clno;
run;
나중에 일반화된 선형 모델 형식을 가진 모델에 점수를 매기기 위해 점수 절차가 도입되었습니다.
모델을 다시 만들 필요 없이 나중에 scoring에 사용하기 위해 모델을 저장할 수 있습니다.
proc logistic data= train;
class bad;
model bad= debtinc ninq clage clno;
score data= production out=scores;
run;
Score 문은 모델 훈련에 포함되지 않은 별도의 입력 및 출력 데이터 세트를 수용하기 위해 proc Logistic과 같은 일부 절차에 도입되었습니다.
SAS® Enterprise Miner®는 Data step에 score code 개념을 도입했습니다.
SAS procedures에서 Score code를 생성하기 위해 code statement를 포함하도록 개선되었습니다. 아래의 코드는 SAS data step 단계에서 score code 생성하는 syntax입니다.
proc logistic data= train;
class bad;
model bad= debtinc ninq clage clno;
code file= 'c:\temp\scorecode.sas';
run;
이 양식에는 몇 가지 주요 장점이 있습니다.
사용자는 functional form을 쉽게 볼 수 있으며 여러 가지 방법으로 결과를 재현할 수 있습니다.
여러 가지 시험 코드는 수정 및 확장될 수 있고 사용자가 추가할 수 있습니다.
누락된 값 처리와 같은 전처리 데이터 준비를 위한 논리 또는 binning 및 모델 비교 또는 의사결정 생성과 같은 사후 처리용 변수 데이터 단계 코드의 일부가 아래에 나와 있습니다
… snip …
*** Effect: DEBTINC;
_LP0 = _LP0 + (-0.07795619150744) * DEBTINC;
*** Effect: NINQ;
_LP0 = _LP0 + (-0.11881501397556) * NINQ;
*** Effect: CLAGE;
_LP0 = _LP0 + (0.00596147711961) * CLAGE;
*** Effect: CLNO;
_LP0 = _LP0 + (-0.00263720328025) * CLNO;
*** Predicted values;
drop _MAXP _IY _P0 _P1;
_TEMP = 4.34723047453817 + _LP0;
if (_TEMP < 0) then do;
_TEMP = exp(_TEMP);
_P0 = _TEMP / (1 + _TEMP);
end;
… snip …
SAS는 interactive and operational system 을 위한 여러 scoring services를 제공합니다. 아래의 표는 score code와 score 매트릭스를 보여줍니다.
■ SAS
기존 SAS® 서버는 모든 유형의 score code를 실행할 수 있습니다. 또한, SAS는 대화식으로 실행할 수 있다는 장점이 있습니다.
Display Manager 또는 SAS® Studio®를 통해 대규모 테이블을 처리하는 일괄 작업을 실행할 수 있습니다.
■ CAS
SAS® Viya® CAS 서버는 복잡한 데이터 처리를 위한 빅데이터 인메모리 서버입니다.
CAS는 SAS 절차를 제외한 모든 score code 형식을 실행할 수 있습니다.
또한, 데이터 단계, DS2 및 데이터베이스 내 처리를 위한 작업 세트를 제공합니다
■ INDB
SAS In Database 프로세싱은 SAS 액세스 엔진의 기능입니다.
SAS® Viya®의 경우, Teradata 및 Hadoop(Hive 및 Spark)에 대해 In-Database 처리가 지원됩니다.
이 처리는 일반적으로 데이터베이스에 기본적으로 생성되는 큰 데이터 테이블을 처리하는 데 사용됩니다. 일반적으로 데이터베이스에 의한 프로세스인 스코어링 트랜잭션에는 적합하지 않습니다.
■ MAS
MAS(Micro Analytic Score) 서비스는 다음을 포함하는 표준 SAS® Viya® 마이크로 서비스로
모델 점수를 scoring 하고 REST 인터페이스를 제공합니다.
차세대 베스트 오퍼 또는 부정 행위 감지와 같은 자동화 애플리케이션에 사용됩니다. MAS는
SAS® Model Manager® 및 SAS® Intelligent Decision® 패키지와 함께 배포되었습니다.
■ ESP
SAS® ESP(Event Stream Processing®) 서버는 실시간 전용 운영 서버로고속 데이터 스트림을 처리하는 시스템입니다. 서버는 일반적으로 임베디드 분석 처리가 필요한 IOT 시스템에 사용됩니다. ESP가 감지되도록 프로그래밍할 수 있습니다.
패턴 및 실행 작업(모델 스코어링 포함)을 수행할 수 있습니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.