深度学习

(删除用户)(删除用户) 职位:0学习者三世
2019年5月编辑 帮助

我想在我的数据中结合深度学习和神经网络,因为它们的结果很好,但当我尝试结合它们时,会出现一些问题。请帮我解决
谢谢你!:) o:)

最好的答案

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    @mbs

    简单的调试技术是禁用标称到数值运算符之后的所有运算符,并将标称到数值运算符的输出连接到结果并运行程序。然后,您可以检查示例集的统计信息,以查看数据集的任何属性中是否有任何缺失的值。

    其次,在深度学习算法中加入神经网络是冗余的@hughesfleming68,您可以从神经网络算子参数中检查层信息,并将其添加到深度学习算子中作为新层。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    然后如果你想使用相同的架构,我认为你可以使用组模型算子并尝试。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    2019年4月编辑 解决方案接受
    它可以采用多个模型并将它们组合成单个模型。下面有更详细的解释。
    https://docs.www.turtlecreekpls.com/8.0/studio/operators/modeling/predictive/group_models.html

    当应用这个组合模型时,它等价于按各自的顺序应用原始模型r

    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    下面是一个工作示例,XML。仔细分析我的输入和输出,以及我是如何连接它们的。

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




    .
    .

    <过程扩展= " true " >
    <操作员激活="true" class="检索" compatibility="9.2.001" expanded="true" height="68" name="检索泰坦尼克训练" width="90" x="45" y="136">
    .
    < /操作符>




    .
    .



    .
    .

    .




    <列出关键= " comparison_groups " / >


    < /操作符>

    <枚举关键= "分区" >


    < /枚举>
    .
    .
    .
    < /操作符>


    .
    <枚举关键= " hidden_layer_sizes " >


    < /枚举>
    <枚举关键= " hidden_dropout_ratios " / >

    .
    .
    .
    .
    .

    .


    .

    .
    .
    .


    .
    .
    .

    .


    .

    .

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

    <列出关键= " hidden_layers " / >




    .

    .
    .
    .
    < /操作符>


    <列出关键= " application_parameters " / >

    < /操作符>








    .


    .
    .



    .



    .
    .



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

    .







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

    示例截图


    希望这能有所帮助。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

    sgenzer
  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    打开一个新进程,复制这段代码并将其粘贴到XML窗口(视图—>显示面板—> XML),然后单击绿色的标记。您可以看到该流程并运行它。我还附加了用于导入的过程,但首先尝试XML,以便您熟悉使用Rapidminer的方法。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    @mbs

    打开一个新进程,复制这段代码并将其粘贴到XML窗口(视图—>显示面板—> XML),然后单击绿色的标记。您可以看到该流程并运行它。我还附加了.rmp过程用于导入(文件——>导入过程),但首先尝试XML,以便您熟悉使用Rapidminer的方法。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    2019年4月编辑 解决方案接受
    你检查过读取excel操作符是否正在将你的标签列进入rapidminer吗?正如我前面所说的,你可以通过禁用所有其他操作符并将read excel连接到输出来检查。如果有问题,尝试导入RM存储库并检查。可能是一些简单的错误。

    @mbs还有一件事,你应该在读取excel后将角色设置为标签,以防你将数据分割为训练集和测试集。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    原因有很多,

    1.如何分割数据?如果它是一个随机分割,那么“你设置的是局部随机种子参数”,它会一直给你相同的训练和测试集。
    2.由于更复杂的神经网络(在神经网络+深度学习算法的情况下),您的算法可能会过拟合。
    3.您的数据集是否平衡(每个输出标签的样本数量相似)?如果不是,准确度就不是一个很好的性能衡量标准。

    出于原因1,我建议您使用交叉验证,而不是随机分割训练数据集和测试数据集。这会给你很多可靠的结果。
    出于原因2,您需要从较小的网络开始,然后根据数据和测试性能构建更复杂的网络。当一个简单的神经网络就可以完成你的任务时,构建更多隐藏层的网络是没有用处的。
    原因3,使用AUC和kappa值作为性能指标,而不是精度。

    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    对于问题1和原因1,即使使用分割验证,只有一个样本的标签也可以在Training dataset或testing dataset中,所以我不理解为什么只有一个样本的数据会在数据集中。

    我这么说的原因是,你的单个样本数据可以是训练数据集,也可以是测试数据集。如果它是在训练中,在测试数据集中检查性能是没有用的。如果它在测试集中,那么它在训练中从未见过,这意味着它将一直被预测错误,因为它的标签在算法训练时从未存在过。所以我认为单一样本的标签可能对性能测量没有用处。您可以使用分层抽样的交叉验证,尝试保持样本与所有子集中的每个类相关。

    如果您使用分裂验证,您应该在分裂数据的参数中检查“使用本地随机种子”。这将总是创建相同的训练和测试子集,即使您使用不同的模型。

    原因2:复杂的算法有时会过拟合(取决于数据)。深度学习算法是有更多隐藏层的算法。在我的声明中,我说的是先用一个隐藏层训练和测试一个模型,然后注意精度、kappa等性能参数。然后,您可以建立另一个具有更多隐藏层的模型,并查看性能。如果你的简单模型能提供最好的性能,就没有必要使用包含多个隐藏层的复杂模型。

    原因3:kappa值可以在-1到1之间。kappa值在0和1之间,越高越好。负kappa值介于-1和0之间,表示您的算法预测的数据类型完全相反。例如,如果你有20个样本,其中10个标记为男性,10个标记为女性。kappa值为零意味着,你的算法预测所有20个样本都是男性或女性。负kappa值意味着,你的算法预测的是相反的类别,这意味着男性样本被预测为女性,女性样本被预测为男性。正的kappa值意味着它试图预测给定样本的正确类别。更高的kappa意味着更好的预测。

    希望这能有所帮助。

    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

    sgenzer
  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    您的流程似乎是正确的,请尝试使用交叉验证而不是分割数据。你可以使用任何东西,但也可以尝试这些方法,这样你就可以很好地为你的论文辩护,因为你可能会遇到诸如“你的表现有多可靠?”等问题。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    根据我的理解,你可以用一个样本删除标签,我也不太确定这一点,因为这是我第一次用一个样本获得标签。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    你好@mbs

    简单的错误,您没有将交叉验证的“per”端口连接到结果。平均业绩
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    最后一件事,交叉验证结果可能比随机分割结果更低(糟糕)。原因是它对所有数据进行测试和训练,并对性能进行平均。如果有一些坏数据,会降低性能。要了解更多细节,请阅读交叉验证,您将了解它。但是交叉验证会给你可靠的结果。

    谢谢
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • sgenzersgenzer 管理员,版主,员工,RapidMiner认证分析师,社区管理员,成员,大学教授,PM版主职位:2959年社区经理
    解决方案接受
    @mbs我推荐学院的这个:https://academy.www.turtlecreekpls.com/learn/video/validating-a-model

    你也可以试着搜索社区…3月4日有一篇关于这个话题的文章写得很好。眨眼:


    (删除用户)
  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    是的,你可以选择任何适合你的情况。如果你问我,2000个样本是一个正常的数据,我用100000个样本交叉验证数据,以得到有信心的结果。同样,这可能是主观的。获得良好的性能和可靠的性能是两回事。尝试不同的东西,看看什么对你的论文有好处。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    对不起@mbs我忙得不可开交。我可以解释给你听。我知道你混淆了“小型网络”和“复杂网络”。神经网络可以有多层。所以,一个简单的神经网络,在我看来,就是有一个隐藏层和一些神经元。如果你用不同数量的神经元和不同的激活函数增加隐藏层的数量,网络就会变得更加复杂。你可以在Rapidminer中使用神经网络算子或深度学习算子或深度学习扩展来构建具有不同层数的模型。我建议你对神经网络和深度学习(深度神经网络)有一个大致的了解,并尝试在rapidminer中使用相关的操作符。

    如果你有任何具体的问题或需要澄清,我可以在这种情况下提供帮助,但建立模型需要时间。我建议你从rapidminer或任何其他来源观看视频和教程,让你更容易理解。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

    sgenzer
  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    你好@mbs

    您想要组合哪些模型?我不确定是否有一种方法可以在没有组模型算子的情况下组合模型。

    是的,交叉验证操作符将您的数据划分为多个子集,用于算法的训练和测试。是的,测试是在没有标签的情况下完成的,因为训练过的模型试图预测给定样本的输出。

    谢谢
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    是的,集成模型可以工作,但在分析更高的性能时应该小心。为此,您需要在使用交叉验证训练和测试模型之后,留出一些来自测试的数据。如果这个数据集的性能是好的,那么你的模型可能是好的。

    PS:交叉验证可以减少过拟合,但即使在交叉验证中,复杂的模型也容易过拟合,所以我们在分析非常好的结果时应该谨慎。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    抱歉,别搞混了。我说的是当我们观察到99%的准确率等高性能时所做的验证过程,我们将数据集分成0.8到0.2的比例,交叉验证数据集的0.8部分,然后我们连接交叉验证算子的模型输出来测试0.2%的数据集。现在我们可以从交叉验证和(0.2)数据集中获得性能。

    如果你觉得这很让人困惑,你可以继续你目前的结果。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    亲爱的朋友,这是著名的泰坦尼克号数据集,用于交叉验证和验证结果。你可以随心所欲地改变过程。

    请更具体地描述图表。你说的是哪些图表?

    另外,我猜这个帖子已经变得太长了。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    你好@mbs

    你可以从我的过程中看到两个表演。一个与交叉验证性能有关,另一个与保留数据集性能有关。你能告诉这两个表现(准确性和kappa)吗?
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

  • varunm1varunm1 主持人,职位:1207年独角兽
    解决方案接受
    它们是分开的。我在该过程中使用的交叉验证操作符将给出精度和kappa值,因为这适用于80%的数据。然后你有一个20%的测试数据(我称之为hold out数据),用于测试模型是否表现出一致的性能,你也会有这20%数据的性能(我在你的过程中将该性能操作符称为hold out性能)。
    问候,
    Varun
    https://www.varunmandalapu.com/

    是安全的。遵循预防措施,保持社交距离

