发布时间:2026/8/12 16:50:30
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/8/12 16:45:29

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

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

2026/8/12 16:45:29

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

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

2026/8/12 16:45:29

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

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

2026/8/12 21:16:37

Java 8 Lambda与Stream API:集合排序从命令式到声明式的演进与实践

1. 从“手搓”到“声明式”:Java集合排序的演进与核心价值 如果你写过Java,那对 List 排序肯定不陌生。从早期的 Collections.sort() 配合匿名内部类,到Java 8之后满世界的Lambda表达式,排序代码的写法发生了翻天覆地的变化。…

2026/8/12 21:16:37

Python进阶 - 生成器的close方法 关闭生成器释放资源

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Python进阶这个话题展开,希望能为你带来一些…

2026/8/12 21:16:37

Python进阶 - 生成器的send方法 向生成器发送数据

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Python进阶这个话题展开,希望能为你带来一些…

2026/8/12 21:16:37

VCSA8.0 VAMI(5480)替换企业自定义CA证书实操排错完整指南

VCSA的VAMI即为5480端口设备管理界面,默认使用VMware自签名证书,浏览器访问持续告警不安全。很多运维会混淆VAMI证书与vCenter Machine‑SSL证书,二者属于两套独立证书。本文讲解如何在VAMI页面直接导入企业CA签发PEM证书,包含证书…

2026/8/12 21:11:37

国产化之Gauss数据库性能优化方案

文章目录 一、性能优化概述 1.1 优化目标 1.2 优化原则 1.3 优化策略 二、性能分析诊断流程 2.1 性能问题识别 2.1.1 性能指标监控 2.1.2 性能瓶颈识别 2.2 性能分析工具 2.2.1 系统监控 2.2.2 数据库监控视图 三、SQL优化策略 3.1 单节点查询优化 3.1.1 分片键使用原则 3.1.2 …

2026/8/12 10:37:12

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/12 5:35:25

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/12 9:34:08

Ubuntu 23.10中双击运行.sh文件的完整指南:从权限原理到桌面配置

1. 项目概述:从一次“双击”引发的权限探索在Ubuntu桌面环境下,我们习惯了双击运行那些带有.exe后缀的Windows程序安装包,但当你拿到一个以.sh结尾的Shell脚本文件时,满怀期待地双击它,却很可能只看到一个文本编辑器窗…

2026/8/12 9:34:08

NumPy条件索引实战:np.where与np.argwhere高效数据筛选指南

1. 从一次数据筛选的“笨办法”说起 前几天,我帮一个刚入行的数据分析师同事看代码,他正在处理一批传感器数据,需要找出所有温度超过阈值的数据点,然后进行后续分析。我一看他的实现,好家伙,一个 for 循环…

2026/8/12 9:34:08

基于Docker与Selenium Grid构建高可用浏览器自动化测试环境

1. 项目概述:为什么需要容器化的浏览器自动化?在软件开发和测试领域,浏览器自动化早已不是新鲜事。无论是日常的UI回归测试、数据抓取,还是复杂的业务流程模拟,Selenium都是我们绕不开的利器。然而,但凡在团…

2026/8/10 11:20:30

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/11 17:06:59

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/11 3:05:11

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…