MicrosoftML(SQL Server Machine Learning Services의 R 패키지)
적용 대상: SQL Server 2016(13.x) 이상 버전
MicrosoftML은 고성능 기계 학습 알고리즘을 제공하는 Microsoft의 R 패키지입니다. 여기에는 학습 및 변환, 점수 매기기, 텍스트 및 이미지 분석, 기존 데이터에서 값을 파생하기 위한 기능 추출을 위한 함수가 포함됩니다. 이 패키지는 SQL Server Machine Learning Services 및 SQL Server 2016 R Services에 포함되어 있으며, 다중 코어 처리 및 빠른 데이터 스트리밍을 사용하여 빅 데이터에 대한 고성능을 지원합니다. 또한 MicrosoftML에는 텍스트 및 이미지 처리를 위한 다양한 변환이 포함되어 있습니다.
전체 참조 설명서
MicrosoftML 패키지는 여러 Microsoft 제품에 배포되지만, 패키지를 SQL Server에서 가져오든 다른 제품에서 가져오든 사용 방식은 동일합니다. 함수는 동일하기 때문에 개별 RevoScaleR 함수 설명서는 R 참조 아래의 한 위치에만 게시됩니다. 제품별로 고유한 동작이 있는 경우 함수 도움말 페이지에 차이점이 표시됩니다.
버전 및 플랫폼
MicrosoftML 패키지는 R 3.5.2를 기준으로 하며, 다음 Microsoft 제품 또는 다운로드 중 하나를 설치한 경우에만 사용할 수 있습니다.
참고
전체 제품 릴리스 버전은 SQL Server 2017에서 Windows 전용입니다. Windows 및 Linux는 SQL Server 2019의 MicrosoftML에서 둘 다 지원됩니다.
패키지 종속성
MicrosoftML의 알고리즘은 다음에 대해 RevoScaleR에 따라 좌우됩니다.
- 데이터 원본 개체 MicrosoftML 함수에서 사용하는 데이터는 RevoScaleR 함수를 사용하여 생성됩니다.
- 원격 컴퓨팅(원격 SQL Server 인스턴스로 함수 실행 이동) RevoScaleR 패키지는 SQL Server에 대한 원격 컴퓨팅 컨텍스트를 만들고 활성화하는 함수를 제공합니다.
대부분의 경우 MicrosoftML을 사용할 때마다 패키지를 함께 로드하게 됩니다.
범주별 함수
이 섹션에서는 사용 방법에 대한 이해를 돕기 위해 각 함수를 범주별로 구분해서 제공합니다. 목차를 사용하여 사전순으로 함수를 찾을 수도 있습니다.
1 - 기계 학습 알고리즘
함수 이름 | Description |
---|---|
rxFastTrees | FastRank의 구현으로, MART 경사 부스팅 알고리즘의 유효 구현을 나타냅니다. |
rxFastForest | rxFastTrees를 사용하는 임의 포리스트 및 분위 회귀 포리스트 구현입니다. |
rxLogisticRegression | L-BFGS를 사용하는 로지스틱 회귀입니다. |
rxOneClassSvm | 1 클래스 지원 벡터 컴퓨터입니다. |
rxNeuralNet | 이진, 다중 클래스 및 회귀 신경망입니다. |
rxFastLinear | 선형 이진 분류 및 회귀에 대한 확률 이중 좌표 경사 최적화입니다. |
rxEnsemble | 단일 모델에서 얻을 수 있는 것보다 더 나은 예측 성능을 얻기 위해 다양한 종류의 모델을 학습합니다. |
2 - 변환 함수
함수 이름 | Description |
---|---|
concat | 여러 열에서 단일 벡터 값 열을 만드는 변환입니다. |
categorical | 사전에서 범주별 변형을 사용하여 표시기 벡터를 만듭니다. |
categoricalHash | 해시를 통해 범주 값을 표시기 배열로 변환합니다. |
featurizeText | 지정된 텍스트 모음에서 n 그램이라고 하는 연속된 수의 단어 시퀀스 모음을 생성합니다. 언어 검색, 토큰화, 중지 단어 제거, 텍스트 정규화 및 특성 생성을 제공합니다. |
getSentiment | 자연어 텍스트의 점수를 매기고, 텍스트의 감정 점수가 양수인 확률을 포함하는 열을 만듭니다. |
ngram | 개수 기반 및 해시 기반 기능 추출을 위한 인수를 정의할 수 있습니다. |
selectColumns | 다시 학습할 열 세트를 선택하고 다른 모든 열은 삭제합니다. |
selectFeatures | 지정된 모드를 사용하여 지정된 변수에서 특성을 선택합니다. |
loadImage | 이미지 데이터를 로드합니다. |
resizeImage | 지정된 크기 조정 메서드를 사용하여 지정된 차원으로 이미지의 크기를 조정합니다. |
extractPixels | 이미지에서 픽셀 값을 추출합니다. |
featurizeImage | 미리 학습된 심층 신경망 모델을 사용하여 이미지를 특성화합니다. |
3 - 점수 매기기 및 학습 함수
함수 이름 | Description |
---|---|
rxPredict.mlModel | SQL Server에서 저장 프로시저를 사용하거나, R 코드에서 점수 매기기 라이브러리를 실행하여 실시간 점수 매기기를 통해 훨씬 더 빠른 예측 성능을 제공합니다. |
rxFeaturize | 입력 데이터 세트의 데이터를 출력 데이터 세트로 변환합니다. |
mlModel | Microsoft R Machine Learning 모델에 대한 요약을 제공합니다. |
4 - 분류 및 회귀에 대한 손실 함수
함수 이름 | Description |
---|---|
expLoss | 지수 분류 손실 함수에 대한 사양입니다. |
logLoss | 로그 분류 손실 함수에 대한 사양입니다. |
hingeLoss | 힌지 분류 손실 함수에 대한 사양입니다. |
smoothHingeLoss | 매끄러운 힌지 분류 손실 함수에 대한 사양입니다. |
poissonLoss | 포아송 회귀 손실 함수에 대한 사양입니다. |
squaredLoss | 제곱 회귀 손실 함수에 대한 사양입니다. |
5 - 특성 선택 함수
함수 이름 | Description |
---|---|
minCount | 개수 모드에서 특성 선택에 대한 사양입니다. |
mutualInformation | 상호 정보 모드에서 특성 선택에 대한 사양입니다. |
6 - 앙상블 모델링 함수
함수 이름 | Description |
---|---|
fastTrees | rxEnsemble을 사용하여 빠른 트리 모델을 학습하기 위한 함수 이름과 인수를 포함하는 목록을 만듭니다. |
fastForest | rxEnsemble을 사용하여 빠른 포리스트 모델을 학습하기 위한 함수 이름과 인수를 포함하는 목록을 만듭니다. |
fastLinear | rxEnsemble을 사용하여 빠른 선형 모델을 학습하기 위한 함수 이름과 인수를 포함하는 목록을 만듭니다. |
logisticRegression | rxEnsemble을 사용하여 로지스틱 회귀 모델을 학습시키기 위한 함수 이름과 인수를 포함하는 목록을 만듭니다. |
oneClassSvm | rxEnsemble을 사용하여 OneClassSvm 모델을 학습하기 위한 함수 이름과 인수를 포함하는 목록을 만듭니다. |
7 - 신경망 함수
함수 이름 | Description |
---|---|
optimizer | rxNeuralNet 기계 학습 알고리즘에 대한 최적화 알고리즘을 지정합니다. |
8 - 패키지 상태 함수
함수 이름 | Description |
---|---|
rxHashEnv | 패키지 전체 상태를 저장하는 데 사용되는 환경 개체입니다. |
MicrosoftML 사용 방법
MicrosoftML의 함수는 저장 프로시저에서 캡슐화된 R 코드에서 호출할 수 있습니다. 대부분의 개발자는 MicrosoftML 솔루션을 로컬로 빌드한 다음, 완성된 R 코드를 배포 연습으로 사용하기 위해 저장 프로시저로 마이그레이션합니다.
R용 MicrosoftML 패키지는 SQL Server 2017에 "기본적으로" 설치됩니다.
패키지는 기본적으로 로드되지 않습니다. 첫 번째 단계로 MicrosoftML 패키지를 로드한 다음, 원격 컴퓨팅 컨텍스트 또는 관련된 연결 또는 데이터 원본 개체를 사용해야 하는 경우 RevoScaleR을 로드합니다. 그런 다음, 필요한 개별 함수를 참조합니다.
library(microsoftml);
library(RevoScaleR);
logisticRegression(args);