Python 如何使用scikit学习';以直方图为特征的支持向量机?
我希望使用scikit learn的SVM和卡方核,如图所示。在这个场景中,内核基于直方图,这就是我的数据所表示的。然而,我找不到一个与直方图一起使用的例子。正确的方法是什么 将直方图视为一个向量,其中向量中的每个元素都对应于直方图的一个单元,这是正确的方法吗Python 如何使用scikit学习';以直方图为特征的支持向量机?,python,machine-learning,svm,scikit-learn,Python,Machine Learning,Svm,Scikit Learn,我希望使用scikit learn的SVM和卡方核,如图所示。在这个场景中,内核基于直方图,这就是我的数据所表示的。然而,我找不到一个与直方图一起使用的例子。正确的方法是什么 将直方图视为一个向量,其中向量中的每个元素都对应于直方图的一个单元,这是正确的方法吗 提前感谢您sklearn.svm.SVC以两种方式接受自定义内核: 作为内核参数传递给构造函数的任意python函数 预计算内核矩阵作为第一个参数传递给构造函数中的fit和kernel=precomputed 前者可能慢得多,但不需要
提前感谢您
sklearn.svm.SVC
以两种方式接受自定义内核:
- 作为
参数传递给构造函数的任意python函数内核
- 预计算内核矩阵作为第一个参数传递给构造函数中的
和fit
kernel=precomputed
n_样本来说可能是禁止的)
中有更多详细信息和示例链接。中有一个使用近似特征图的示例。它适用于RBF内核,但工作原理相同
上面的示例使用“管道”,但您也可以在将数据交给线性分类器之前将转换应用于数据,因为AdditiveChi2Sampler
实际上并不以任何方式将其与数据相匹配
请记住,这只是内核映射的近似值(我发现它工作得很好),如果你想使用精确的内核,你应该使用ogrisel的anwser。OP显然想使用Andy的内核近似值,它的工作方式不同(将用于线性学习器)实际上,我不确定OP是否想要一个真正的内核并在其上使用libsvm的SMO解算器,或者OP是否想要用非线性随机特征映射来近似内核扩展,然后在其上训练线性SVM,如SGDClassizer。