
【C0027】支持向量机SVM
管理科学
机器学习与深度学习
Python
支持向量机 (SVM) 简介
什么是 SVM?
支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,主要用于分类问题,也可用于回归分析。其核心思想是在特征空间中找到一个最优超平面(Hyperplane),能够将不同类别的数据点尽可能宽地分开。
核心原理
- 最大间隔:SVM 不仅仅寻找能分开数据的线,而是寻找使两类数据点到该线的最小距离(即“间隔”)最大的那条线。间隔越大,模型的泛化能力通常越强。
- 支持向量:决定超平面位置的关键数据点被称为“支持向量”。它们是距离超平面最近的样本点,移除其他非支持向量不会改变超平面的位置。
- 核技巧 (Kernel Trick):对于线性不可分的数据,SVM 通过核函数将低维空间的非线性问题映射到高维空间,使其在高维空间中变得线性可分。常用的核函数包括线性核、多项式核、高斯径向基核(RBF)等。
本代码实现说明
- 数据集:使用 Scikit-learn 内置的鸢尾花(Iris)数据集。
- 预处理:由于 SVM 对特征尺度敏感,代码中使用了
StandardScaler对特征进行了标准化处理。 - 模型配置:采用了 RBF 核函数,这是处理非线性分类问题最常用的核函数。
- 评估指标:输出了准确率(Accuracy)以及详细的分类报告(Precision, Recall, F1-score)。