python sklearn svm svr 多输出_python机器学习API介绍25:高级篇——线性回归SVR

本文详细介绍了Python的sklearn库中线性支持向量机SVR的使用,包括参数C、epsilon、kernel等的含义,并通过代码示例展示了如何在多项式、高斯和正切函数核中调整参数以优化模型性能。通过实验发现,参数调整对非线性回归的影响显著,如gamma、degree和coef0等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LinearSVR实现了线性回归支持向量机,他是根据liblinear实现的,其函数原型为:

sklearn.svm.SVR(kernel='rbf', degree=3, gamma='auto', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1. skrinking=True, cache_size=200, verbose=False, max_iter=-1 )

参数说明:

C:一个浮点数,为惩罚项参数。

epsilon:一个浮点数,及参数epsilon的值

kernel:一个字符串,指定核系数;当其值为linear时,表示使用的是线性核;当值为poly,表示使用的是多项式核;当值为rbf(默认值)时,表示使用的是高斯核;值为sigmoid时表示的是正切函数核;为precomputed时表示提供了kernel matiix,或者提供了一个可调用的对象,该对象用于计算kernel martrix。

degree:一个整数,指定当核函数是多项式时,多项式的系数,对于其他类型的核函数,改参数无效。

gamma:一个浮点数,用于指定核函数是rbf、poly、sigmoid时,核函数的系数,如果为auto,则系数表示为1/n_features。

coef0:浮点数,用于指定和函数中的自由项。只有当核函数是poly和sigmoid时有效。

probability:布尔值,如果为True,则会进行概率估计,它必须在训练之前设置好,同时概率估计会拖慢运行速度。

shrinking:布尔值,如果为True,则使用启发式收缩(shrinking heuristic)。

tol:浮点数,指定终止迭代的阈值。

cache_size:浮点值,制定了kernel缓存的大小,单位为MB。

verbose:一个整数,表示是否开启verbose输出

max_iter:一个整数,指定最大的迭代次数。

属性说明:

support_:一个数组,形状为[n_SV],支持向量的下标。

support_vector:一个数组,形状为[n_SV, n_features],支持向量。

n_support:一个数组-like,形状为[n_class]。每个分类的支持向量个数。

dual_coef_:一个数组,形状为[n_class-1, n_SV],对偶问题中,在分类决策函数中每个支持向量的系数。

coef_:一个数组,形状为[n_class-1, n_features],原始问题中,每个特征的系数,只有在线性核中有效(该属性是一个只读属性,从dual_coef_和support_vectors中计算而来)。

intercept_:一个数组,形状为(n_samples, n_classes*(n_classes-1)/2),即决策函数中的常数项。

方法说明:

fit(x, y[,sample_weight]):训练模型。

predict(x):用模型进行预测,返回预测值

score(x,y[,sample_weight]):返回(x,y)上预测的准确率(测试分数不超过1,但是可能为负数(当预测效果太差的时候),score值越接近1,说明预测效果越好)。

代码实例(对应加载的数据可见上一节):

def test_linear_SVR(*data):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值