位置: 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教程)

  • 当热点来了,如何判断这个热点要不要追?怎么追?(热点一下)

    当热点来了,如何判断这个热点要不要追?怎么追?(热点一下)

  • 支付宝集五福活动2021年开启时间几点(支付宝集五福活动2021年开启时间)(支付宝集五福活动什么时候开始)

    支付宝集五福活动2021年开启时间几点(支付宝集五福活动2021年开启时间)(支付宝集五福活动什么时候开始)

  • 蓝牙耳机两侧音量不同(蓝牙耳机两侧音量不一致)

    蓝牙耳机两侧音量不同(蓝牙耳机两侧音量不一致)

  • 网易云音乐关屏幕停止(网易云音乐关屏后过一会就没网了)

    网易云音乐关屏幕停止(网易云音乐关屏后过一会就没网了)

  • 微信公众号草稿恢复(微信公众号草稿箱继续编辑后怎样发送)

    微信公众号草稿恢复(微信公众号草稿箱继续编辑后怎样发送)

  • 苹果xr相机1x怎么开(iphone xr相机1x怎么设置)

    苹果xr相机1x怎么开(iphone xr相机1x怎么设置)

  • 网易云加入黑名单别人会知道吗(网易云加入黑名单发消息显示什么)

    网易云加入黑名单别人会知道吗(网易云加入黑名单发消息显示什么)

  • 漂流瓶在微信里找不到(漂流瓶在微信里怎么打开)

    漂流瓶在微信里找不到(漂流瓶在微信里怎么打开)

  • 苹果8p左上角阴影什么原因(苹果8p左上角阴影扩散么)

    苹果8p左上角阴影什么原因(苹果8p左上角阴影扩散么)

  • 双卡可以两个移动卡吗(双卡两个移动)

    双卡可以两个移动卡吗(双卡两个移动)

  • a2223和a2217区别(a2221和a2223区别)

    a2223和a2217区别(a2221和a2223区别)

  • ipad如何调出小白点(ipad小按钮怎么调出来)

    ipad如何调出小白点(ipad小按钮怎么调出来)

  • wps分栏线怎么设置(wps如何分栏加分隔线)

    wps分栏线怎么设置(wps如何分栏加分隔线)

  • 苹果手机晚上怎么拍照(苹果手机晚上怎么调夜间模式)

    苹果手机晚上怎么拍照(苹果手机晚上怎么调夜间模式)

  • 淘宝喵铺怎么进(淘宝喵铺怎样退出队伍)

    淘宝喵铺怎么进(淘宝喵铺怎样退出队伍)

  • 华为手机屏保图片自动下载怎么关闭(华为手机屏保图片怎么下载)

    华为手机屏保图片自动下载怎么关闭(华为手机屏保图片怎么下载)

  • 苹果11新机怎么使用(苹果11新机怎么设置ID)

    苹果11新机怎么使用(苹果11新机怎么设置ID)

  • 手机qq系统设置在哪里(手机qq 设置)

    手机qq系统设置在哪里(手机qq 设置)

  • qq名字前面有个耳朵是什么意思(qq名字前面有个帆船图)

    qq名字前面有个耳朵是什么意思(qq名字前面有个帆船图)

  • 安卓手机录音在哪里(安卓手机录音在哪里找到文件)

    安卓手机录音在哪里(安卓手机录音在哪里找到文件)

  • Win10系统打开电脑提示正在处理它怎么解决?(电脑win10点开始没反应)

    Win10系统打开电脑提示正在处理它怎么解决?(电脑win10点开始没反应)

  • hkserv.exe是什么进程 有什么作用 hkserv进程查询(hkc中文是什么意思)

    hkserv.exe是什么进程 有什么作用 hkserv进程查询(hkc中文是什么意思)

  • VUE -- defineExpose

    VUE -- defineExpose

  • python中count函数是什么意思?(python中的count函数)

    python中count函数是什么意思?(python中的count函数)

  • 个人所得税申报截止时间
  • 对方给我公司开的红字发票如何查询
  • 入资款印花税怎么计算
  • 工会经费应税项怎么算
  • 施工排水费是否属于措施费
  • 合伙企业分配利润需要全体合伙人同意吗
  • 现金形式发放的福利需要扣税吗
  • 自然人独资企业交哪些税
  • 营业执照年审后日期会变吗
  • 红字冲销是加还是减
  • 投标人认证证书
  • 事业单位的股东是什么
  • 员工替公司垫付的费用还没有报销就被开除了
  • 不是企业性质的民办学校要交什么税
  • 用银行本票结算材料货款
  • 认证抵扣完的发票怎么处理
  • 增值税进项税已转出后能否再抵扣
  • 技术服务从哪年开始实施
  • 水利行政事业性收费收入会计分录
  • 团体意外伤害险是保的什么
  • 最近偷税女星都有谁
  • 建筑劳务公司人员结构
  • 小微企业所得税税率2.5% 10% 25%
  • 收到单位失业保险怎么办
  • 筹建期的收入要交企业所得税吗
  • 增值税减少对企业的利弊
  • 个体工商户支付宝怎么开票
  • 营销策划费用计算公式
  • 用U盘安装苹果系统
  • 华为微信铃声怎么设置不跟随系统
  • 应收账款怎么做分录
  • 房产税和城镇土地使用税
  • winspool.drv病毒
  • 厂房拆迁补偿多少钱一平
  • 市面最高版本
  • 中国各省市区域划分
  • 刷票系统能看出来吗
  • 企业发放年终奖政府有哪些规定?
  • 汇算清缴补交的所得税怎么记帐
  • 按实际成本结转6日和7日的材料采购成本
  • php redis常用命令
  • thinkphp5.0框架
  • thinkphp3.2框架
  • vue.js.
  • vue动态绑定背景图
  • 手把手教你安装技嘉b550 master主板
  • postman密码
  • 长投转可供
  • 一般纳税人销售自行开发的软件产品
  • linux db2安装与配置
  • mysql分页性能优化
  • 六税一费和六税两费的区别
  • sql2008强制还原数据库
  • 存货核算方法有五种
  • 已经认证抵扣的发票会计分录
  • 交易性金融资产公允价值变动怎么算
  • 商标权属于什么科目
  • 过路费发票抵扣政策
  • 收到发票未抵扣,收票方也可以开红字信息表吗?
  • 作废的金额包含在总额里面吗
  • 公司报销给个人的会计分录
  • 办公用品的发票可以抵扣吗
  • 所有者权益是什么意思
  • 企业预付账款怎么做账
  • windows xp打开服务
  • freebsd操作命令
  • vmwares
  • 无光驱是不是放不了光盘
  • windows怎么安装apk
  • mac safari浏览历史
  • windows7找不到无线
  • win7专用字符编辑程序
  • 怎么在win7系统看蓝牙
  • linux对比文件夹差异
  • 5个小技巧让你成长
  • opengl 渲染yuv
  • AndroidStudio中aar文件引用
  • 百旺税控盘口令认证失败pin锁定怎么办
  • 走入基层
  • 税务稽查局工资高吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设