CARET에서 매개 변수 튜닝 (그리드) 기능을 비활성화하는 방법이 있습니까?


15

CARET은 사전 지정된 튜닝 그리드를 사용하여 최종 모델을 선택하기 전에 다양한 모델을 구축 한 다음 전체 모델에 대한 최종 모델을 학습합니다. 매개 변수 조합을 하나만 사용하여 자체 조정 그리드를 제공 할 수 있습니다. 그러나이 경우에도 CARET은 튜닝 매개 변수 중에서이 모델에 가장 적합한 모델을 "선택"하고 (이 경우에는 하나만 있음) 최종 모델을 모든 교육 데이터에 맞 춥니 다. 이것은 피하고 싶은 추가 단계입니다.

튜닝 그리드의 변형에서 모델 검색 단계를 건너 뛰고 CARET이 모든 교육 데이터를 기반으로 강제 작성하는 방법은 무엇입니까 (기본 모델 라이브러리를 직접 호출하는 것 제외)?


1
이 질문은 다소 불분명합니다. 아마도 다른 질문에 대한 답변을받은 이유를 설명하는 것일 수 있습니다. 2) 모델 튜닝 만 끄려면 어떻게해야합니까?
Johan Larsson

답변:


17

method="none"에서 지정할 수 있습니다 trainControl. 예를 들면 다음과 같습니다.

train(Species ~ ., data=iris, method="rf", tuneGrid=data.frame(mtry=3),
  trControl=trainControl(method="none"))

이것이 언제 구현되었는지 잘 모르겠습니다.


9

가장 좋은 방법은 tuneGrid 데이터 프레임을 명시 적으로 제공하는 것입니다. 예를 들어, 임의 포리스트에는 각 트리에 대해 선택된 기능 수를 제어하는 ​​조정 매개 변수 'mtry'만 있습니다.

mtry를 특정 값으로 설정하려면 randomForest 기본값 (? randomForest)을 선택하십시오.

model <- train(x = X, y = Y, method = 'rf', tuneGrid = data.frame(.mtry = M))

여기서 M은 사용하려는 튜닝 매개 변수의 값 중 하나입니다.

여러 튜닝 매개 변수의 경우 다음을 수행하십시오.

tuneGrid = data.frame(.par1 = P1, .par2 = P2, .par3 = P3)

우리 사이트, 브렌트에 오신 것을 환영합니다! 이 오래된 질문에 답해 주셔서 감사합니다.
whuber

4
아래의 제안 method="none"이 더 나은 솔루션입니다.
topepo

1

나는 그것이 가능하지 않다고 생각합니다 (적어도 일부 버전에서는 불가능했습니다). 훈련 데이터에서 단일 리샘플링 파티션을 설정하여 성능 영향을 줄일 수 있습니다 (그러나 캐럿은 여전히 ​​모델을 두 번 훈련시킵니다)

이것은 유용한 기능처럼 들리므로 패키지 작성자를 핑합니다.


죄송합니다이 답변은 지금 더 이상 사용되지 않습니다
smci
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.