Building Predictive Models in R Using the caret Package :: PART03

Max Kuhn Pfizer Global R&D


CONTENTS

  1. 1. Introduction
  2. 2. An illustrative example
  3. 3. Data preparation
  4. 4. Building and tuning models
  5. 5. Prediction of new samples
  6. 6. Characterizing performance
  7. 7. Regression models
  8. 8. Other modeling functions
  9. 9. Predictor importance
  10. 10. Parallel processing
  11. 11. Summary


6. Characterizing performance

caret은 또한 분류 모델의 성능을 설명할 수 있는 몇몇의 기능을 포함한다. 분류 모델에서, 이 기능은 sensitivity(민감점), specificity(특이점), posPredValue(바른 예측값), negPredValue(틀린 예측값) 은 2개의 분류에서 성능을 특징 짓는데 사용할 수 있다. 기본적으로, 출력 펙터의 첫번째 수준은, 비록 변경 가능하지만 바른(positive) 결과를 정의하는데 사용된다.
confusionMatrix 함수는 분류 모델을 위한 다양한 요약을 계산하기 위해 사용된다. 예를 들어 검증 집합에서 서포트 벡터 머신(support vector machine)의 성능 정보에 접근할 수 있다.
R> svmPred <- subset(testValues, model == "svmRadial")
R> confusionMatrix(svmPred$pred, svmPred$obs)
Loading required package: class
Confusion Matrix and Statistics

           Reference
Prediction mutagen nonmutagen
mutagen       528         102
nonmutagen     72         381

           Accuracy : 0.8393
             95% CI : (0.8161, 0.8607)
No Information Rate : 0.554
P-Value [Acc > NIR] : 6.196e-89

              Kappa : 0.6729
     
        Sensitivity : 0.88
        Specificity : 0.7888
     Pos Pred Value : 0.8381
     Neg Pred Value : 0.8411
관측되고 예측된 값의 교차-테이블을 추가되고, 다양한 통계량이 계산되었다. 정밀도의 신뢰 구간은 binom.test를 사용하여 기본 이항 신뢰 구간 방법(default binomial con dence interval method)을 이용했다.
출력에서 보여주는 "no-information rate"는 관측된 분류의 가장 큰 확률이다(테스트 집합에서 비돌연변이 보다 돌연변이가 더 많다). 일방항 가설 검증은 정밀도 전체에 대해 가장 큰 분류의 비 보다 큰 지를 추정하기 취해 계산되었다. Kappa 처럼, 분류 사이에 큰 불균형이 있는 데이터셋에서 도움을 준다.
세 개 또는 더 많은 분류가 있을 때, confusionMatrix는 혼동 메트릭스와 "하나-대-전체"의 결과의 집합을 보여 줄 것이다. 예를 들어, 세 개의 분류 문제에서, 첫번째 분류의 민감점은 두번째와 세번째에서 모든 표본에 대해 계산한다. Receiver operating characteristic (ROC, 수신자 동작 특성, wiki 참조) 곡선은 caret 패키지를 사용하여 계산된다. roc 함수는 숫자 점수(등수)와 참인 분류 라벨의 펙터 변수를 입력으로 받는다.
숫자 데이터의 큰 값들은 표본은 펙터의 첫번째 수준(기준, level)에서 온 가능성이 높음을 나타낸다. 예로써, "돌연변이(mutagen)" 분류와 관측된 분류와 연관된 분류 확률은 이러한 데이터에 ROC 곡선을 계산한데 이용 될 수 있다(mutagen은 svmProb$obs에 첫번째 펙터의 수준(기준, level)). 예를 들면, 아래의 코드에서, svmProb$mutagen은 돌연변이(mutagen) 분류 확률을 가진다.
R> svmProb <- subset(testProbs, model == "svmRadial")
R> svmROC <- roc(svmProb$mutagen, svmProb$obs)
R> str(svmROC)
num [1:1083, 1:3] NA 0.00352 0.00401 0.00460 0.00589 ...
- attr(*, "dimnames")=List of 2
 ..$ : NULL
 ..$ : chr [1:3] "cutoff" "sensitivity" "specificity"
결과는 중단하기 위한 컬럼이 가지는 메트릭이다(민감점과 특이점). 이것들은 검증 집합을 위한 ROC 곡선을 만드는데 사용될 수 잇다. aucRoc 함수는 곡선의 통계량 아래의 단순 영역을 계산하는데 사용한다(사다리꼴 규칙을 통해).

