Bardzo wolę dbać o jego zdolność do dostrajania parametrów i jednolity interfejs, ale zauważyłem, że zawsze wymaga kompletnych zestawów danych (tj. Bez NA), nawet jeśli zastosowany model „nagi” pozwala NA. Jest to bardzo uciążliwe, ponieważ należy stosować pracochłonne metody imputacji, które w pierwszej kolejności nie są konieczne. Jak można uniknąć przypisania i nadal korzystać z przewagi karetki?
r
missing-data
data-imputation
caret
Fredrik
źródło
źródło
Odpowiedzi:
Do funkcji pociągu w karetce możesz przekazać parametr na.action = na.pass i bez przetwarzania wstępnego (nie określaj preProcess, pozostaw jako domyślną wartość NULL). Spowoduje to przekazanie niezmodyfikowanych wartości NA bezpośrednio do funkcji predykcji (spowoduje to, że funkcje predykcji, które nie obsługują brakujących wartości, zawiodą, ponieważ przed wywołaniem funkcji predykcji konieczne byłoby określenie preProcess w celu przypisania brakujących wartości). Na przykład:
W takim przypadku C5.0 sam poradzi sobie z brakującymi wartościami.
źródło
train
przy ustawieniuna.action = na.pass
opcji spowoduje następujący błąd:Something is wrong; all the RMSE metric values are missing
Próbowałeś przekodować NA? Coś> 3 odchylenia standardowe poza Twoimi danymi (np. -12345) powinno zachęcić C5.0 do przewidzenia ich osobno, podobnie jak w przypadku NA.
źródło
Myślę, że twoim rozwiązaniem byłoby przypisanie wartości podczas korzystania z funkcji predykcji () .
Zobacz
?predict.train
po więcej szczegółów.Możesz użyć,
na.omit
aby umożliwić karetce przypisanie wartości. Na przykład:z http://www.inside-r.org/packages/cran/caret/docs/predict.train
Innym rozwiązaniem byłoby przypisanie podczas wstępnego przetwarzania danych:
z http://www.inside-r.org/node/86978
źródło