R 언어 모듈

이 문서에서는 R 코드 실행을 지 원하는 Azure Machine Learning Studio (클래식)의 모듈을 나열 합니다. 이러한 모듈을 사용 하 여 R 모델을 프로덕션에 쉽게 게시 하 고 R 언어 커뮤니티의 경험을 사용 하 여 실제 문제를 해결할 수 있습니다.

참고

적용 대상: Machine Learning Studio (클래식)

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

또한이 문서에서는 컴퓨터 언어 스튜디오에서 R을 사용 하기 위한 몇 가지 일반적인 요구 사항에 대해 설명 하며, 알려진 문제 및 팁을 제공 합니다.

모듈 목록

R 언어 모듈 범주에는 다음 모듈이 포함 되어 있습니다.

R을 사용 하는 경우의 요구 사항

Machine Learning Studio (클래식)에서 R 스크립트를 사용 하기 전에 다음 요구 사항을 준수 해야 합니다.

  • CSV 또는 기타 형식을 사용 하는 데이터를 가져온 경우 R 코드에서 CSV 형식으로 직접 데이터를 읽을 수 없습니다. 대신 R 모듈에 대 한 입력으로 사용 하기 전에 데이터를 준비 하려면 데이터 집합으로 변환 을 사용 합니다.

  • 모든 Machine Learning 데이터 집합을 R 모듈에 입력으로 연결 하면 데이터 집합이 변수 이름 데이터 집합 을 사용 하 여 데이터 프레임으로 r 작업 영역에 자동으로 로드 됩니다.

    그러나 R 스크립트에서 추가 데이터 프레임을 정의 하거나 기본 데이터 집합 변수의 이름을 변경할 수 있습니다.

  • R 모듈은 개인 작업 영역 내에서 보호 되 고 격리 된 환경에서 실행 됩니다. 작업 영역 내에서 여러 모듈이 사용하는 데이터 프레임과 변수를 만들 수 있습니다.

    그러나 다른 작업 영역에서 R 데이터 프레임을 로드 하거나 다른 작업 영역에서 만든 변수는 Azure 세션에서 열려 있더라도 읽을 수 없습니다. 또한 Java 종속성이 있거나 직접 네트워크 액세스가 필요한 모듈은 사용할 수 없습니다.

R 점수 매기기 작업 최적화

Machine Learning Studio (클래식) 및 작업 영역 환경의 R 구현에는 두 가지 주요 구성 요소가 포함 됩니다. 한 구성 요소는 스크립트 실행을 조정 하 고 다른 하나는 고속 데이터 액세스 및 점수 매기기를 제공 합니다. 점수 매기기 구성 요소는 확장성과 성능을 향상 시킬 수 있도록 최적화 되어 있습니다.

따라서 Machine Learning Studio (클래식)의 R 작업 영역은 각각 서로 다른 요구 사항에 맞게 최적화 된 두 가지 종류의 점수 매기기 작업을 지원 합니다. 일반적으로 실험을 빌드할 때 파일 별로 점수 매기기를 사용 합니다. 일반적으로 웹 서비스의 일부로 점수를 매기는 경우 매우 빠른 점수 매기기를 위해 RR (요청 응답 서비스)을 사용 합니다.

R 패키지 및 버전 지원

Machine Learning Studio (클래식)에는 가장 인기 있는 R 패키지의 500 이상이 포함 되어 있습니다. 선택할 수 있는 R 패키지는 실험에 대해 선택한 R 버전에 따라 달라 집니다.

  • CRAN R
  • Microsoft R Open (MRO 3.2.2 또는 MRO 3.4.4)

실험을 만들 때마다 실험의 모든 모듈에 대해 실행할 단일 R 버전을 선택 해야 합니다.

버전별 패키지 목록

Machine Learning에서 현재 지원 되는 패키지 목록은 Azure Machine Learning에서 지 원하는 R 패키지를 참조 하세요.

실험에서 R 스크립트 실행 모듈에 다음 코드를 추가 하 고 실행 하 여 패키지 이름 및 버전이 포함 된 데이터 집합을 가져올 수도 있습니다. 원하는 환경에 맞는 올바른 목록을 생성 하려면 모듈 속성에서 R 버전을 설정 해야 합니다.

data.set <- data.frame(installed.packages())
maml.mapOutputPort("data.set")

중요

컴퓨터 언어 스튜디오 (클래식)에서 지원 되는 패키지는 자주 변경 됩니다. R 패키지가 지원 되는지 여부에 대 한 얻으려 하거나 있는 경우 제공 된 R 코드 샘플을 사용 하 여 현재 환경에 있는 패키지의 전체 목록을 가져올 수 있습니다.

R 언어를 사용 하 여 실험 확장