7. 회귀 모델(Regression models)

회귀 모델을 구축하기 위해 train을 사용하는 것은 이전 섹션에서 보여 준 것처럼 거의 정확하게 같은 과정을 거친다. 회귀 모델에서, 성능은 정확도와 카파 통계량 대신에 루트 평균 제곱 에러(root mean squared error)와 R2를 이용하여 계산된다. 어째든 많은 모델에서 모델 자유도의 개념이 없고(랜덤 포레세트(random forests) 같이) 혹은 훈련 집합 보다 더 많은 변수가 존재한다. 이런 값들이 주어졌을 때, train은 성능 값을 계산할 대 자유도를 무시한다. 예를 들어, R2를 계산하기 위해, 상관 계수는 관측되거나 예측된 값과 제곱 간에 계산된다. 모델을 비교할 때는, 성능 메트릭스는 같은 척도가 될 것이고, 그러나 이런 메트릭스는 모델 복잡도에 영향을 주지 않고(조정된 R2 역할 처럼) 비슷한 모델에서 더 복잡한 적합(fit)을 잘 하는 경향이 있다.
다중 적응 회귀 곡선(MARS) 모델에서, earth 패키지(Milborrow 2007)는 mars 또는 earth 모델 타입이 요구될 때 사용된다. train에 사용되는 훈련 변수는 degree 와 nprune 이다. nk 변수는 자동으로 명확하게 되지 않고 earth 함수에서 기본값을 사용한다. 예를 들면, 40개의 예측자를 가진 훈련 집합을 가정하면 degree = 1 이고 nprune = 20인 MARS 모델이 이용된다. nk = 41 인 초기 모델이 적합(fit)되고 20개의 조건으로 가지치기 된다. 이 숫자는 교차점이 포함되고 그리고 짝(pairs) 대신에 "단독(singleton)" 조건을 포함한다. 대체 모델 훈련 스킴은 earth 함수에 nk 그리고/또는 pmethod가 전달되어 이용한다.
caret은 다양한 모델과 데이터 셋을 위해 관측된 응답 대 예측된 값의 라티스 플롯(lattice plot)을 그리는 plotObsVsPred 함수를 가진다.

8. 다른 모델 함수(Other modeling functions)

패키지는 다른 모델 함수들을 포함한다. knn3 함수는 예측 함수가 (단지 선택된 분류 대신에) 각각의 분류에 대한 선택 확률을 돌려주는 MASS 패키지(Venables and Ripley 2002)에서 knn을 복제했다. 또한 MARS의 배깅된(bagged) 버전과 유연한 판별 분석(FDA, exible discriminant analysis) 모들델 만드는 함수들이 있다. bagEarth 와 bagFDA, 이러한 두개의 함수는 통합된 특징 선택을 가지고 있는 더 부드러운 예측 함수/결정 경계를 만든다. 다른 함수, plsda 는, 부분 최소 제곱 판별 분석(partial least squares discriminant analysis, Barker and Rayens 2003) 모델을 구축한다. 이러한 경우에, 메트릭은 pls 패키지의 pls 함수를 입력으로 사용된다. 예측 함수는 저순위 모델 예측, (softmax 방정식을 사용하여 계산된)분류 확률, 또는 분류 예측을 만드는데 사용된다.

9. 예측자의 중요성(Predictor importance)

