Python-sklearn-SVM

发布时间:2026/10/6 13:54:40

Python-sklearn-SVM Sklearn 支持向量机SVMsklearn.svm提供 SVC、SVR、NuSVC、NuSVR、OneClassSVM、LinearSVC、LinearSVR。️ 分类 SVM1.SVC— 支持向量分类器 ⭐fromsklearn.svmimportSVC modelSVC(C1.0,# 正则化参数越大越拟合训练集kernelrbf,# linear,poly,rbf,sigmoid,precomputeddegree3,# 多项式核的次数gammascale,# 核系数# scale1/(n_features*X.var())# auto1/n_features# float自定义值越大拟合越紧coef00.0,# 独立项poly 和 sigmoid 核shrinkingTrue,# 启发式收缩加速probabilityFalse,# 是否启用概率估计额外 5-fold CV较慢tol1e-3,cache_size200,# 核缓存MBclass_weightNone,# None 或 balanced 或 dictverboseFalse,max_iter-1,# -1无限制decision_function_shapeovr,# ovr(一对多) 或 ovo(一对一)break_tiesFalse,# 决策函数平票时预测第一类random_stateNone)model.fit(X,y)# 关键属性print(model.support_)# 支持向量的索引print(model.support_vectors_)# 支持向量按索引顺序print(model.n_support_)# 每类的支持向量数量print(model.dual_coef_)# 对偶空间中支持向量的系数print(model.coef_)# 仅 linear 核时可用print(model.intercept_)# 决策函数中的截距print(model.classes_)# 类别标签print(model.n_features_in_)# 特征数print(model.fit_status_)# 0正确拟合print(model.shape_fit_)# 拟合的 (n_SV, n_features)# 预测方法y_predmodel.predict(X)y_scoremodel.decision_function(X)# 到超平面的距离# 概率需 probabilityTrue 训练y_probmodel.predict_proba(X)y_log_probmodel.predict_log_proba(X)2.LinearSVC— 线性支持向量分类器比SVC(kernellinear)更快尤其适合大数据和稀疏数据。fromsklearn.svmimportLinearSVC modelLinearSVC(penaltyl2,# l1 或 l2losssquared_hinge,# hinge 或 squared_hingedualauto,# True/False/auto样本特征时选Falsetol1e-4,C1.0,multi_classovr,# ovr 或 crammer_singerfit_interceptTrue,intercept_scaling1,class_weightNone,verbose0,random_stateNone,max_iter1000)model.fit(X,y)print(model.coef_)print(model.intercept_)y_predmodel.predict(X)y_scoremodel.decision_function(X)3.NuSVC— Nu-支持向量分类器用参数nu替代C来控制支持向量的数量。fromsklearn.svmimportNuSVC modelNuSVC(nu0.5,# 支持向量比例上界 训练误差上界 (0 nu ≤ 1)kernelrbf,degree3,gammascale,coef00.0,shrinkingTrue,probabilityFalse,tol1e-3,cache_size200,class_weightNone,verboseFalse,max_iter-1,decision_function_shapeovr,break_tiesFalse,random_stateNone)model.fit(X,y) 回归 SVM1.SVR— 支持向量回归器 ⭐fromsklearn.svmimportSVR modelSVR(kernelrbf,degree3,gammascale,coef00.0,tol1e-3,C1.0,epsilon0.1,# ε-不敏感带的宽度管状回归shrinkingTrue,cache_size200,verboseFalse,max_iter-1)model.fit(X,y)print(model.support_)print(model.support_vectors_)print(model.dual_coef_)print(model.coef_)# 仅 linear 核print(model.intercept_)print(model.n_support_)y_predmodel.predict(X)2.LinearSVR— 线性支持向量回归器fromsklearn.svmimportLinearSVR modelLinearSVR(epsilon0.0,tol1e-4,C1.0,lossepsilon_insensitive,# epsilon_insensitive 或 squared_epsilon_insensitivefit_interceptTrue,intercept_scaling1.0,dualauto,verbose0,random_stateNone,max_iter1000)model.fit(X,y)3.NuSVR— Nu-支持向量回归器fromsklearn.svmimportNuSVR modelNuSVR(nu0.5,C1.0,kernelrbf,degree3,gammascale,coef00.0,shrinkingTrue,tol1e-3,cache_size200,verboseFalse,max_iter-1)model.fit(X,y)️ 异常检测OneClassSVM— 单类 SVMfromsklearn.svmimportOneClassSVM modelOneClassSVM(kernelrbf,degree3,gammascale,coef00.0,tol1e-3,nu0.5,# 异常比例上界训练误差下界(0 nu ≤ 1)shrinkingTrue,cache_size200,verboseFalse,max_iter-1)model.fit(X)# 预测: 1正常, -1异常y_predmodel.predict(X)scoresmodel.decision_function(X)# 到分离超平面的带符号距离# 获取支持向量信息print(model.support_)print(model.support_vectors_)print(model.n_support_)print(model.dual_coef_)print(model.intercept_)️ 核函数详解# 线性核: K(x, y) xᵀySVC(kernellinear)# 最简单最快LinearSVC()# 大规模线性分类更优# 多项式核: K(x, y) (γxᵀy r)^dSVC(kernelpoly,degree3,gammascale,coef00)# RBF 核高斯核: K(x, y) exp(-γ||x-y||²)SVC(kernelrbf,gammascale)# 默认最通用# Sigmoid 核: K(x, y) tanh(γxᵀy r)SVC(kernelsigmoid,gammascale,coef00)# 自定义核预计算核矩阵gram_matrixcompute_custom_kernel(X)SVC(kernelprecomputed).fit(gram_matrix,y) Gamma 与 C 的影响参数过大过小C过拟合每个点都分类正确欠拟合允许大量错误gamma过拟合高方差复杂边界欠拟合高偏差简单边界调参模板fromsklearn.svmimportSVCfromsklearn.model_selectionimportGridSearchCVimportnumpyasnp param_grid{C:np.logspace(-3,3,7),# 0.001 ... 1000gamma:np.logspace(-3,3,7),# 0.001 ... 1000kernel:[rbf,linear]}svcSVC(random_state42)gridGridSearchCV(svc,param_grid,cv5,scoringaccuracy,n_jobs-1)grid.fit(X_train,y_train)print(fBest:{grid.best_params_}, Score:{grid.best_score_:.3f}) 实践指导使用流程fromsklearn.svmimportSVCfromsklearn.preprocessingimportStandardScalerfromsklearn.pipelineimportmake_pipelinefromsklearn.model_selectionimporttrain_test_split,GridSearchCV# 1. 分割数据X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.2,random_state42,stratifyy)# 2. 构建管道SVM 必须标准化pipelinemake_pipeline(StandardScaler(),SVC(random_state42))# 3. 调参param_grid{svc__C:[0.1,1,10,100],svc__gamma:[scale,auto,0.01,0.1,1],svc__kernel:[rbf,linear]}gridGridSearchCV(pipeline,param_grid,cv5,n_jobs-1,verbose1)grid.fit(X_train,y_train)# 4. 最终评估print(fTest score:{grid.score(X_test,y_test):.3f})print(fBest params:{grid.best_params_})适用场景场景推荐中小数据集 非线性SVC(kernelrbf)大数据集 线性可分LinearSVC特征数 样本数LinearSVC或 LogisticRegression需要概率输出SVC(probabilityTrue)控制支持向量比例NuSVC异常检测/新颖检测OneClassSVM回归 非线性SVR(kernelrbf)⚠️ 重要注意事项必须标准化: SVM 对特征尺度非常敏感务必先StandardScaler样本量大时慢: RBF 核复杂度 O(n²)~O(n³)大样本用LinearSVC或近似方法概率估计额外开销:probabilityTrue会执行 5 折交叉验证不平衡数据: 设置class_weightbalanced[[sklearn-总览|← 返回总览]]
延伸阅读

更多相关文章

2026/10/5 11:02:50

微电网多目标优化:MOGWO与V2G技术的融合应用

1. 项目背景与核心价值 微电网作为分布式能源系统的重要形态,正在经历从简单供能向智能调度的技术跃迁。我们团队在西北某风光互补微电网项目中,曾面临光伏出力波动大、电动汽车无序充电加剧峰谷差等典型问题。传统单目标优化算法难以平衡经济性与稳定性…

2026/10/5 8:28:36

热映影片引流型虚假流媒体网站钓鱼诈骗机理与全域防护体系研究 —— 以《奥德赛》仿冒观影平台骗局为例

摘要 影视文化消费数字化普及背景下,院线热映影片成为网络黑灰产实施信息窃取、财产欺诈的核心引流载体,以《奥德赛》热映催生的全球多语言虚假流媒体网站诈骗为典型样本,该类骗局依托大众抢先观影、免费观影的消费心理搭建多层伪装页面&…

2026/10/4 23:24:41

跨境物流供应链数据泄露诱发游戏玩家定向钓鱼风险与防护体系研究

摘要 数字游戏平台全球化线下硬件分销体系高度依赖第三方跨境物流服务商完成履约交付,供应链节点数据安全缺陷极易引发批量用户个人信息外泄,进而催生高欺骗性定向社会工程钓鱼攻击。以 2026 年 Valve 旗下 Steam 欧洲区域物流合作方 CEVA Logistics 遭网…

2026/10/6 13:54:13

glibc线程源码解析:pthread_create、线程栈与同步原语深度拆解

1. 为什么还要专门看glibc的线程源码 写Linux多线程程序这么多年,我最早的阶段就是拿 pthread_create 、 pthread_mutex_lock 当黑盒用,参数照抄,能跑就行。直到有一次线上服务出现诡异卡顿——线程创建特别慢、锁竞争一上去就吞吐暴跌&a…

2026/10/6 13:54:13

TPOT自动化建模:遗传编程如何进化出最优机器学习流水线

1. TPOT 是干什么的:我的自动化建模工具箱早几年做机器学习项目,最磨人的不是调模型本身,而是把数据预处理、特征工程、模型选择、超参搜索这一整条流水线串起来。白天在 Kaggle 上刷榜,晚上还得手动 grid search,一套…

2026/10/6 13:54:13

RC延时电路原理、计算与选型实战指南

1. RC延时电路的核心原理与设计思路拆解RC延时电路是电子工程里最基础也最常用的电路模块之一,从单片机上电复位延时、电源时序控制,到LED渐亮渐灭、蜂鸣器软启动,到处都能看到它的身影。它的核心就两个元件:一个电阻R和一个电容C…

2026/10/6 13:54:13

上拉电阻与下拉电阻原理详解:从IO口悬空到IIC、Type-C实战选型

1. 从一个让人抓狂的现象说起 刚入行那会儿,我最怕调试按键电路。明明程序里写了按下按键读低电平,结果按键没按下去,单片机读回来的还是低电平,程序跟死机了一样。拿万用表一量,IO口电压在1.2V左右晃悠,既…

2026/10/6 13:54:13

考研数学公式PDF:用Pandoc+LaTeX做一份能查能跳转的公式手册

简介:一份面向考研数学备考的公式速查PDF,聚焦高等数学、线性代数与概率论三大模块,适合需要系统梳理公式、强化计算训练或考前快速回顾的考生使用。压缩包内为单一PDF文档,大小约10MB,共50页,排版紧凑&…

2026/10/6 13:49:12

vSAN 8 超融合实战:OSA与ESA架构选型及存储策略指南

简介:VMware vSAN 8.0 U1 Express Storage Architecture Deep Dive是一份面向虚拟化管理员、存储工程师和数据中心架构师的深度技术资料,聚焦vSAN 8在软件定义数据中心中的设计与落地,帮助读者厘清超融合存储的部署前提、网络规划及故障处理路…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