R / 캐럿 : 교육 및 테스트 세트와 교차 검증?


9

이것은 아마도 어리석은 질문 일지 모르지만 캐럿이있는 모델을 생성하고 LOOCV또는 (또는 더 많은 지점까지) 사용 LGOCV하면 본질적으로 교차 유효성 검사 단계 인 경우 데이터를 기차와 테스트 세트로 분할하는 이점은 무엇입니까 어쨌든?

관련 질문 중 일부를 읽었으며 일부 교차 유효성 검사 방법 (예 : 캐럿 사이트에서 여기에 설명 된 방법 )은 기능 선택을 위한 것임을 제안했습니다 . 그러나 필자의 경우 예측 변수를 제거하려고 시도하는 그룹에 나열되지 않은 randomForest( method = "rf") 및 kernlab( method = svmRadial)을 사용 하고 있습니다.

따라서 내 질문은과 같은 것을 사용하는 경우 cross_val <- trainControl(method = "LGOCV", p = 0.8)내 데이터의 80 %에 대한 교육, 나머지 20 %에 대한 결과 모델 테스트 및 반복하는 방법에 대한 아이디어를 얻는 것과 동일하지 않습니까? 모델이 작동합니까?

그렇다면 데이터를 기차 / 테스트 세트로 분할해야합니까?

추신 : 나는 경험적으로 생성 된 DOE 프로토 타입 (입력을 조정 한 다음 테스트 방법을 사용하여 프로토 타입에 대한 다양한 속성을 측정하는 경질 제품)에 대해 모델을 수행하면서 부분적으로 묻습니다.

따라서 모델링 할 중복 예측 변수 수준이 많은 거대한 데이터 세트가 없습니다.이 경우 데이터 생성 비용이 많이 들기 때문에 각 DOE 관심 지점에서 한 번의 시험을 수행하는 경우가 많습니다. 따라서 정확한 모델에 사용할 수있는 모든 데이터를 사용하고 싶지만 여기서는 분명한 것이 누락되지 않았고 여러 항목을 분할하지 않아 불량 모델을 만드는지 확인하고 싶었습니다.


편집 : @topepo의 질문에 대한 답으로, 공식의 화학적 입력을 조정하여 화합물의 물리적 측정 속성을 모델링하고 있습니다. 실제 응용 프로그램에 대해서는 논의 할 수 없지만 내부 라텍스 페인트의 공식화를 기반으로 한 예를 만들어 보겠습니다. 저는 4-5 개의 화학 물질을 혼합하고 %의 고형물을 가지고 놀며, 중합도를 조정하기 위해 고분자 용액을 가열하는 데 걸리는 시간에 대해 설계된 실험을 진행하고 있습니다.

그런 다음 유변학, 분자량, 페인트 코팅의 경도, 내수성 등을 측정 할 수 있습니다.

우리는 여러 변수의 적절한 복제물을 가지고 있지만 모든 DOE 수준이 정확히 동일하다는 의미에서 실제 복제물은 거의 없습니다. 총 데이터 세트는 ~ 80 개의 관측치이며 아마도 4-5는 정확한 반복입니다. 우리는 15 개의 서로 다른 테스트를 수행했으며, 매번 관찰 할 때마다 5-6 개의 테스트가 수행되었습니다. 일부 응답은 25-50 %의 데이터에 대해 존재합니다.

여기에서 7 개의 예측 변수가 출력 특성에 미치는 영향을 모델링 한 다음 원하는 특성을 제공 할 가능성이 가장 높은 새로운 설계 공간을 대상으로 최적화합니다.

(따라서 나의 질문은 여기있다 . 일단 훈련 된 모델을 가지고 있다면, "역전"을하고 다음 단계를 시도하기 위해 가능한 입력 레벨에서 최상의 추측을 얻기 위해 원하는 응답을 제공하는 것이 좋을 것이다).


검증 세트와 테스트 세트는 서로 다른 두 가지입니다! stats.stackexchange.com/questions/19048/…en.wikipedia.org/wiki/Test_set
sashkello를