일반 함수 varImp는 모델에서 예측자들의 일반적인 효과를 구별하는데 사용한다. varImp 함수는 다음의 객체 분류로 작동된다: lm, mars, earth, randomForest, gbm, mvr (pls 패키지), rpart, RandomForest (party 패키지), pamrtrained, bagEarth, bagFDA, classbagg 그리고 regbagg. varImp는 또한 훈련 함수에 의해 생성된 객체를 가지고 동작한다. 그러나 이것은 앞의 목록의 구별 가능한 모델로 단순하게 쌓여 있다. 각 모델은 다르계 예측자 중요성을 특징을 가짐:
  • 선형 모델(Linear models): 각 모델에서 사용된 t 통계량의 절대값.
  • 램덤 포레스트(Random forest from Liaw and Wiener (2002)): "각 모델 트리에서, 데이터의 out-of-bag 부분(예측에 사용되지 않는 집합)의 예측 정밀도가 기록된다. 그러면 같은 작업(예측 정밀도의 기록)은 각 예측 변수를 치환한 후 완료된다. 두 정밀도 간 차이는 모든 트리에서 평균을 내고, 표준 에러에 의해 정규화 된다. 회귀에서, MSE는 각 트리를 위해 out-of-bag 데이터에서 계산되고, 그러면 변수를 치환한 후에 MSE는 계산된다. 이 차이는 표준 에러에 대한 평균화와 정규화이다. 만약 표준에러가 변수에서 0 이면, (트리) 분할은 행하지 않는다. "
    varImp.randomForest는 단순히 그 패키지의 importance 함수를 둘러 쌓다. 비슷하게 RandomForest 객체에서는, varImpparty 패키지의 varimp 감쌌다.
  • 부분 최소 제곱(Partial least squares): 변수 중요성 평가는 여기에서는 절대 회귀 계수의 가중치의 합에 근거한다. 가중치는 PLS 성분의 수 전체에서 제곱합 감소의 함수이고, 각 결과에서는 개별적으로 계산된다. 그러므로 계수의 분포는 제곱합에서 감소에 대해 확률적으로 가중되었다.
  • 재귀 분할(Recursive partitioning): 각 분할에서 개개의 변수에 영향을 주는 손실 함수의 감소는(e.g., 평균 제곱 에러) 테이블로 만들고, 합이 반환된다. 또한, 중요하지만 사용되지 않는 후보 변수가 있을 수 있기 때문에, 상위 경쟁 변수는 각 분할에서 테이블로 만든다. 이것은 rpart.control에 maxcompete 변수를 사용하여 동작하지 않게 할 수 있다. 이 함수는 응답이 펙터일 때 분류-특징 특성을 지금은 제공하지 않는다.
  • 배깅 트리(Bagged trees): 싱글 트리처럼 같은 메소드가 모든 부트스트랩 트리에 적용되고, 전체 중요도가 리턴된다.
  • 부스트 트리(Boosted trees): 이 메소드는 싱글 트리처럼 접근한다. 그러나 각 부스팅 반복의 중요도를 합한다(see Ridgeway 2007).
  • 다중 적응 회귀 곡선(Multivariate adaptive regression splines): MARS 은 GCV(the generalized cross-validation, 정규 교차 검증) 추정 에러에서 감소를 보기 위한 역방향 특징 선택 루틴을 가진다. varImp는 각 예측자를 위해 GCV 같은 값들이 모델에서 변화를 추적한다. 그리고 각 예측자의 특성이 모델에 추가될 때 통계량의 감소를 축척한다. 전체 감소는 변수 중요도 측정처럼 사용된다. 만약 예측자가 MARS의 기본 함수의 어떤 곳에서 결코 사용되지 않는다면, 그 값은 0의 중요도 값을 가진다. MARS 모델에서 변수 중요도를 추정하기 위해 사용할 수 있는 세 개의 통계량이 있다. varImp(object, value= "gcv") 사용은 조건이 추가된 generalized cross-validation statistic(정규 교차 검증 통계량)의 감소의 기록을 보여준다. 또한 varImp(object, value = "grsq") 옵션은 차단 전용 모델에 대한 각 모델의 GCV 통계량을 비교한다. 어째튼, GCV가 증가하는 모델에서 조건을 가지는 어떤 경우가 있다. MARS의 중요도 값이 음수 변수는 작은 값으로 놓는다. 대안으로 varImp(object, value = "rss") 사용은 절대 음수가 될 수 없는, 추가된 조건으로 RSS(잔차 제곱 합, residual sums of squares) 변화를 모니터한다
  • Bagged MARS and FDA: 이런 객체에서, 중요도는 각 bagged model 모델을 위한 MARS/earth 모델 함수(이전에 설명한 것처럼)를 사용하여 계산된다. 중요도 전체에서 백된(bagged) 결과를 집계한다.
  • 최근접 축소 중심 모델(Nearest shrunken centroid models): 각 분류의 중앙과 전체 중앙의 차이는 변수의 영향을 측정하는데 사용된다(pamr.predict 참조). 분류의 중앙과 데이터 전체의 중앙 간 클수록, 분류 간 분리가 더 크다. 훈련 집합 예측은 클래스 pamrtrained의 객체가 varImp 에 주어 졌을 때 제공된다.
돌연변이 혼합물 예에서, 우리는 어느 예측자가 모델에 가장 큰 영향을 주는 지 평가 할 수 있다.

