Bir ödevde, bir CART modelinde çapraz doğrulama yapmamız istenir. cvFit
işlevini cvTools
numaralı telefondan kullanmayı denedim ancak garip bir hata mesajı aldım. İşte minimal örnek:Bir CART modelinin çapraz doğrulanması
library(rpart)
library(cvTools)
data(iris)
cvFit(rpart(formula=Species~., data=iris))
görüyorum hatadır:
Error in nobs(y) : argument "y" is missing, with no default
Ve traceback()
:
5: nobs(y)
4: cvFit.call(call, data = data, x = x, y = y, cost = cost, K = K,
R = R, foldType = foldType, folds = folds, names = names,
predictArgs = predictArgs, costArgs = costArgs, envir = envir,
seed = seed)
3: cvFit(call, data = data, x = x, y = y, cost = cost, K = K, R = R,
foldType = foldType, folds = folds, names = names, predictArgs = predictArgs,
costArgs = costArgs, envir = envir, seed = seed)
2: cvFit.default(rpart(formula = Species ~ ., data = iris))
1: cvFit(rpart(formula = Species ~ ., data = iris))
O y
cvFit.default
için zorunlu olduğunu görünüyor. Ancak: Neyi yanlış yapıyorum? Hangi paket kendim kodlamak zorunda kalmadan bir CART ağacıyla çapraz doğrulama yapmamı sağlar? (Ben ... sooo tembelim)
Eğer ** cvTools belgelerine içine kazmak ise ** göründüğü Bu araçların çoğunun ayrık değil, sürekli tepki değişkenleri ile oluşturulduğunu. Muhtemelen işe yarayabilir, ancak sınıflandırma hatasını hesaplamak için kendi fonksiyonunuzu "maliyet" olarak karşılamanız gerekir. – joran
@joran: Kesinlikle - teşekkürler! Bakınız [kendi yanıtım] (http://stackoverflow.com/a/16724706/946850). – krlmlr