首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WEKA交叉验证离散化

WEKA交叉验证离散化
EN

Stack Overflow用户
提问于 2015-08-03 07:39:38
回答 1查看 523关注 0票数 1

我试图通过应用无监督的离散化滤波器来提高我的WEKA模型的准确性。我需要决定回收箱的数量,以及是否应该使用等频率的装夹。通常情况下,我会使用一个训练集来优化这一点。

但是,在使用交叉验证时,如何确定装箱的大小以及是否应该使用等频率的绑定?我最初的想法是在多次交叉验证测试中利用分类器的精度结果来找到最优的垃圾箱尺寸。然而,尽管使用交叉验证,使用同样的集合来测试模型的准确性,这不是错误的吗,因为我那时有一个过度拟合的模型?那么,确定垃圾箱大小的正确方法是什么呢?

我也尝试了监督离散过滤器,以确定垃圾箱的大小,但这只在单一的回收箱。这是否意味着我的数据过于随机,因此不能聚集到多个回收箱中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-04 16:00:51

是的,你对第一个问题的想法和担忧都是正确的。

你想要做的是参数优化。这个术语通常用于优化分类器的参数,例如,随机森林的树数或支持向量机的C参数。但是你也可以把它应用到预处理步骤和过滤器中。

在这种情况下,您必须做的是一个嵌套交叉验证。(您应该检查https://stats.stackexchange.com/以获得更多信息,例如这里这里)。重要的是,最终分类器,包括所有预处理步骤,如binning等,从未见过测试集,只有训练集。这是外部交叉验证

对于外部交叉验证的每个折叠,您需要在训练集上做一个内部交叉验证,以确定模型的最佳参数。

我将尝试在一个简单的两倍交叉验证中“可视化”它。

代码语言:javascript
复制
Data set
########################################

Split for outer cross-validation (2-fold)
#################### ####################
training set                     test set

Split for inner cross-validation
########## ##########
training         test

Evaluate parameters
########## ##########
build with  evaluated

bin size  5   acc 70%
bin size 10   acc 80%
bin size 20   acc 75%
...
=> optimal bin size: 10

Outer cross-validation (2-fold)
#################### ####################
training set                     test set
apply bin size 10
train model                evaluate model

参数优化可能是非常累人的。如果您有3个参数,每个参数值为10个,则需要对每个外部折叠进行10x10x10=1000参数组合。

这是机器学习的一个主题,因为你可以做任何事情,从简单的网格搜索到进化搜索。有时你可以使用启发式。但是每次你都需要做一些参数优化。

至于你的第二个问题:如果不看你的数据,这真的很难判断。但无论如何,你应该把它作为一个单独的问题发布。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31781852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档