在scikit-learn中,可以使用rbf内核训练OneClassSVM。并且它将提供一个“ decision_function”,当提供新数据进行预测时,该功能可以告诉您从新数据点到分离的超平面的距离; (但解释对我而言并不重要;有关here的更多信息)
R中是否有与此“决策函数”等效的东西?
这是python的示例:
from sklearn import datasets
from sklearn.svm import OneClassSVM
iris = datasets.load_iris()
svm = OneClassSVM(kernel='rbf',random_state=1)
svmTrained = svm.fit(iris.data)
svmPred = svm.predict(iris.data[1,:].reshape(1,-1))
svmDist = svm.decision_function(iris.data[1,:].reshape(1,-1))
我有兴趣在R中复制它,但被困在svmDist
上...这是R中的一个起点:
attach(iris)
x <- subset(iris, select=-Species)
svmTrained = svm(x, y = NULL, type = "one-classification", kernel = "radial")
svmPred = predict(svmTrained, newdata = x[1,], type = "probability",
decision.values = TRUE)
#svmDist = ?
对此的答案可能是,它试图将C ++ here转换为R。我会在时间允许的情况下使用putz,但希望有些东西已经有些晦涩难懂了我从未听说过的包裹。