我目前正在测试支持向量回归 (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/