数据挖掘竞赛预测模型二——SVM

分类预测SVC

from sklearn.svm import SVC
svm = SVC(C=1, kernel='rbf', degree=3, gamma='auto', class_weigth=None)
svm.fit(train_data,train_label)
test_pred = svm.predict(test_data)

参数:

(1)C:惩罚参数(0.0001-10000)

表示对错误案例惩罚程度,C越大,越不容忍出现误差,容易过拟合;C越小,容易欠拟合

(2)kernel:核函数(rbf、linear、poly、sigmoid)

rbf为高斯核函数、linear为线性核函数、poly为多项式核函数、sigmoid为双曲正切函数

如何选用(线性核参数少,速度快;rbf核参数多,分类结果依赖参数,需要网格调参,比较耗时):

 特征数量很大,甚至和样本数量差不多,往往线性可分,选用LR或者线性核linear;

特征数量很小,样本数量正常,选用rbf;

特征数量很小,样本数量很大,手动添加一些特征,使得线性可分,然后选用LR或者linear

(3)degree:核函数多项式的最高核(当kernel为poly时有效,其他核忽略)

(4)gamma:核函数系数(核函数是rbf、poly和sigmoid时使用gamma参数。默认auto,使用特征数的倒数,即1/n_features)

gamma越大,σ越小,使得高斯分布又高又瘦,模型只能作用于支持向量附近,导致过拟合;

gamma越小,σ越大,高斯分布会过于平滑,在训练集上效果不好,导致欠拟合。

 

友情链接:

          参数讲解(https://www.cnblogs.com/lyxML/p/9668386.html

                            https://www.cnblogs.com/solong1989/p/9620170.html)

          调参策略(https://blog.csdn.net/chenyiming2010/article/details/89044014)

 

                 

回归预测SVR

类似SVC参数

你可能感兴趣的:(数据挖掘算法模型)