【Python】-- 机器学习项目 - 基于SVM算法的鸢尾花分类
·

文章目录
01 什么是SVM算法
支持向量机(SVM)是一种**最大化“决策边界间隔”**的监督学习算法,既能做线性/非线性分类,也能做回归,核心思想是“让最近样本离边界最远”。
线性可分:SVM 在原空间找一条(或一个超平面),使正负类中离平面最近的点(支持向量)到平面的距离(间隔)最大化。
线性不可分:通过核函数把数据映射到高维甚至无限维空间,使在新空间里可以再用“最大间隔”思想。
正则化:引入惩罚参数 C 控制间隔与误分类的权衡,C 越大越不容许出错(可能过拟合),C 越小间隔越大(容忍噪声)。

02 基于SVM算法的鸢尾花分类代码分析
用 SVM(线性核)对鸢尾花数据集做三分类的完整流程,关键步骤浓缩如下:
载入数据:直接调 load_iris(),4 个特征、3 个类别。
切三份:先按 75/25 分成训练+测试;再把训练集二次切分 75/25 得训练/验证两份,方便调 C。
建模:用 SVC(kernel=“linear”, C=0.4)——线性核、正则强度 0.4。
训练→验证→测试:输出验证集和测试集的 accuracy,并打印 classification_report 看精确率、召回率、F1。
03 基于SVM算法的鸢尾花分类源码
提供了Python的实现代码,使得用户可以根据自己的需求进行调整和应用。
Python代码下载地址

更多推荐


所有评论(0)