여러 모델에서 교차 검증 기능을 수행했습니다.R에서 여러 예측 모델에 대한 정확도 코드를 최적화하는 방법은 무엇입니까?
은 내가 계산 할 모델 기능을 가지고 있고, 교차 검증에 나는 각 반복에 대한 각각의 예측에 대해, 클래스 또는 레이블과 results
라는 데이터 프레임을 얻을 그래서 전화 :
head(results)
iteration class ksvm rf
65 1 4 4 4
306 1 2 2 2
300 1 4 4 4
385 1 2 2 2
431 1 2 2 2
205 1 4 4 4
(색인은 샘플링되는 데이터에서 비롯되어 무시할 수 있음)
5 배 교차 유효성 검사가 있으므로이 경우에 ksvm
및 rf
을 예측하는 5 번의 반복이 있습니다. (이러한 algorithms
라는 변수에 저장됩니다
을 내가 정확성이 방법을 계산하고이 후 :.
results %>%
group_by(iteration) %>%
summarise(acc_ksvm = sum(ksvm == class)/n() , acc_rf = sum(rf == class)/n())
출력 :
iteration acc_ksvm acc_rf
(int) (dbl) (dbl)
1 1 0.9603175 0.9603175
2 2 0.9760000 0.9680000
3 3 0.9603175 0.9523810
4 4 0.9840000 0.9920000
5 5 0.9444444 0.9523810
질문 : 이 방식이 있는가 그것을 최적화 할 수 있습니까? 결국 모델을 늘릴 것이다, 그냥 함수에서 변수 algorithms
전달하고 manuall없이 모든 모델에 대한 정확성을 계산할 y 각 모델에 대해 summarise(acc_ksvm = sum(ksvm == class)/n() , acc_rf = sum(rf == class)/n())
을 작성하십시오.
적용 할 수 있습니까? 또는 모델별로 그룹화하기 위해 내 df
이 빌드 된 방식을 변경해야합니까?
감사합니다. sum(ksvm == class)/n()
때문에
무엇 최적화를 원하십니까? 속도? 이것은 꽤 우아한 해결책 인 것 같습니다. 만약'algorithm' 벡터에 모델을 추가하기 만하면, 위의'dplyr' 코드는 여러분의 데이터가 거대한 것이 아니라고 가정하고 많은 매개 변수를 테스트하지 않을 것이라고 생각합니다. 많은 모델. – blacksite
맞습니다. 아마도 Optimize * 대신 Automate *를 써야 할 수도 있습니다. –