位置: IT常识 - 正文

Sklearn GridSearchCV跑SVM很慢或卡死解决办法,SVM线性核函数卡死

编辑:rootadmin
Sklearn GridSearchCV跑SVM很慢或卡死解决办法,SVM线性核函数卡死

推荐整理分享Sklearn GridSearchCV跑SVM很慢或卡死解决办法,SVM线性核函数卡死,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

今天跑人工智能SVM实验,想试一下线性核函数,结果卡死了,很久也不出结果,但之前使用高斯核函数是没问题的。历经千辛万苦终于找到了原因,记录一下,希望对后人有帮助。本人只是个做作业的小菜菜,如有不对欢迎指正!

参考了以下文章:

关于Python Sklearn SVM 为什么运行很慢得到结果的原因 https://blog.csdn.net/zhike5110/article/details/88878812

大致原因

SVM需要不断寻找最能区分数据的超平面,直至收敛。我们以线性(Linear)核函数为例,如果数据间有明显的线性关系时,SVM就能很快找到这个超平面,达到收敛。但如果数据间无明显的线性关系,即使数据量很小,也很难找到这个超平面,导致迟迟不收敛。具体解释请看上面附的原文章。

解决方法原代码

我原来的代码如下。使用的是线性核函数。

import timefrom sklearn.metrics import accuracy_scorefrom sklearn.metrics import f1_scorefrom sklearn.model_selection import train_test_splitfrom sklearn.model_selection import GridSearchCVfrom sklearn.svm import SVC# 读取训练集并切分X, Y = load_data() X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=0)# 参数parameters = [ { 'kernel': ['linear'], # 线性核函数 'C': [1 * 10**i for i in range(-3, 11)], 'class_weight': ['balanced'] #样本均衡度 }]# 参数调优 clf = GridSearchCV(estimator=SVC(), param_grid=parameters, cv=8, n_jobs=5, scoring='f1_macro')start = time.time()clf.fit(X_train, y_train)elapsed = time.time() - startprint("Fitting finished in %d min %d s" % (elapsed / 60, elapsed % 60))print("Best set score:{:.2f}".format(clf.best_score_))print("Best parameters:{}".format(clf.best_params_))print("Test set score:{:.2f}".format(clf.score(X_test, y_test)))

使用上面的参数跑了很久也不出结果,把参数组合数量调少也不行。

方法一:限制最大迭代次数

设置最大迭代次数参数max_iter。max_iter默认为-1,表示直至计算出收敛的超平面才停止。将其设为一个合适的正整数即可。

设置max_iter参数:

