支持向量回归多个输出

Mer*_*klT 5 python svm scikit-learn

我目前正在测试支持向量回归(SVR)是否有两个输出的回归问题。这意味着Y_train_data每个样本都有两个值。由于SVR只能产生单个输出,因此我使用scikit的MultiOutputRegressor 。

svr_reg = MultiOutputRegressor(SVR(kernel=_kernel, C=_C, gamma=_gamma, degree=_degree, coef0=_coef0))
svr_reg.fit(X_train_data, Y_train_data)
Run Code Online (Sandbox Code Playgroud)

现在我已经注意到,即使在超参数优化之后,SVR的结果也比单个决策树差得多。

将SVR与多个输出一起使用时,这是一个已知问题吗?

并且创建具有不同超参数的两个单独的SVR模型会更好吗?

ap3*_*ap3 2

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