You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

训练好的SVR模型如何预测?求sklearn SVR手动预测实现方法

手动计算RBF核SVR的预测值

核心公式

对偶形式下,RBF核SVR的预测值计算逻辑为:

预测值 = (对偶系数数组 ⋅ 核函数(输入样本, 所有支持向量)) + 偏置项b

分步实现

  • 1. 确认所需参数
    除了你已有的对偶系数数组、支持向量,还需从训练好的sklearn.svm.SVR模型中获取:

    • 偏置项:model.intercept_[0]
    • RBF核参数γ:对应model.gamma,若模型设为scale,则γ=1/(特征数×训练集特征方差);设为auto则γ=1/特征数
  • 2. 实现RBF核函数
    RBF核的数学表达式为:K(x, sv) = exp(-γ × ||x - sv||²)
    用Python实现单样本与单个支持向量的核值计算:

    import numpy as np
    
    def calc_rbf_kernel(x, sv, gamma):
        diff = x - sv
        return np.exp(-gamma * np.sum(diff ** 2))
    
  • 3. 计算输入样本与所有支持向量的核值数组
    对单个输入样本x(形状为(特征数,)),遍历所有支持向量生成核值数组:

    kernel_vals = np.array([calc_rbf_kernel(x, sv, gamma) for sv in model.support_vectors_])
    
  • 4. 计算最终预测值
    将对偶系数(需展平为一维数组)与核值数组做点积,再加偏置项:

    dual_coef_flat = model.dual_coef_.flatten()
    y_pred = np.dot(dual_coef_flat, kernel_vals) + model.intercept_[0]
    

验证

手动计算结果和model.predict([x])的输出应几乎一致(仅浮点精度差异)

内容的提问来源于stack exchange,提问作者n6r5

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:25:15