parameters = [ { 'kernel': ['linear'], # 线性核函数 'C': [1 * 10**i for i in range(-3, 11)], 'class_weight': ['balanced'], # 样本均衡度 'max_iter': [1000000] # 限制最多迭代1000000次 },]

跑了有5分多钟,得到结果:

方法二:改用其他的核函数Sklearn GridSearchCV跑SVM很慢或卡死解决办法,SVM线性核函数卡死

改用非线性的核函数,比如常用的高斯核函数(也叫径向基核函数)、多项式核函数,可能能够正常收敛。

采用高斯核函数(Radial Basis Function,RBF)

采用高斯核函数,参数如下:

parameters = [ { 'kernel': ['rbf'], # 高斯核函数 'C': [1 * 10**i for i in range(-3, 11)], 'gamma': [1 * 10**i for i in range(-10, 4)], 'class_weight': ['balanced'] # 样本均衡度 }]

参数组合数量翻倍了,需要耐心等待。训练时间56分钟,结果:

采用多项式核函数(Polynomial Kernel)

我又尝试了多项式核函数,但对于我的数据仍然不好收敛,因此,只好也加上max_iter参数:

parameters = [ { 'kernel': ['poly'],# 多项式核函数 'C': [1 * 10**i for i in range(-3, 11)], 'degree': range(2, 10), 'class_weight': ['balanced'], #样本均衡度 'max_iter': [1000000]# 限制最多迭代1000000次 }]

参数组合数量仍然比较多。训练时间85分钟。结果如下:

换核函数还是不行?

原因是不同的参数组合也会影响收敛的速度。比如在我的实验中,采用高斯核函数,如果gamma设置过小也迟迟不出结果。建议解决方法如下:

先使用少的参数组合数量,降低试错成本。先不要刚上来就设置过多的参数组合数量,要不然跑的太慢,你无法知道是正常在跑还是收敛慢了,最后跑了几个小时跑不出来才发现不对劲。如果用少量的参数组合很快跑出来了,就尝试加多参数组合数量,看还能不能跑出来;也可以设置一个较大的max_iter参数。这样的话能防止收敛慢的参数组合无限制地跑下去,正常收敛的参数组合也不会受影响。SVM教程推荐

推荐浙江大学胡浩基老师的SVM课程,讲的非常清楚:

浙大胡浩基老师SVM: https://www.bilibili.com/video/BV1jt4y1E7BQ/?spm_id_from=333.337.search-card.all.click&vd_source=44f1ad5d101e28cd116fe2918182d1b6

B站也有胡老师完整的机器学习课程视频,感兴趣的同学可以去找找。

本文链接地址:https://www.jiuchutong.com/zhishi/299197.html 转载请保留说明!

上一篇:ZED2跑ORB-SLAM3+双目相机、IMU联合标定+显卡驱动与cuda/cudnn安装

下一篇:【node进阶】浅析Koa框架---ejs模板|文件上传|操作mongoDB(node教程)

  • 网易云商城在哪打开(网易云商城在哪儿)

    网易云商城在哪打开(网易云商城在哪儿)

  • iphone11双4G吗(苹果11双4g)

    iphone11双4G吗(苹果11双4g)

  • bm4f是小米什么型号(小米bn44是什么型号)

    bm4f是小米什么型号(小米bn44是什么型号)

  • 笔记本电脑慢的要死怎么办(笔记本电脑慢的原因及解决办法视频)

    笔记本电脑慢的要死怎么办(笔记本电脑慢的原因及解决办法视频)

  • m4000m显卡什么水平(m4000显卡评测)

    m4000m显卡什么水平(m4000显卡评测)

  • 苹果微信步数显示为0(苹果微信步数显示日期怎么设置)

    苹果微信步数显示为0(苹果微信步数显示日期怎么设置)

  • 苹果强制重启伤手机吗(苹果强制重启伤机吗)

    苹果强制重启伤手机吗(苹果强制重启伤机吗)

  • 苹果手机边框有缝隙怎么办(苹果手机边框有缝隙正常吗)

    苹果手机边框有缝隙怎么办(苹果手机边框有缝隙正常吗)

  • vivox30充满电要多久(vivox30充电多久充满)

    vivox30充满电要多久(vivox30充电多久充满)

  • oppor11s手机太卡怎么办(oppor11s很卡)

    oppor11s手机太卡怎么办(oppor11s很卡)

  • 512pcle什么意思(512gb pcle ssd什么意思)

    512pcle什么意思(512gb pcle ssd什么意思)

  • opporeno3防水吗(reno3防水吗?)

    opporeno3防水吗(reno3防水吗?)

  • 手机为什么贴膜(手机为什么贴膜有气泡)

    手机为什么贴膜(手机为什么贴膜有气泡)

  • 魅族16T怎么恢复照片(魅族16怎么恢复root)

    魅族16T怎么恢复照片(魅族16怎么恢复root)

  • 华为imc全称是什么(imoc华为)

    华为imc全称是什么(imoc华为)

  • 抖音怎么做照片合集(抖音怎么做照片卡节拍)

    抖音怎么做照片合集(抖音怎么做照片卡节拍)

  • 塑封拆了能退货吗(商品外的塑封膜拆了不能退货)

    塑封拆了能退货吗(商品外的塑封膜拆了不能退货)

  • 微信屏蔽了对方后他知道吗(微信屏蔽了对方的朋友圈对方知道吗)

    微信屏蔽了对方后他知道吗(微信屏蔽了对方的朋友圈对方知道吗)

  • word怎么添加红色方框(word怎么添加红色粗波浪下划线)

    word怎么添加红色方框(word怎么添加红色粗波浪下划线)

  • 12.9寸多大(12.9寸多大厘米)

    12.9寸多大(12.9寸多大厘米)

  • 隐身访问加访客数量吗(隐身访问访客量会增加吗)

    隐身访问加访客数量吗(隐身访问访客量会增加吗)

  • word第二行怎么空两格(word第二行怎么空格)

    word第二行怎么空两格(word第二行怎么空格)

  • appdata移动到其他盘方法(appdata如何移动)

    appdata移动到其他盘方法(appdata如何移动)

  • 大自然的水族馆中的水下景观,巴西 (© Michel Roggo/Minden Pictures)(大自然水族馆怎么样)

    大自然的水族馆中的水下景观,巴西 (© Michel Roggo/Minden Pictures)(大自然水族馆怎么样)

  • H5页面内嵌到微信小程序和APP,做分享操作(h5页面内嵌到微信)

    H5页面内嵌到微信小程序和APP,做分享操作(h5页面内嵌到微信)

  • 【玩转CSS】一文带你了解浮动(css转换器)

    【玩转CSS】一文带你了解浮动(css转换器)

  • 帝国CMS列表页中怎么获取当前信息所属专题名称(帝国cms简介标签)

    帝国CMS列表页中怎么获取当前信息所属专题名称(帝国cms简介标签)

  • 金税三期怎么合理避税
  • 税收分类方法表格
  • 递延所得税什么时候确认
  • 境外公司汇款给境内个人
  • 企业如何提供准确的会计信息
  • 增值税专用发票可以开电子发票吗
  • 培训机构的教材需要教育部门审批吗
  • 房地产公司解散条件
  • 企业支付给生产车间
  • 废料账务处理
  • 保函保证金怎么审计
  • 养老保险缴纳比例是固定的吗
  • 办公设备折旧年限及残值率
  • 单位购买办公用品可以抵扣吗
  • 税务社保扣取300干嘛的
  • 替票可以写入费用报销制度吗?
  • 什么情况下只交城建税不交教育及地方税?
  • 不动产经营租赁属于现代服务吗
  • 销售方开的普票税额怎么处理
  • 代收代缴消费税要交城建税吗?
  • 清卡信息还未生成请稍后再试什么意思
  • 深度操作系统的窗口管理器
  • 进项票月初收到能抵上月
  • 笔记本cpu天梯图苹果
  • linux 部署
  • 物业公司给业主的生日祝福
  • won10搜索框
  • 基金管理人业绩报酬分配模式
  • 已缴税额比应纳税额多
  • linux源码安装软件的方法介绍
  • 存货分类账目录填写样本图片
  • 绿萝怎么养才能爬藤
  • 免税企业所得税的有
  • 钢铁企业成本核算表
  • 会计政策变更属于经营情况变化吗
  • 预收账款和应收账款的账务处理
  • 阿里云盘 icloud
  • 固定资产清理会议记录范文
  • 一般纳税人申请转为小规模纳税人
  • 未开票收入如何做会计分录
  • scrapy csdn
  • 个体户季度免多少税
  • 有收入就要结转成本吗为什么
  • 固定资产的会计政策有哪些
  • 人工安装费是几个点税税率
  • 资产负债表中衍生金融资产项目应根据什么科目填列
  • 物流辅助服务是
  • 小型商贸企业
  • mysql sql性能调优的方法
  • 增值税征收类型
  • 普通发票的金额包含增值税吗
  • 劳务派遣和劳务承揽的区别
  • 运输费和货款一样吗
  • 暂扣员工工资应怎么处理
  • 非限定性净资产 限定性净资产
  • 一般纳税人进货的会计分录怎么做
  • 管理费用业务招待费包括哪些
  • 产品成本核算有多条原则和要求
  • mysql中的查询
  • win10安装sqlserver2016出错
  • sql server常规错误
  • 修改mysql数据库字符集
  • mysql中自增
  • 苹果手机价格
  • win10应用商店下载路径更改
  • 跨网段加入域配置
  • linux常用网络工具
  • win8系统咋样
  • Androidannotation使用之@Rest与服务器交互的JSON数据转换(二)
  • 分享两句话
  • android适配器是什么意思
  • js 在线调试
  • unity ugu
  • python按位与操作
  • 境外付汇税务备案要多久
  • 北京市网上税务局(自然人版)
  • 如何查看税务登记信息
  • 税务征管科与纳税人有接触吗
  • 税务系统领导干部监督管理办法
  • 从哪个国家进口牛肉
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设