«13.

答案

  • (删除用户)(删除用户) 职位:0学习者三世
    下一次尝试,下一题:( : / : ' (
  • hughesfleming68hughesfleming68 成员职位:323独角兽
    在第一个示例中,您需要检查整体。浏览一下这些例子,但是将神经网络与深度学习器结合起来有些多余。你可以考虑在深度学习器中添加额外的层。

    在第二个示例中,您需要消除或插入缺失的示例,以便在数据中没有任何空白。
  • (删除用户)(删除用户) 职位:0学习者三世
    hughesfleming68
    但是你能多解释一下额外的层吗?我不明白。
    在我的第二个例子中,我没有任何缺失值,但Rm的结果不清楚。我的意思是“MISSING VALUE”在这种情况下没有意义。
    谢谢:)
  • (删除用户)(删除用户) 职位:0学习者三世
    @varunm1
    谢谢你的建议:)
    我认为这是非常复杂的,我必须尝试更多:)
    我还得研究一下你的建议,因为我不能完全理解。: /
  • (删除用户)(删除用户) 职位:0学习者三世
    @varunm1
    谢谢你的好主意:) <3
    你能再解释一下群体模式吗?
    o:)
  • (删除用户)(删除用户) 职位:0学习者三世
    :) o:) B)完美的

  • (删除用户)(删除用户) 职位:0学习者三世
    @varunm1
    请看这个问题: /
  • (删除用户)(删除用户) 职位:0学习者三世
    2019年4月编辑
    @varunm1

    这是xml代码。
    我怎样才能把它导入我的RM来查看结果呢?: ' (
  • (删除用户)(删除用户) 职位:0学习者三世
    我现在看到截图了。
    完美的大<3 <3 o:)
  • (删除用户)(删除用户) 职位:0学习者三世
    2019年4月编辑
    varunm1
    我的不好用: ' (
    它需要很多额外的算子
    如何导入您的xml代码?
  • (删除用户)(删除用户) 职位:0学习者三世
    好的,我会的<3
  • (删除用户)(删除用户) 职位:0学习者三世
    varunm1
    我复制了你的xml,我改变了数据,但我不知道为什么我又错过了我的数据的最后一列,这是我的标签: ' ( : ' ( : ' (
    不管怎样@varunm1你和你在Rapidminer的团队太棒了。
    varunm1 hughesfleming68
  • (删除用户)(删除用户) 职位:0学习者三世
    2019年4月编辑
    @varunm1
    我会再次检查你提到的所有要点,但不幸的是,这是RM中的一个bug,我的一些朋友和我之前讨论过这个问题。如果你看了这个链接,你就会明白这个问题。
    https://community.www.turtlecreekpls.com/discussion/54499/read-excel-via-the-import-configuration-wizard-wont-work#latest
    :)
  • (删除用户)(删除用户) 职位:0学习者三世
    2019年4月编辑
    @varunm1
    最后我解决了这个问题。根据我之前发送的链接,我复制excel并将其放在一个新文件夹中并重命名,然后使用读取excel并从我的桌面中召回数据,它可以工作。:) ;) B)
    但我从你的xml代码,只是我改变了数据。
    谢谢<3
    varunm1
  • (删除用户)(删除用户) 职位:0学习者三世
    准确率是95%,但当我使用神经网络或深度学习时,每一个的准确率都是99.65%
    @varunm1你知道为什么组合的结果不如他们第一次单独尝试的好吗?
  • (删除用户)(删除用户) 职位:0学习者三世
    2019年4月编辑
    问题1:0.7和0.3的分裂数据。
    问题2::阿是的,你说得对。
    问题3:不,不是。
    原因1:交叉验证在我的RM中不起作用。只是有一点:我的一些标签只有一个样本,所以我认为交叉验证不好。
    对不起,我不明白。请再解释一下。
    原因3:我听说并阅读了一些关于AUC的论文,但不清楚,而且我也没有任何关于kappa的信息。请解释一下。
    varunm1
    谢谢你花时间回答我的问题<3
  • (删除用户)(删除用户) 职位:0学习者三世
    2019年4月编辑
    varunm1
    你的解释很完美。
    这是我的论文,我下载了大约2000个数据,它是无监督的,然后我给它贴上标签,让它有监督。一开始我必须做数据挖掘,但后来我把它改成了机器学习。
    重点是,我将所有标记的数据一次性召回到RM中,并使用分割数据对其进行分割。正确吗?
    谢谢你!
    问候
    mbs

  • (删除用户)(删除用户) 职位:0学习者三世
    2019年4月编辑
    对于kappa,结果是0.995
    我还尝试使用不同的算法或将它们结合起来,以便比较结果
    如果你认为某些标签中的一个数据是错误的,我会删除它们
  • (删除用户)(删除用户) 职位:0学习者三世
    请看这个过程<3

登录注册置评。