R> gbmImp <- varImp(gbmFit, scale = FALSE)
R> gbmImp
gbm variable importance

  only 20 most important variables shown (out of 650 )

            Overall
piPC09      115.80
PCR         102.16
MATS1p      58.24
N.078       49.45
AMW         48.51
nR03        45.54
nN.         40.85
Mor12m      38.89
O.057       37.93
MAXDN       35.07
R2u.        29.03
R3e         28.06
ClogP       27.53
N.069       26.30
Ms          26.14
D.Dr03      25.96
BELm1       25.32
Mor24m      24.38
RDF040m     22.36
T.N..N.     22.34

상위 2개의 설명 변수, order 09 의 분자의 다중 경로 수와 경로 수에 대한 다중 경로 수의 비, 다른 설명 변수와 비교해서 큰 기여도를 가진다. 이런 2개의 설명 변수는 (비슷한 기저 메케니즘(underlying mechanisms)으로 측정 할 수 있는 것을 나타내는) 0.76의 상관관계를 가진다. 이 예에서, 어떤 트리에서든 어떤 분할에서도 사용되지 않는 중요도 값이 0을 가지는 218개의 예측자(예측 변수)가 있다.
varImp 의 plot method는 예측 변수가 높은 중요도에서 낮은 중요도로 정열한 중요도 변수의 "바늘 플롯(needle plot)"을 생성하여 보여준다. Figure 3는 부스티드 트리 모델(boosted tree model)의 예를 제공한다.
Figure 3: A needle plot of the 부스티드 트리(boosted tree) 변수의 중요 값들의 바늘 플롯(plot(varImp(gbmFit), top = 20)).
모델 기반 접근법 사용의 이점은 모델 성능에 더 가깝게 연결되고, 중요도는 중요도 계산에 예측 변수 간 상관관계 계산을 통합할 수 있다. 중요도가 어떻게 계산되는지는 상관 없음:
  • 대부분의 분류 모델에서는, 각 예측 변수는 각 분류의 분리 변수 중요도를 가진다(FDA, classification trees, trees and boosted trees 는 제외).
  • 모든 중요도 측정은 varImp.train 의 척도 변수를 FALSE로 설정하지 않는다면(위 예제처럼), 최대값 100으로 척도 변환 된다.
만약 중요도를 추정하기 위해 모델-특성 방법을 사용하지 않으면, 각 예측 변수의 중요도는 "필터" 접근법을 사용하여 개별적으로 계산 할 수 있다. 이러한 접근은 위 리스트에 포함되지 않은 모델을 위해서든 혹은 varImp.train에 useModel = FALSE를 사용하든지 varImp.train 을 사용하여 대부분 접근 한다.
분류 모델에서, ROC 곡선 분석은 각 예측 변수에서 수행 된다. 2개의 분류 문제에서(two class problems), 일련의 컷오프는 분류를 예측하기 위한 예측 변수 데이터에 적용된다. 민감점(sensitivity)과 특이점(specificity)은 각 컷오프에 대해 계산되고 그리고 ROC 곡선도 계산된다. 사다리꼴 규칙은 ROC 곡선 아래의 영역을 계산하기 위해 사용된다. 이 영역은 변수 중요도를 측정 처럼 사용 된다. 다중-분류(multi-class) 출력에서, 문제는 모두 짝 문제(all pairwise problems)로 분해되고 그리고 ROC 곡선 아래의 영역은 각 분류 짝에서 계산된다(i.e., class 1 vs. class 2, class 2 vs. class 3 etc.). 특별한 분류를 위해, 관련 있는 짝 AUC's 에서 곡선 아래의 최대 영역은 변수 중요도 측정 처럼 사용된다.
Figure 4 는 3개의 분류를 위한 이 접근법의 가상의 예를 보여 준다. 이 예측 변수에, ROC 곡선 아래의 영역과 함께, 3개의 ROC 곡선이 계산된다. class 1 예측 변수의 중요도를 계산하기 위해 이 클래스에 관계된 2개의 AUC의 최대값이 계산된다(0:98 = max(0:98; 0:69)). 다른 말로, 이 예측 변수는 적어도 하나의 분류에 중요하다. 예측 변수 classes 2 와 3 의 중요도는 각각 0.92 와 0.98 이다. 회귀에서는, 각 예측 변수와 출력 간의 관계가 평가 된다. 아규먼트 nonpara는, 모델 적합 기술(model fitting technique)을 선택하기 위해 사용한다. nonpara = FALSE 일 때, 선형 모델은 적합되고 그리고 예측 변수의 기울기로 t-값의 절대값이 사용된다. 그렇지 않은 경우, loess smoother가 출려과 예측 변수 간에 적합된다. R2 통계량은 실패한 오로지 null 모델에 대해서 이 모델을 위해 계산된다(원문, The R2 statistic is calculated for this model against the intercept only null model). 이 숫자는 변수 중요도 연관 측정 처럼 리턴된다.
Figure 4: 예, ROC 곡선을 사용하는 분류 모델의 예측자의 중요성을 구별하는 model-free 기술(technique). 각각의 짝 ROC 곡선은 계산되고 그리고 각각의 분류에서 최대 AUC가 계산되었다.

