MicrosoftML(SQL Server Machine Learning Services의 R 패키지)

적용 대상: SQL Server 2016(13.x) 이상

MicrosoftML은 고성능 기계 학습 알고리즘을 제공하는 Microsoft의 R 패키지입니다. 여기에는 학습 및 변환, 점수 매기기, 텍스트 및 이미지 분석, 기존 데이터에서 값을 파생하기 위한 기능 추출을 위한 함수가 포함됩니다. 이 패키지는 SQL Server Machine Learning ServicesSQL 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 2019MicrosoftML에서 둘 다 지원됩니다.

패키지 종속성

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);

참고 항목