在R中编写自定义分类器并预测函数

时间:2015-03-18 02:21:47

标签: r function machine-learning classification

我想在R中实现我自己的自定义分类器,例如 myClassifier(trainingSet,...),它从指定的训练集返回学习模型 m 。我想像r:

中的任何其他分类器一样调用它
m <- myClassifier(trainingSet)

然后我想重载(我不知道这是否是正确的单词)泛型函数 predict()

result <- predict(m, myNewData)

我只有R的基本知识。我不知道为了完成所需的任务我应该阅读哪些资源。为了实现这一点,我是否需要创建一个包?我正在寻找一些初步方向。

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

1 个答案:

答案 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)