sp_rxPredict
적용 대상: SQL Server 2016(13.x) 이상 - Windows만 해당
SQL Server 데이터베이스의 이진 형식으로 저장된 기계 학습 모델로 구성된 지정된 입력에 대한 예측 값을 생성합니다.
R 및 Python 기계 학습 모델에 대한 점수를 거의 실시간으로 제공합니다. sp_rxPredict
는 C++로 작성된 저장 프로시저이며 점수 매기기 작업에 맞게 특별히 최적화됩니다. sp_rxPredict
는 다음을 위한 래퍼입니다.
함수 | 래퍼 |
---|---|
rxPredict R 함수 |
- RevoScaleR - MicrosoftML |
rx_predict Python 함수 | - revoscalepy - microsoftml |
R 또는 Python을 사용하여 모델을 만들어야 합니다. 그러나 직렬화되고 대상 데이터베이스 엔진 인스턴스에서 이진 형식으로 저장되면 R 또는 Python 통합이 설치되지 않은 경우에도 해당 데이터베이스 엔진 인스턴스에서 사용할 수 있습니다. 자세한 내용은 SQL Server의 sp_rxPredict 실시간 채점을 참조 하세요.
구문
sp_rxPredict ( @model , @input )
[ ; ]
인수
@model
지원되는 형식의 미리 학습된 모델입니다.
@input
유효한 SQL 쿼리입니다.
반환 값
점수 열은 물론 입력 데이터 원본의 통과 열도 반환됩니다.
알고리즘이 이러한 값의 생성을 지원하는 경우 신뢰도 간격과 같은 추가 점수 열을 반환할 수 있습니다.
설명
저장 프로시저를 사용하도록 설정하려면 인스턴스에서 SQLCLR을 사용하도록 설정해야 합니다.
참고 항목
이 옵션을 사용하도록 설정하는 데는 보안에 영향을 미칩니다. 서버에서 SQLCLR을 사용할 수 없는 경우 PREDICT(Transact-SQL) 함수와 같은 대체 구현을 사용합니다.
사용자에게 데이터베이스에 대한 권한이 필요합니다 EXECUTE
.
지원되는 알고리즘
모델을 만들고 학습하려면 SQL Server Machine Learning Services(R 또는 Python), SQL Server 2016 R Services, SQL Server Machine Learning Server(독립 실행형)(R 또는 Python) 또는 SQL Server 2016 R Server(독립 실행형)에서 제공하는 R 또는 Python에 대해 지원되는 알고리즘 중 하나를 사용합니다.
R: RevoScaleR 모델
1 모델은 함수를 사용하여 네이티브 채점을 지원합니다 PREDICT
.
R: MicrosoftML 모델
- rxFastTrees: 빠른 트리
- rxFastForest: 빠른 포리스트
- rxLogisticRegression: 로지스틱 회귀
- rxOneClassSvm: OneClass SVM
- rxNeuralNet: 신경망
- rxFastLinear: 빠른 선형 모델
R: MicrosoftML에서 제공하는 변환
- rxFastTrees: 빠른 트리
- concat: Machine Learning Concat 변환
- 범주: Machine Learning 범주 데이터 변환
- categoricalHash: Machine Learning 범주 해시 데이터 변환
- selectFeatures: Machine Learning 기능 선택 변환
Python: revoscalepy 모델
1 모델은 함수를 사용하여 네이티브 채점을 지원합니다 PREDICT
.
Python: microsoftml 모델
- microsoftml.rx_fast_trees: 강화된 트리
- microsoftml.rx_fast_forest: 임의 포리스트
- microsoftml.rx_logistic_regression: 로지스틱 회귀
- microsoftml.rx_oneclass_svm: 변칙 검색
- microsoftml.rx_neural_network: 신경망
- microsoftml.rx_fast_linear: 확률적 이중 좌표 상승이 있는 선형 모델
Python: microsoftml에서 제공하는 변환
- microsoftml.rx_fast_trees: 강화된 트리
- microsoftml.concat: 여러 열을 단일 벡터로 연결
- microsoftml.categorical: 텍스트 열을 범주로 변환
- microsoftml.categorical_hash: 텍스트 열을 범주로 해시 및 변환
지원되지 않는 모델 형식
다음 모델 형식은 지원되지 않습니다.
RevoScaleR에서
rxGlm
또는rxNaiveBayes
알고리즘을 사용하는 모델입니다.R의 PMML 모델
다른 타사 라이브러리를 사용하여 만든 모델입니다.
변환 함수 또는 변환이 포함된
A ~ log(B)
수식을 사용하는 모델은 실시간 채점에서 지원되지 않습니다. 이 형식의 모델을 사용하려면 데이터를 실시간 채점으로 전달하기 전에 입력 데이터에 대한 변환을 수행하는 것이 좋습니다.
실시간 채점은 인터프리터를 사용하지 않으므로 점수 매기기 단계에서 인터프리터가 필요할 수 있는 기능은 지원되지 않습니다.
예제
DECLARE @model =
SELECT @model
FROM model_table
WHERE model_name = 'rxLogit trained';
EXEC sp_rxPredict @model = @model,
@inputData = N'SELECT * FROM data';
유효한 SQL 쿼리일 뿐만 아니라 @inputData 입력 데이터에는 저장된 모델의 열과 호환되는 열이 포함되어야 합니다.
sp_rxPredict
는 다음과 같은 .NET 열 형식double
long
string
float
short
ushort
ulong
만 지원합니다. 실시간 채점을 위해 사용하기 전에 입력 데이터에서 지원되지 않는 형식을 필터링해야 할 수 있습니다.
해당 SQL 형식에 대한 자세한 내용은 SQL-CLR 형식 매핑 또는 CLR 매개 변수 데이터 매핑을 참조하세요.