机器学习(六)支持向量机SVM

一、线性支持向量机SVM

        1.原理

                 支持向量的垂直平分线。此线段称为超平面,与之平行的两条线段称为正向超平面负向超平面

                 应用:用于区分物品(通过极端个体实现,结果由极端个体决定)

         2.Python实现

                ①前置准备

                ②创建分类器

from sklearn.svm import SVC
classifer = SVC(kernel = 'Liner',radom_state = 0)    --创建分类器
classifer.fit(x_train,y_train)    --拟合

                ③预测测试集

y_pred = classifier.predict(x_test)    --预测

                ④展示图像

         3.提高性能

                可以将分类器的内核替换为高斯内核来提高其效率

二、Kernel SVM

        1.高维投射

                将低维度中线性不可分的数据投射到高维中使其线性可分,再将其投射回原来的维度。

                示例1:一维投射

                 示例2:二维投射

                         再反投射

         2.核函数技巧

                ①高斯镜像机核函数Gaussian RBF Kernel

                         点离基准点越近,值越大;离基准点越远,值越小

                        σ值控制高度,可以间接控制分类区域的半径

                 若分类区域不趋近与圆,可以采用多个核函数的组合来表示

         3.常用的核函数类型

                ①高斯核函数

                 ②S函数

                 ③多项式核函数

         4.Python实现

                ①创建对象并拟合

from sklearn.svm import SVC
classifier = SVC(kernel='rbf',radom_state = 0)    --设置高斯核函数
classifier.fit(x_train,y_train)    --拟合

                ②预测数据

y_pred = classifier.predict(x_test)

                ③图像展示

猜你喜欢

转载自blog.csdn.net/weixin_37878740/article/details/126314851