사용자 지정 R 스크립트를 사용하거나 R 패키지를 추가하여 여러 방법으로 실험을 확장할 수 있습니다. 시작 하는 데 도움이 되는 몇 가지 아이디어는 다음과 같습니다.

  • R 코드를 사용 하 여 사용자 지정 수학 연산을 수행 합니다. 미분 방정식을 풀거나, 난수를 생성하거나, 몬테카를로 시뮬레이션을 실행하는 데 사용되는 R 패키지를 예로 들 수 있습니다.

  • 데이터에 대 한 사용자 지정 변환을 적용 합니다. 예를 들어 R 패키지를 사용 하 여 시계열 데이터에 대 한 보간을 수행 하거나 언어 분석을 수행할 수 있습니다.

  • 다른 데이터 원본으로 작업 합니다. R 스크립트 모듈은 데이터 파일을 압축 형식으로 포함할 수 있는 추가 입력 집합을 지원 합니다. 이러한 데이터 원본 용으로 설계 된 R 패키지와 함께 압축 된 데이터 파일을 사용 하 여 계층적 데이터를 플랫 데이터 테이블로 평면화 할 수 있습니다. 이러한 데이터를 사용 하 여 Excel 및 기타 파일 형식에서 데이터를 읽을 수도 있습니다.

  • 평가에 사용자 지정 메트릭을 사용 합니다. 예를 들어 Evaluate에 제공 된 함수를 사용 하는 대신 R 패키지를 가져온 다음 해당 메트릭을 적용할 수 있습니다.

다음 예제에서는 실험에서 새 패키지를 설치 하 고 사용자 지정 R 코드를 사용 하는 방법에 대 한 전체 프로세스를 보여 줍니다.

R을 사용 하 여 열 분할

기능을 추출하기 위해 데이터를 광범위하게 조작해야 하는 경우가 있습니다. ID 뒤에 값과 메모를 포함 하는 텍스트 파일이 있고 모두 공백으로 구분 되어 있다고 가정 합니다. 또는 텍스트 파일에 컴퓨터 언어 스튜디오 (클래식)에서 지원 하지 않는 문자가 포함 되어 있다고 가정 합니다.

이러한 작업에는 특수 기능을 제공 하는 여러 R 패키지가 있습니다. Splitstackshape library 패키지에는 각 열에 다른 구분 기호가 있는 경우에도 여러 열을 분할 하는 데 유용한 여러 함수가 포함 되어 있습니다.

다음 샘플에서는 필요한 패키지를 설치 하 고 열을 분할 하는 방법을 보여 줍니다. R 스크립트 실행 모듈에이 코드를 추가 합니다.

#install dependent packages  
install.packages("src/concat.split.multiple/data.table_1.9.2.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.data.table <- library("data.table", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
install.packages("src/concat.split.multiple/plyr_1.8.1.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.plyr <- library("plyr", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
install.packages("src/concat.split.multiple/Rcpp_0.11.2.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.Rcpp <- library("Rcpp", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
install.packages("src/concat.split.multiple/reshape2_1.4.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.reshape2 <- library("reshape2", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
#install actual packages  
install.packages("src/concat.split.multiple/splitstackshape_1.2.0.zip", lib=".", repos = NULL, verbose = TRUE)  
(success.splitstackshape <- library("splitstackshape", lib.loc = ".", logical.return = TRUE, verbose = TRUE))  
  
#Load installed library  
library(splitstackshape)  
  
#Use library method to split & concat  
data <- concat.split.multiple(maml.mapInputPort(1), c("TermsAcceptedUserClientIPAddress", "EmailAddress"), c(".", "@"))  
  
#Print column names to console  
colnames(data)  
  
#Redirect data to output port  
maml.mapOutputPort("data")  

추가 리소스

사용자 지정 R 모듈을 빌드하는 방법을 설명 하는이 자습서부터 시작 합니다.

이 문서에서는 두 가지 점수 매기기 엔진 간의 차이점에 대해 설명 하 고 실험을 웹 서비스로 배포할 때 점수 매기기 방법을 선택할 수 있는 방법에 대해 설명 합니다.

Azure AI Gallery의이 실험에서는 학습, 점수 매기기 및 평가를 수행 하는 사용자 지정 R 모듈을 만드는 방법을 보여 줍니다.

R 블로거에 게시 된이 문서는 Machine Learning에서 사용자 고유의 평가 메서드를 만드는 방법을 보여 줍니다.

R에 대 한 추가 도움말

이 사이트에서는 키워드로 검색할 수 있는 범주화 된 패키지 목록을 제공 합니다.

추가 R 코드 샘플과 R 및 R의 적용과 관련된 도움말을 보려면 다음 리소스를 참조하세요.

참고 항목