Save Outputs without Overwriting previous outputs stuff

Many a times you may want to run workflows repeatedly and may have to save the result, if you would like to ensure that such outputs are not overwritten so that you can go back and review the results. The obvious solution here is to ensure that the store path is changed before every run.

But this option makes it difficult to manage the paths as well as error prone, where if you run without changing, you may end up overwriting previous results

To solve this issue we recommend you should use a process that can create new time stamp based folders or paths

We recommend using a macro as a folder name rather than the final entry name, since that will automaticall group items underone time stamp named folder

e.g /path/to/%{t}/modelname is better than /path/to/%{t}_modelname

1) Using Repository Manipulation related operator.

RapidMiner provides several operator to work with Repository Entries like Rename, Move, copy etc

Using an Operator like "Copy Repository Entry" where the source path points to top level folder /ProjectName/outputs and destination points to something like

/Projectresults/%{t}/ will copy the outputs folder and all its subfolder, items etc to a new path, the %{t} will be replaced by the system time stamp itself.

2) Use In-built macro directly This option is generally good when there is only one store operation in the entire workflow. RapidMiner provides an in-built macros which provides system time. The current system time is available as %{t}. So dropping in %{t} in the store path will automatically add a timestamp in the path and ensuring you are creating new folders. The time stamp are down to seconds level, so any process running more than a second should be fine.

3) Use in-built macro to set another macro

Since %{t1} always gives current system time down the second level, having multiple store operators which execute even a second apart will create new folder.

And also for long running process you may not exactly when the store happened leaving you to guess the right path. However in most cases you will know the time when you triggered of the process. So the solution here is the capture the start time of the process into another macro.

This can be done using the "set Macro" operator.

Use the set macro as one of the first operator and capture the start time into another macro. e.g below t1 will have the start time.

Then use t1 wherever you want to replace the path with process start time. This way t1 will be unique thru the whole time,ensuring your outputs are saved under the same folder for the same run

thanks, nice tutorial, but what if I have 7 results outputs set in my context window, but my path for the new folder does not exist yet, and I want to create it as soon as the results come out, how would I do that?

Should I use a set macro for the first result that comes out, use that macro to create my folder, and set all further results in the context to be stored in that same macro folder path?