gpt4 book ai didi

r - 在 R 中为 svm 编写自定义内核

转载 作者:行者123 更新时间:2023-11-30 09:36:00 24 4
gpt4 key购买 nike

我正在寻找在 R 中使用 e1071 包的 svm() 函数。我是这个包的新手,我想知道是否可以在 svm() 中编写您自己的可调用的自定义内核。我看到预加载了几个内核,但没有看到我需要的余弦相似度内核。

或者,R 中是否有另一个包允许您使用余弦相似度内核运行 SVM?

最佳答案

坏消息是 e1071 目前不支持它。很多年前就有过讨论https://stat.ethz.ch/pipermail/r-help/2002-July/023299.html .

好消息是余弦相似核定义为

K(x, y) = <x, y> / (||x|| ||y||) = <x / ||x||, y / ||y||>

因此您不必实现自定义内核,只需规范化数据并运行常规线性内核 SVM。换句话说 - 计算(按样本)常规欧几里得范数并将每个样本除以它自己的范数。然后运行线性SVM,结果相当于在原始数据上运行余弦核。

如果您想使用定制机器学习模型进行研究,R 可能不是最佳选择(因为它更像是一个应用现有技术的工具,而不是一个设计良好的开发系统 - 如果您想要在 R 中自定义一些东西,你基本上必须达到 C++ 级别)。相反,您可能需要考虑 python 和众多库(例如 scikit-learn + pykernels),它们为您提供了更大的灵 active 。

关于r - 在 R 中为 svm 编写自定义内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42633265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com