10. 병렬 처리(Parallel processing)

만약 모델이 재표본을 사용하여 튜닝한다면, 모델 적합의 수는 튜닝 조합의 증가의 수에 따라 크게 될 것이다. 훈련 시간을 줄이기 위해, 별렬 처리가 사용 될 수 있다. 예를 들면, Section 4에서 서포트 벡터 머신의 훈련을 위해, 각 5개의 후보 모델은 200개의 분할된 부트스트랩 표본에서 적합된다. 각 부트스트랩 표본은 다른 표본과 독립적이다. 이러한 1,000개 모델은 병렬로 계산 될 수 있다(교차 검증의 다른 특징에서도 적용됨).
NetWorkSpaces (Scienti c Computing Associates, Inc. 2007)는 다중 프로세서가 지원되었을 때 병렬처리 도구의 소프트웨어 시스템이다. caret의 R 패키지 자매, caretNWS로 불림, 동시에 다중 모델을 만들기 위해 NetWorkSpaces 를 이용한다. 후보 모델은 변수 조절하는 동안 재표본 작업을 수행 할 때, 재표본된 데이터 셋은 하나의 머신이나 혹은 네트워크된 컴퓨터의 프로세서인 다른 "작업자"에서 거의 동일한 크기의 배치 작업으로 보내진다. 그들의 모델이 만들이 지면, 결과는 원래의 R 세션으로 보내진다. NetWorkSpaces nws 패키지를 사용하는 R에서 접근 가능하고 그리고 많은 플랫폼 사이에서 사용된다.
caret 과 caretNWS 간 구문의 유사성에 큰 차이가 있다. 전자는 모델을 만들기 위해 train 을 사용하고 그리고 후자는 trainNWS를 사용한다. 다른 구문의 대부분은 비슷하다. Section 4의 SVM 적합에서, 사용 가능 예제:
R> set.seed(2)
R> svmFit <- trainNWS(trainDescr, trainClass,
+                     method = "svmRadial", tuneLength = 5, scaled = FALSE)

tuneLength 파라미터는 탐색 그리드의 크기를 설정하는 것을 상기하자. 시간 제약 때문에, 부트스트랩 표본의 기본 크기(25)는 각 모델에서 사용된다. 각각 25로 설정된 부트스트랩 표본은 5개의 프로세서로 분할된다.
이런 방법으로 병렬 처리를 사용하는 이점을 구별하기 위해, 앞의 서포프 벡터 머신과 부트된 트리(boosted tree) 모델은 병렬 처리를 사용하여 재적합 했다. 추가적으로, 40개의 컴포넌트 까지 올려 계산되된, 분할 최소 제곱 분류 모델(partial least squares classification model) caret의 plsda 함수를 사용하여 적합했다. 각각 이 세 개의 모델에서, 실행 시간은 Red Hat Linux (version 2.6.9) 사용하여 3개의 쿼드-코어 칩(quad-core chips)에서 P = 1, 2, 3, 4, 5, 10, 15 그리고 20 processors 을 이용했을 때 기록된 시간이다.
병렬화의 효과에 접근하기 위해 사용된 하나의 일반적인 메트릭은, Tseq 과 Tpar는 연속적으로 모델을 훈련한 실행 시간과 각각을 병렬적으로 실행한 시간 일 때, speedup = Tseq/Tpar 이다. 정교한 공유 메모리 기능을 갖춘 시스템을 제외하고, P 프로세서 병렬화에 의해 달성 가능한 최대 속도 향상은 P와 동일하다 (Amdahl 967). 속도 향상에 영향 받는 펙터는 병렬 작업자의 시작에서 오버헤드, 데이터 전송, 병렬에서 수행하는 알고리즘 계산률 등 이다.


