다음을 통해 공유


R 언어 모듈

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

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

참고

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

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

또한 이 문서에서는 Machine Language Studio(클래식)에서 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 작업 영역은 각각 서로 다른 요구 사항에 최적화된 두 가지 종류의 채점 작업을 지원합니다. 일반적으로 실험을 빌드할 때 파일별로 채점을 사용합니다. 일반적으로 웹 서비스의 일부로 점수를 매기는 경우 매우 빠른 채점을 위해 RRS(요청 응답 서비스)를 사용합니다.

R 패키지 및 버전 지원

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

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

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

버전당 패키지 목록

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

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

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

중요

Machine Language Studio(클래식)에서 지원되는 패키지는 자주 변경됩니다. R 패키지가 지원되는지에 대한 의문이 있는 경우 제공된 R 코드 샘플을 사용하여 현재 환경에서 패키지의 전체 목록을 가져옵니다.

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

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

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

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

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

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

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

R을 사용하여 열 분할

기능을 추출하기 위해 데이터를 광범위하게 조작해야 하는 경우가 있습니다. ID와 값 및 메모가 모두 공백으로 구분된 텍스트 파일이 있다고 가정해 보겠습니다. 또는 텍스트 파일에 Machine Language Studio(클래식)에서 지원하지 않는 문자가 포함되어 있다고 가정합니다.

이러한 작업에 대한 특수 기능을 제공하는 몇 가지 R 패키지가 있습니다. splitstackshape 라이브러리 패키지에는 각 열에 다른 구분 기호가 있더라도 여러 열을 분할하는 데 유용한 몇 가지 함수가 포함되어 있습니다.

다음 샘플에서는 필요한 패키지를 설치하고 열을 분할하는 방법을 보여 줍니다. 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 갤러리의 이 실험에서는 학습, 점수 매기기 및 평가를 수행하는 사용자 지정 R 모듈을 만드는 방법을 보여 줍니다.

R-Bloggers에 게시된 이 문서에서는 Machine Learning 고유한 평가 방법을 만드는 방법을 보여 줍니다.

R에 대한 추가 도움말

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

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

참고 항목