使用R编写自定义分类器和预测函数

6

我希望在R中实现自己的定制分类器,例如:myClassifier(trainingSet, ...)从指定的训练集返回学习模型m。我希望像调用其他分类器一样调用它:

m <- myClassifier(trainingSet)

然后我想要重载(我不确定这是否是正确的词)通用函数predict()

result <- predict(m, myNewData)

我对R只有基础知识。我不知道应该阅读哪些资源以完成所需任务。为了使其工作,我需要创建一个包吗?我正在寻找一些初始方向。

模型m是否包含关于覆盖的预测方法的信息?或者R如何知道哪个predict.*方法对应于模型m


1
这个有用吗?(链接为https://dev59.com/lWw15IYBdhLWcg3wfbzi) - rawr
2
或者http://adv-r.had.co.nz/OO-essentials.html提供了更多信息。 - Spacedman
1个回答

14

这里有一些代码展示如何为自己的类编写一个通用函数的方法。

# 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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接