Integrating rapid miner in C# application

Clan21
Clan21 New Altair Community Member
edited November 5 in Community Q&A
Hello   programmers,
funny circumstances force me to try run rapidminer in C#. It isnt my choice.Is there some way how to do this?
Thanks for any response.Even the crazy one.

Greetings,
Andrew :)

Answers

  • land
    land New Altair Community Member
    Hi Andrew,
    sounds really like fun :) I think you will either have to use the Java native interface JNI or use a webservice, which takes the data and runs the process on it and returns the results in an appropriate form. We currently provide some webservices, so if you don't want to write it on your own and host your own server, you might want to contact us.

    Greetings,
      Sebastian
  • Clan21
    Clan21 New Altair Community Member
    Hi Sebastian,
    thanks for reply. I look at JNI, IKVM, webservices and it look great.At this point I decrease my goals and I try using rapidminer in C# app rather than integrating.I choose simple solution via System.Diagnostics.Process.Start() method. However there is some sort of tedious problem. When i run the code in C# in Visual studio 2008 or directly from comand line, it ends up with error: [Fatal] Cannot read config file C:/Program Files/Rapid-I/RapidMiner/scripts/01_ParameterOptimization.xml! Here is the source code:

    static void Main(string[] args)
    {
               
               ProcessStartInfo Info = new ProcessStartInfo("C:/Program Files/Rapid-I/RapidMiner/scripts/rapidminer.bat");
               Info.UseShellExecute = false;
               Info.ErrorDialog = false;
               Info.CreateNoWindow = true;
               Info.RedirectStandardOutput = true;
               Info.Arguments = "C:/Program Files/Rapid-I/RapidMiner/scripts/01_ParameterOptimization.xml";
       
               Process p = System.Diagnostics.Process.Start(Info);

               System.IO.StreamReader oReader2 = p.StandardOutput;
               string sRes = oReader2.ReadToEnd();
               oReader2.Close();
               //All the external programs output is now in sRes
                           
               Console.WriteLine(sRes);
               Console.ReadLine();
               
    }
    I cant imagine where is the bug.In Java via metod RapidMiner. init()  and process.run() everything works well.

    Cheers,
    Andrew
  • land
    land New Altair Community Member
    Hi,
    I guess, your process files is either not existing, misspelled or simply must be quoted.

    Greetings,
      Sebastian
  • Clan21
    Clan21 New Altair Community Member
    Hi,
    adding escaped quotes fix my problem.Thanks.

    Cheers,
    Andrew
  • slycom
    slycom New Altair Community Member
    Hi,

    Any one used IKVM tool to run the RM from .NET application?