@sashkello 감사합니다. 이것은 아마도 복제본으로 닫힐 수 있으며 어떻게 든 그 질문을 완전히 놓쳤습니다. 누락 된 비트는 다음과 같습니다.로 훈련하면 교차 유효성 검사로 data_set1수행 된 단계를 어떻게 고려 LGOCV합니까? 내 독서에서 나는 1) caret튜닝 매개 변수를 반복 data_set1한 다음 2) 해당 매개 변수를 고정하고 3) 각 p = 0.8샘플의 # 1의 매개 변수를 사용하여 "하위 모델"을 만들고 data_set1정확도를 측정하기 위해 나머지 0.2에 대한 예측을 테스트한다고 가정합니다. . 합리적인 요약입니까?
Hendy

하나의 누락 된 비트 : 테스트를위한 세트를 생략하면 모델 정확도가 전혀 도움이됩니까? 향후 테스트를 위해 편견이없는 것처럼 들립니다. 데이터가 제한적이고 겹치는 디자인 포인트가 많지 않은 경우 전체 세트로 훈련하고 정확도를 평가하기 위해 교차 유효성 검사에 의존하는 것이 더 좋지 않습니까?
Hendy

더 나은 검색 전략을 사용하면 stats.stackexchange.com/questions/9357/…이 도움이 됩니다. 특히 이것은 "여기서 하나의 제한 요소가 데이터의 양이라고 생각합니다. 대부분의 경우 데이터를 고정 파티션으로 분할하고 싶지 않기 때문에 CV"라고 말합니다. . 나는이 아마 내 데이터 (80 관찰)의 제한 특성에 고유 내 질문 (에서 얻을 생각 이러한 경우하지 분할을위한 투표 같아?
Hendy

답변:


7

내 일반적인 생각 :

따라서 다른 모델을 평가할 때 좋은 모델이라고 생각되는 것을 찾을 때까지 모델을 조정하고 다른 유형의 전처리 등을 시도 할 수 있습니다. 리샘플링은 해당 프로세스 중에 올바른 방향으로 안내 할 수 있습니다.

그러나 여전히 과적 합의 가능성이 있으며 이런 일이 발생할 확률은 데이터 (및 예측 변수)의 양에 크게 영향을받습니다. 약간의 데이터가있는 경우 다음과 같이 생각할 수있는 몇 가지 방법이 있습니다.

  • 모든 데이터 포인트가 모델의 성능을 크게 향상 시키므로 교육에 모든 데이터를 사용하십시오.
  • 과적 합으로 인한 총 오류에 대한 최종 점검으로 작은 테스트 세트를 따로 보관하십시오. 작은 표본 크기로 과적 합할 가능성은 적지 않으며 표본 수에 따라 더 커집니다.

나는 두 번째 캠프에 빠지지만 첫 번째 캠프는 전혀 틀리지 않습니다.

많은 양의 데이터가 있다면 작은 이벤트 속도를 피하지 않는 한 실제로 중요하지 않습니다.

당신을 위해 :

DOE가 있습니다. 디자인의 유형은 질문에 대답하는 데 도움이됩니다. 지금까지 테스트되지 않은 설계 점을 보간하거나 설계 점을 예측하려고합니까?

하나의 복제본이 있습니다. 나는 임의의 숲이 썰매 망치로 못을 치고 넘어져서 너무 끼는 것처럼 보일 수 있습니다. 나는 SVM이나 (가신) 신경망과 같은 부드러운 것을 시도 할 것입니다.

맥스


위의 업데이트를 추가했습니다. 와 함께 꽤 멋진 곡선을 가졌습니다 (주관적이라고 생각합니다) method = "svmRadial". method = neuralnet과거의 시도에서 신경망 이`set.seed ()에 매우 민감한 것을 알았지 만를 포함하여 다른 것들을 평가하고 싶습니다. 요컨대, 우리는 1) 입력 / 복수 응답 사이의 관계를 더 잘 이해하고 2) 가장 가능성이 높은 설계 공간을 가장 잘 추측하여 원하는 속성을 산출하여보다 집중적이고 새로운 DOE를 실행할 수 있도록 노력하고 있습니다. 입력 최소 / 최대 레벨 측면에서 광대 한 / 샷건 접근.
Hendy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.