BookmarkSubscribeRSS Feed

[SAS 활용 노하우] Score Code part1

Started ‎06-19-2022 by
Modified ‎06-19-2022 by
Views 475

 

 

수많은 런타임 환경에 모델과 의사 결정을 쉽게 배포할 수 있습니다.

그러나 모델이 생성된 후에는 모델 수명 주기가 끝나지 않습니다. 오히려 이는 모델 모니터링 및 분석의 중요한 단계의 시작에 불과합니다.

이러한 요구는 SAS 모델과 오픈 소스 및 PMML(Predictive Model Markup Language) 모델로 확장됩니다.

 

 

image.png

 

모델의 수명에는 세 가지 주요 단계가 있습니다. 1) 데이터 준비, 2) 비즈니스 운영 데이터 대상에 맞게 변환 후 로드, 3) 비즈니스 분석 및 발견 단계에서는 통계 및 기계 학습 모델이 개발됩니다.

마지막 세 번째 단계인 3) 비즈니스 분석 및 발견 단계에서는 패턴에 대한 통찰력을 얻고 비즈니스에 영향을 미치는 트렌드를 배포 단계에서 해당 모델이 사용됩니다.

Data Scientist 는 예측 또는 분류를 위한 좋은 모델을 구성하는 데 몇 주를 보낼 수 있습니다.

또한 좋은 모델을 생성하기 위해서는 통계, 기계 학습 또는 딥 러닝 기술을 사용합니다.

기존 프로세스에 대한 통찰력과 추론을 제공하거나 기반으로 결과를 예측할 수도 있습니다.

이렇게 생성된 모델은 automated decision-making system으로 신용 점수를 기반으로한 대출 여부, 사기와 같은 의사 결정 시스템 탐지, 로봇 프로세스 자동화 및 기타 수백 가지 애플리케이션 등으로 활용할 수 있습니다.

 

 

 

 

Model Scoring 

 

예측 모델의 구축은 종종 모델 훈련(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 Data Step

 

 

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 …

 

 

 

 

 

 SCORING SERVICES

 

 SAS는 interactive and operational system 을 위한 여러 scoring services를 제공합니다. 아래의 표는 score code와 score 매트릭스를 보여줍니다.

 

 image (1).png

 

 

 

 

■ 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가 감지되도록 프로그래밍할 수 있습니다.

패턴 및 실행 작업(모델 스코어링 포함)을 수행할 수 있습니다.

Version history
Last update:
‎06-19-2022 08:13 AM
Updated by:
Contributors

sas-innovate-wordmark-2025-midnight.png

Register Today!

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.


Register now!

Article Labels
Article Tags