我想在R中实现我自己的自定义分类器,例如 myClassifier(trainingSet,...),它从指定的训练集返回学习模型 m 。我想像r:
中的任何其他分类器一样调用它m <- myClassifier(trainingSet)
然后我想重载(我不知道这是否是正确的单词)泛型函数 predict()
result <- predict(m, myNewData)
我只有R的基本知识。我不知道为了完成所需的任务我应该阅读哪些资源。为了实现这一点,我是否需要创建一个包?我正在寻找一些初步方向。
模型 m 是否包含有关覆盖预测方法的信息?或者R如何知道哪个预测。*方法对应于模型 m ?
答案 0 :(得分:8)
以下是一些代码,展示了如何为通用函数编写自己类的方法。
# create a function that returns an object of class myClassifierClass
myClassifier = function(trainingData, ...) {
model = structure(list(x = trainingData[, -1], y = trainingData[, 1]),
class = "myClassifierClass")
return(model)
}
# create a method for function print for class myClassifierClass
predict.myClassifierClass = function(modelObject) {
return(rlogis(length(modelObject$y)))
}
# test
mA = matrix(rnorm(100*10), nrow = 100, ncol = 10)
modelA = myClassifier(mA)
predict(modelA)