1

我正在考虑使用 RapidMiner 来存储和分析由脚本过程收集的数据集合。有没有办法从命令行脚本将 CSV 文件导入 RapidMiner 存储库?

4

1 回答 1

2

不是直接的。但是您可以使用连接到“存储”操作员的“读取 CSV”操作员创建一个流程,并将此流程存储在存储库中。可以从命令行调用此过程。如果文件和存储库位置是静态的并且不会更改,那么这就是您需要做的一切。

但是要动态指定输入文件和存储库位置,您需要宏。这些宏可以在命令行中设置,但遗憾的是仅在 RapidMiner 5.3 版中可用,目前尚未发布(但将在几周内发布)。同时,您可以使用来自sourceforge SVN 存储库(Unuk 分支)的最新版本。

在存储库中存储 CSV 的过程:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.000">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.3.000" expanded="true" name="Process">
    <process expanded="true" height="190" width="413">
      <operator activated="true" class="read_csv" compatibility="5.3.000" expanded="true" height="60" name="Read CSV" width="90" x="45" y="30">
        <parameter key="csv_file" value="%{csv-file}"/>
        <list key="annotations"/>
        <list key="data_set_meta_data_information"/>
      </operator>
      <operator activated="true" class="store" compatibility="5.3.000" expanded="true" height="60" name="Store" width="90" x="179" y="30">
        <parameter key="repository_entry" value="%{repository-location}"/>
      </operator>
      <connect from_op="Read CSV" from_port="output" to_op="Store" to_port="input"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
    </process>
  </operator>
</process>

假设您已将此过程保存在//home/steve/csv-to-repository并且您的当前目录是 RapidMiner 目录,您可以通过以下方式从命令行调用它:

./script/rapidminer //home/steve/csv-to-repository "-Mcsv-file=/path/to/your/csv/file" "-Mrepository-location=//repository/path/to/store/csv"
于 2012-11-20T08:29:49.043 回答