/td>
Figure 5: trainNWS에서 병렬 처리를 사용하는 튜닝 시간 프로파일. 왼쪽 패널은 하나 또는 다중 프로세서를 사용하여 모델의 다양한 타입에 대한 붕괴 시간을 보여준다. 패널에서 오른쪽은 "속도 증가"를 보여준다, 병렬 실행 시간에 의해 나누어진 연속적인 실행 시간으로 정의됨. 레퍼런스 라인은 최대 이론적 속도 등가를 보여준다.
Figure 5 는 벤치마킹 연구 결과를 보여준다, 왼쪽 패널에서, 각 모델의 실제 훈련 시간을 보여 줬다. 사용된 프로세서의 수와 관계 없이, PLS 은 다른 모델들 보다 더 효율적이다. 이것은 PLS가 잘 최적화된 선형 방정식, 간단한 전방 해결 방식인(solving straight-forward) 이유인 것으로 보인다. 불운하게도, 분할 최소 제곱(partial least squares)은 어떤 문제에 충분히 유연하지 않은 선형 경계(linear boundaries)를 만든다. 서포트 백터 머신(support vector machine)과 부스티드 트리 모델(boosted tree models) 에서는, 훈련 시간의 감소율이 15개 프로세서 보다 많은 경우에 낮아지는 것으로 나타났다.
오른쪽 패널에서, 속도 증가가 플롯되었다. 각 모델은, 15개의 작업자 보다 더 추가 되면 이점은 적지만, 더 많은 노드가 추가됨에 따라 훈련 시간이 감소했다. 서포트 벡터 머신은 5 개 혹은 더 작은 작업자를 사용했을 때 이론적인 속도 증가 경계에 가까워 진다. 5개에서 15개의 작업자 수에는, 추가적인 속도 증가가 있지만, 효율을 잃게 된다. 15개의 작업자 보다 많으면, 속도 증가는 무시해도 좋다. 부스티드 트리에서, 추가적인 병렬 작업자의 효율은 낮아 졌지만, 10개의 작업자 보다 더 많이 사용하여 얻어진 4-폴드 속도 증가 보다 더 크다. PLS 는 병렬 처리에서 효과를 보이지만, 훈련 시간과 효율에서 의미있는 증가로 보이지 않는다. 부스티드 트리와 분할 최소 제곱이, 튜닝 파라메터 어떤 조합의 예측을 유도하는, 효율을 서브 모델이 사용하도록 이용하는 Section 4 를 상기 하자. 서포트 벡터 머신은, 왜 다른 모델보다 병렬 처리가 더 효과적인지에 대해 하나의 펙터로 가능하게 하는, 서브 모델의 이점을 가지도록 하는 것은 가능하지 않다.
이 방식에서 병렬 처리의 하나의 단점은, 데이터 셋이 훈련 모델에서 사용하는 모든 노드를 위해 메모리에 저장된다는 것이다. 예를 들면, 만약 trainNWS을 P 개의 프로세서를 사용하는 50개의 부트스트랩 표본의 결과를 계산하기 위해 사용한다면, P 개의 데이터셋이 메모리에 저장된다. 큰 데이터 셋에서, 이것은 추가 프로세서가 같은 물리적 메모리를 경쟁하게 하는 같은 머신에 있다면 문제가 될 수 있다. 미래에서는, 이 문제는 공유 메모리 아키텍처를 가지는 시스템을 이용하는 특별한 소프트웨어를 사용하면 해결 될 것이다. 더 많은 연구가, 모델 타입과 훈련 집합의 차원이 주어진 경우, 병렬 처리의 이점이 있는지 확인하기위해 필요하다.

11. 요약(Summary)

R 패키지는 예측 모델 절차를 용이하게 하기 위해 사용 될 수 있다는 것을 설명했다. 많은 함수들도 설명되었다(데이터 분할 범위, 성능 추정과 튜닝 모델에 사용하는 전처리 작업). 다른 모델과 통합된 인터페이스 제공은 이 패키지의 주요 테마이다. 현재는, caret은 많은 수의 모델링 함수를 가지고 작업한다 그리고 새로운 모델이 개발되고 계속 추가될 것이다.

댓글 없음:

댓글 쓰기