“我如何从SVM交叉验证设置中看到实际和预测?”

GhostriderGhostrider 成员职位:60Maven
2019年5月编辑 帮助
我有一个SVM交叉验证设置,我想比较实际和预测。下面是我的设置:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<过程version = " 5.1.001 " >
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文




.
< /操作符>

.
.
<列出关键= " set_additional_roles " >


< / >列表
< /操作符>


“参数”<列表键= >
<参数键= " SVM。γ“价值= " (0.0;10)" / >
<参数键= " SVM。ν“价值= " [0.0,0.5]" / >
.
<参数键= " SVM。ε“价值= " [0;15]" / >
< / >列表




.





.





<列出关键= " class_weights " / >
.
< /操作符>



.
.
> < /过程


<列出关键= " application_parameters " / >
< /操作符>



< /操作符>


.



.
.
> < /过程
< /操作符>


. .

.
> < /过程
< /操作符>
/> .
.

.
.

> < /过程
< /操作符>
> < /过程
我如何得到一个训练数据+预测的示例表,以便我可以查看/绘制?

答案

  • SebastianLohSebastianLoh 成员职位:99因素二世
    嗨Ghostrider,

    如果你想从X-Validation中得到预测,你可以用X-Prediction操作符替换X-Validation操作符。

    只需在参数优化器之后添加x -预测SVM,它使用最优参数集。您可以像在其他线程中描述的那样应用计算出的最佳参数集http://rapid-i.com/rapidforum/index.php/topic,3010.msg11922.html#msg11922

    X-Prediction有一个“实验室”端口,用于传递标记数据。

    再见塞巴斯蒂安
  • GhostriderGhostrider 成员职位:60Maven
    X-Prediction会返回标签,但问题是它不会返回优化过程可以使用的性能向量。有没有一个例子,使用x预测参数优化?

    此外,我如何从x -验证/ x -预测运行中保存最好的、最优的模型?没有来自验证操作符的模型输出端口。
  • IngoRMIngoRM 管理员、版主、员工、RapidMiner认证分析师、RapidMiner认证专家、社区管理员、rmresearch研究员、成员、大学教授职位:1751年RM创始人
    你好,

    这当然是这个论坛中最常被回答的问题之一(在很久以前的SourceForge的旧论坛中甚至更多……)幸运的是,我花了一些时间来更详细地回答这个问题,最后一次有人问了一个著名的问题:“我的交叉验证的最佳模型是什么?”所以我们今天只看一个简短的链接:

    http://rapid-i.com/rapidforum/index.php/topic,62.msg1264.html

    希望有帮助,
    Ingo
  • GhostriderGhostrider 成员职位:60Maven
    嗨Ingo,
    谢谢你的回复。我可能没有正确理解交叉验证是如何使用的。我认为CV只是基于一部分数据训练一个模型,然后用这个模型测试另一部分数据,以评估准确性。因此,我认为交叉验证操作符应该有一个端口,如果需要的话,可以返回模型。我想看到的是测试示例集的预测与实际数据(实际上,我也有兴趣看到整个数据集),其中预测值是使用最优预测算子找到的参数训练的SVM预测的。从Sebastian的帖子中,我认为下面的XML是如何设置它的。谁能告诉我这看起来对不对

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <过程version = " 5.1.001 " >
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <描述> & lt; p>不同的操作符通常有很多参数,不清楚哪个参数值最适合手头的学习任务。参数优化操作符有助于为所使用的操作符找到最优参数集。& lt; / p>& lt; p>内部交叉验证评估每个参数集的性能。在此过程中对支持向量机的两个参数进行了调优。结果可以在3D(使用gnuplot)或颜色模式下绘制。& lt; / p>& lt; p> Try the following: <ul> <li>Start the process. The result is the best parameter set and the performance which was achieved with this parameter set.</li> <li>Edit the parameter list of the ParameterOptimization operator to find another parameter set.</li> </ul> </p>


    .
    < /操作符>

    “参数”<列表键= >
    /> .
    <参数键= " SVM。ε”价值= "[无穷,无穷;10;线性]" / >
    < / >列表




    .



    <列出关键= " class_weights " / >
    < /操作符>



    .
    .
    > < /过程


    <列出关键= " application_parameters " / >
    < /操作符>


    .

    .

    .
    > < /过程
    < /操作符>


    .
    <列出关键= "日志" >
    .


    < / >列表
    < /操作符>

    .



    . .

    .
    > < /过程
    < /操作符>

    .
    /> . .
    .
    .

    > < /过程
    < /操作符>
    > < /过程
    Ingo,如果我没有做足够的调查就问了这个问题,我很抱歉。我不是故意到这里来,不给任何回报就去揩人的。那么这个怎么样。我制作了一个连接操作符,它接受多个示例集,并根据公共列ID(列ID必须匹配,在所有示例集中顺序相同,每个表必须具有相同的大小)连接数据,因此这个操作符的用处比一般的连接操作符更有限,但如果您认为这将是一个有用的操作符(现有操作符没有涵盖),那么我很乐意分享我的代码。让我知道你的想法。
登录注册置评。