在RapidMiner内部创建操作符和扩展,无需编程

BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:875独角兽
2020年3月编辑 知识库
自定义操作符扩展已在RapidMiner Wisdom 2020上展示并在市场上发布。
它允许RapidMiner用户将现有进程转换为操作符,并将这些操作符捆绑到RapidMiner扩展中。扩展可以很容易地与他人共享,甚至在它们足够成熟时放在市场上。

使用此技术创建的初始扩展集已经可用:
  • 数据库嫉妒:为数据库中可用的东西实现两个操作符,现在在RapidMiner中:窗口函数(分组聚合和排名)和基于表达式的连接,以根据不等式甚至数学表达式等标准连接示例集。
  • 地理处理最后,RapidMiner中的地理数据处理!从Shapefiles和GIS数据库中导入数据,转换几何图形并计算其上的面积和距离等度量,加入几何关系等。

如何创建自己的扩展

安装自定义操作符扩展在您的工作室。重新启动Studio后,您将看到新的操作符(Extensions/Custom operators /Parameter Helper)和菜单项(File/Create Custom Operator和Extensions/Create Custom Extension)。

打开要转换为操作符的进程。您最希望定义一些参数。这些可以是流程中的操作符参数,也可以是使用自定义操作符扩展中的Set Macro或Boolean/Category Parameter Macro创建的宏。
用不同的输入彻底测试流程。你可能会连接可使如果您未来的操作符对某些输入进行操作,则将其移植到流程内的操作符。您可以通过在流程上下文中选择一个输入来使用测试数据,只是要记住在发布操作符之前删除它。

当您准备好从流程中创建第一个操作符时,单击菜单中的File/ create Custom operator。在计算机上创建一个文件夹,以便将自定义操作符保存到其中。填写Create Custom Operator表单。记录您的输入(特别是描述和参数帮助文本)是一个好主意,以便以后使用,例如在单独的文本文件中或在Wiki页面上。
选项中选择一个图标图标搜索网站。这些图标是在RapidMiner中授权使用的。
浏览应该公开的必要参数列表。激活要公开的每个参数的复选框。您可以输入参数的默认值,以及参数的简短描述(可选地包括HTML代码)。

完成后,单击Save。将在选定的文件夹中创建一个扩展名为.cusop的新文件。它包含流程定义和您输入的数据。

如果要创建另一个操作符,则对新流程重复此操作。如果操作符属于同一个扩展,则将它们放入同一个文件夹中。

当你准备好创建扩展时,在菜单中选择Extensions/ create Custom extension。填写数据。在其他地方记录输入也是一个好主意,以便下次使用。
扩展名是一个任意的、人类可读的名称。它将显示在操作符列表中的Extensions文件夹中。
自定义操作符文件夹是您放置自定义操作符的文件夹。如果需要将java模块(JAR文件)与扩展名捆绑在一起,请将它们放入单独的文件夹中,并在JAR文件夹下输入路径。
激活“强制依赖”,如果你想把扩展后的市场。

单击OK。这将需要大约一分钟来创建扩展。RapidMiner将在完成后重新启动新的扩展。享受你的新扩展!
创建一些带有测试数据的测试流程来验证新版本是否仍然正常工作是个好主意。

当您右键单击RapidMiner Studio中的自定义扩展时,有一个选项可以打开定义过程。您和自定义扩展的其他用户始终可以查看内部以了解该过程是如何工作的。

你可能想把一个图标到扩展。使用Zip归档管理器打开生成的扩展名.jar文件,并将一个PNG文件放入其中,将其命名为icon.png,放在jar归档文件中的META-INF文件夹中。

在Marketplace中发布扩展

当你的扩展准备好了,你想与RapidMiner社区分享它,去市场在那里注册。(此用户帐户不与其他RapidMiner服务集成。)注册并确认电子邮件地址后,您将看到一个链接对分享感兴趣?在主页上联系我们。

请注意输入正确的产品ID,以后无法更改。它由“rmx__”和您在RapidMiner扩展文件夹中的扩展名组成。如果它在您的计算机上被称为my_extension-1.0.000.jar,那么产品ID将是rmx_my_extension。
填写其他输入字段,并确认您已经阅读了开发人员协议(在您阅读之后)。

RapidMiner的某个人会检查你的提交,通常会在几天后。他们可能会联系你提出问题。
审批过程完成后,您可以在Marketplace页面顶部的菜单中选择扩展并上传您的扩展。上传后,您点击激活链接,您的扩展是可用的市场!它将通过运算符搜索找到,就像其他扩展一样。
(删除用户) lionelderkrikor DocMusher gmeier jwpfau tkenez Pavithra_Rao sgenzer IngoRM jczogalla pschlunder

