Weka 3.8 使用GridSearch的方法及步骤

Weka 3.8 使用GridSearch的方法及步骤

WEKA 3-8中开始没有GridSearch,需要从WEKA GUIChooser首页,tools菜单下的Package Manager里边下载,操作如图所示。


按下图数字标记操作:

1:选中All

2:输入“GridSearch”,回车

3:Package里边就会出现结果,然后选中

4:单击“install”按钮

5:在右边5的位置可以看到安装进度条


在打开“Explorer”面板,在classify下的meta里边可以找到GridSearch了。

(需要先载入一个数据集,否则“classify”是灰色的)

载入数据集:


选中GridSearch


单击GridSearch的配置面板:(参数配置)【以libsvm的参数为例】

选中要用的分类器:libSVM(要优化其参数costgamma

                 可以配置部分参数,如normalize:True


Evaluation:Accuracy(离散类别的数据集)

XPropety:cost(优化参数名与libSVM中的参数名一致)

YPropety:gamma(优化参数名与libSVM中的参数名一致)

XBase:2 (用于pow计算的底)

XExpression:pow(BASE,1) (指数函数,还可以是别的函数)

XMax:3

XMin:0

XStep:1 (步长间隔)

表示cost的范围从[20,23],间隔为21 ,即横坐标:20,21,22,23

YBase:2

YExpression:pow(BASE,1)

YMax:16

YMin:0

YStep:2

表示gamma的范围从[20,216],间隔为22 ,即纵坐标:20,22,24,…,216

注:参数范围的设置,包括所使用的表达式,要根据训练实例来设置,可以开始把范围弄的小点儿(也就是网格小点儿),进行测试,多次寻找最佳的参数对,否则数据集比较大的话,会耗时很长,还不一定得出比较好的结果。

关于SVM参数的优化选取,国际上并没有公认统一的最好的方法,现在目前常用的方法就是让cg在一定的范围内取值,对于取定的c和g对于把训练集作为原始数据集利用K-CV方法得到在此组c和g下训练集验证分类准确率,最终取使得训练集验证分类准确率最高的那组c和g做为最佳的参数。

但有一个问题就是可能会有多组的c和g对应于最高的验证分类准确率,这种情况怎么处理?

这里采用的手段是选取能够达到最高验证分类准确率中参数c最小的那组c和g做为最佳的参数,如果对应最小的c有多组g,就选取搜索到的第一组c和g做为最佳的参数。

这样做的理由是:过高的c会导致过学习状态发生,即训练集分类准确率很高而测试集分类准确率很低(分类器的泛化能力降低),所以在能够达到最高验证分类准确率中的所有的成对的c和g中认为较小的惩罚参数c是更佳的选择对象。


交叉验证,为了加快速度,可以使用5折。


运行得出的结果:C=1,g = 256,平均准确率为81.79%


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值