实战

使用注意事项

1、避免数据复制
对于 SVC, SVR, NuSVCNuSVR如果输入数据不是C contiguous和双精度(float64)的,那么在底层调用的时候会进行复制。
2、缓存大小
SVCSVRNuSVCNuSVR,内核缓存的大小有较大的问题,在运行时间有很大的影响。如果您有足够的可用内存,建议设置cache_size为高于默认值 200(MB) 的值,例如 500(MB) 或 1000(MB)。
3、C惩罚系数(松弛变量)
C默认请款下是1。如果噪音点较多,可以适当减小,减小C相当于更正则化,
LinearSVC并且LinearSVR对C增大不太敏感,在达到一定阈值后预测结果停止改善。同时,较大的C值将花费更多的时间来训练,有时长达 10 倍。
4、缩放数据
强烈建议缩放数据,例如将输入向量每个特征缩放到[[0,1]或者[-1,1],或者时将其标准化为均值为0、方差为1。注意测试数据要进行相同操作才有意义。
5、在SVC中,如果数据不平衡,可以设置class_weight=’balanced’或尝试不同的惩罚参数C
6、底层随机性
使用SVCNuSVC时,当 probability设置为 时True,随机性可以通过random_state参数来控制。如果probability设置为False,random_state对结果没有影响。