评论

  • kaymankayman 成员职位:662独角兽
    真的为此感到兴奋,但是文档中的一些图像示例会有所帮助,因为我有点难以理解如何使用所有不同的选项来创建自己的操作符。

    因此,就像在单个/一组操作符中对现有过程进行简单(甚至是虚拟)转换的A到Z示例一样
    Jasmine_
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:875独角兽
    你说得对。@kayman
    我想我会用图片创建一个一步一步的指南。你是否有一个新的操作符的想法,它足够简单,可以作为教程,但实际上很有用?

    Balazs
    Jasmine_
  • kaymankayman 成员职位:662独角兽
    我的候选名单上的一个是我们的一些NLP工作流程。作为一个例子,我有从文本生成词表的过程,所以我们这边的潜在操作符将是>定义您喜欢分析的属性> wordlist作为示例设置出来的数据集。这样“普通人”就不会直接接触到内部工作流(属性为文本-处理文档(全部小写-标记-停止词等))

    在这种情况下,我想知道我是否能够使用我的新操作符的参数(或如何做到这一点)来定义在新操作符中使用的操作符的参数,如prune设置等。

    但这已经相当深入了,所以使用一个或两个虚拟操作符的简单过程以及理解如何定义这些操作符的参数(如果这是一个开始的选项)已经非常有用了
    Jasmine_ btibert
  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3297年RM数据科学家
    @kayman
    这不就是文本矢量化正在做的吗?

    最好的
    马丁
    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
    Jasmine_
  • kaymankayman 成员职位:662独角兽
    部分。我错过了文本矢量化的几个重要选项(比如所有降低大写字母,过滤掉小标记,大标记,生成n-gram,停止词等等)。

    当然,对于我给出的示例,文本矢量化确实可以做到这一点,但实际上我需要更多的选项,所以假设我想创建自己的改进操作符,类似于那个操作符。
    MartinLiebig Jasmine_
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:875独角兽
    这是一个很好的算符例子吗?优化决策树。它将由优化参数、交叉验证和决策树组成。一些选项将被公开,它将返回模型、性能和参数。
    Jasmine_ IngoRM
  • kaymankayman 成员职位:662独角兽
    @BalazsBarany这对我来说肯定有用。最后,任何涵盖大多数选项的流程都可以反向工程到其他流程。
  • (删除用户)(删除用户) 职位:0学习者三世
    @BalazsBarany

    你好

    我们可以制作一个像反编译器一样工作的操作符吗?它对于对文件进行逆向工程非常有用。

    问候
    mbs
    Jasmine_
  • BalazsBaranyBalazsBarany 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家职位:875独角兽
    @mbs

    自定义操作符允许您从RapidMiner进程创建操作符。如果可以创建反编译器进程,则可以将其转换为操作符和扩展,并将其发布到市场上。但我不认为这是一个好的教程过程。

    问候,
    Balazs
    (删除用户) Jasmine_
  • kaymankayman 成员职位:662独角兽
    太棒了,非常感谢!
    sgenzer Jasmine_
  • gmeiergmeier 员工,成员职位:24RM工程
    自定义操作符扩展的新版本(0.9.3)已经发布。

    这些是新功能:
    • 新增属性参数宏操作符,可将宏设置为可从下拉菜单中选择的属性名。
    • 修正了选择属性的参数的元数据:现在元数据是从通过第一个输入端口直接连接的自定义操作符端口获取的。如果不可能直接连接,则可以使用属性参数宏操作符。
    • 增加了一个从文件重新加载按钮切换到Create Custom Operator对话框,该对话框允许从现有的.cusop文件中重新加载信息。
    • 增加了通过Create custom Operator对话框中的复选框定义哪些自定义参数应该是可选的选项。
    此外,我们建议额外安装快速发展延伸在不重启的情况下重新(加载)自定义扩展。
    (删除用户) BalazsBarany yyhuang
  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3297年RM数据科学家
    @gmeier你太棒了!谢谢你!

    快速开发扩展是否也适用于其他扩展?
    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
  • jczogallajczogalla 员工,成员职位:144RM工程
    @mschmitz
    它没有更新了相当一段时间,所以我认为它可能适用于一些扩展,但不是所有的。您可以尝试它,如果它不起作用,只需重新启动Studio。
    要加载从市场下载的扩展,请转到Extensions -> load /Replace extension,并从. rapidminer /managed文件夹中选择下载的扩展。最好选择“临时更改”,“加载前符合”和“显示结果”,看看它是否正常工作。
登录注册置评。