BookmarkSubscribeRSS Feed

[SAS 활용 노하우] Score Code part1

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

 

 

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

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

이러한 요구는 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

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Article Labels
Article Tags