python - 支持向量回归多输出

标签 python scikit-learn svm

我目前正在测试支持向量回归 (SVR) 以解决具有两个输出的回归问题。这意味着 Y_train_data每个样本有两个值。由于 SVR 只能产生一个输出,我使用了 scikit 中的 MultiOutputRegressor .

from sklearn.svm import SVR
from sklearn.multioutput import MultiOutputRegressor

    svr_reg = MultiOutputRegressor(SVR(kernel=_kernel, C=_C, gamma=_gamma, degree=_degree, coef0=_coef0))
    svr_reg.fit(X_train_data, Y_train_data)
现在我注意到,即使经过超参数优化,SVR 的结果也比单个决策树差得多。
使用具有多个输出的 SVR 时,这是一个已知问题吗?
创建两个具有不同超参数的独立 SVR 模型会更好吗?

最佳答案

正如 Vivek Kumar 的评论所示,您的 SVR 可能表现更差,因为它不会同时计算输出以考虑输出之间的相关性。因此,我建议使用能够处理多个目标的自适应 SVR 回归,例如多输出支持向量回归。你可以找到一个实现 here .然后,您可以将结果与 MultiOutputRegressor 的输出进行比较。检查改进。

关于python - 支持向量回归多输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53703431/

相关文章:

r - 使用插入符号在 R 中进行交叉验证的 SVM

python - 用于多标签分类的随机森林

python - 将函数列表应用于单个变量

python - 多标签 OneVsRestClassifier 的 GridSearch?

python - 在二进制分类中使用套索回归寻找最佳特征

python - 使 SVM 在 python 中运行得更快

python - 我的 Python 3 文件代码没有附加或读取文件的权利

python - 合并 Pandas 中的数据框

Python argparse 互斥参数

python - Scikit-learn 多线程