支持向量机SVM①——Sklearn核函数参数介绍(线性&高斯&多项式&sigmond)

  • Post author:
  • Post category:其他


SVM系列目录:


支持向量机SVM③——通过4种核函数进行波斯顿房价回归预测



支持向量机SVM②——文本分类实战(SVM&KNN&贝叶斯&决策树)

本来想先写一篇支持向量机的原理篇,结果在白天钻研,晚上做梦都在思考的2周后,还是没有搞太明白,实在是见识到了人类智慧的博大精深和自我的渺小。因此我还是先从应用下手,先用到慢慢体会好了。本篇主要介绍sklearn库的svm的分类和回归参数,其中重点介绍四大核函数的参数。


之前在未调参的情况下将svm和决策树、贝叶斯进行了分类对比,发现训练器分数巨低,且训练过程时间是真的长,长到怀疑人生。所以想要SVM用得好,会调参真的是很重要,很重要,很重要!!!(

文末有大礼赠送




一、分类

在这里插入图片描述



二、回归


SVM回归算法库的重要参数大部分和分类算法库类似,因此这里重点讲述和分类算法库不同的部分


在这里插入图片描述



三、参数注意事项

①对训练数据和测试数据最好都做归一化

②如果特征非常多,或者样本数远少于特征数时,数据更偏向线性可分,用线性核函数效果就会很好

③优先选择线性核函数,如果拟合不好同,再推荐默认的高斯(rbf),因为高斯需要通过交叉验证选择适合的惩罚系数C和gamma

④理论上高斯不会比线性核差,但是高斯需要花非常多的时间在调参上,实际业务中能用线性就用线性



四、GridSearchCV调参实例


① 用sklearn数据生成器生成特征数为2的圆环型数据

import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm,datasets
from sklearn.svm import SVC
from sklearn.datasets import make_moons,make_circles,make_classification

X, y = make_circles(noise=0.2, factor=0.5, random_state=1) # make_circles是环形,noise是加一点噪音,factor是两个圆形的距离
from sklearn.preprocessing import StandardScaler
X = StandardScaler().fit_transform(X)  # StandardScaler 



版权声明:本文为cindy407原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。