多类分类的分步优化
你好,
我正在使用不同的算法(决策树,KNN, Naïve贝叶斯,支持向量机,NN)进行多类分类,我正在尝试优化我的结果。我想一步一步地做,这样你们就能看到一个过程。首先,我只在交叉验证操作符中使用每个算法。下一步应该是网格操作符的优化(也在交叉验证中)。
现在我们来看看我的第一个问题:
我真的不确定,在网格优化中我必须选择哪些参数。对于Decision tree和KNN (Naïve贝叶斯没有任何参数需要设置),我使用了一些参数并获得了更好的结果……所以这对我来说很好。
但是,如果我为SVM选择以下参数,则该过程不会运行(它运行了许多小时,但没有结果):
- SVM Gamma 0-1;十步;线性
- svm.c 0-1;十步;线性
-支持向量机。0.001ε1;十步;线性
我的神经网络算法也遇到了同样的问题:
-学习率0.01-0.4;十步;日志。
-动量0.01-0.4;十步;日志。
有什么问题,所以我的过程不工作吗?
优化结果的下一步是使用(在网格操作符旁边)来自市场的样本(平衡)操作符。我将操作符放在交叉验证之前。这个操作符对我的小标签进行采样,这样数据集就更平衡了。我的问题是:
我把我的查全率和查准率从35%提高到75%是现实的吗?对我来说,这发生在决策树,KNN和Naïve贝叶斯。
最后一个问题:
按照以下顺序来展示改进过程是不是一个好方法/好主意?
1.只有每种算法
2.算法+网格
3.算法+网格+样本(平衡)
4.算法+网格+样本(平衡)+装袋/adaboost
非常感谢。
问候,
凯文
0
答案
相反,对于你的神经网络,你的范围是可以的,但你应该在这么小的范围内使用线性步长,而不是对数步长。
Lindon合资企业
乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
谢谢你的回答。我改变了范围和步骤的种类(线性;日志)。但我的问题仍然存在,这个过程将不会运行到最后。我的笔记本电脑计算了15个多小时,但优化的网格操作只达到了1%。你有什么建议吗?
问候
先尝试不进行优化的运行(保持默认值)。您的流程是否在合理的时间内运行?如果没有,那么应该对数据集进行抽样。
尝试优化一个更小的组合集。优化网格运算符将取所有测试值的组合乘积。因此,如果你有3个参数要优化,并且你试图在每个参数的10个值中搜索,那么你要尝试测试1000个组合。即使对于大型机器,这通常也是不可行的。相反,专注于更少的步骤。尽量把总数控制在一个合理的数字内。
Lindon合资企业
乐鱼平台进入来自认证RapidMiner专家的数据科学咨询