Report Generator

Fred12Fred12 Member Posts: 344 Unicorn
edited November 2018 in Help

hi

I was using generate report operator but have no idea how it works...

can someone explain? I have basically just connected performance vector outputs to it and want to create a pdf somewhere, however, I Get an error:

 

Process failed.  
The document has no pages.

Exception: com.lowagie.text.ExceptionConverter
Message: The document has no pages.
StackTrace:

 

Unbenannt.PNG

 

Answers

  • Telcontar120Telcontar120 Moderator, RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,630 Unicorn

    The reporting operators are a bit finicky.  FIrst you have to define the report "shell" using Generate Report operator.  Then you use the "report" operator itself to define the individual elements that you want to put into that shell.  Perhaps the RapidMiner staff @bhupendra_patil  can point to documentation that explains how to use it in more detail.  

    Brian T.
    Lindon Ventures 
    Data Science Consulting from Certified RapidMiner Experts
  • M_MartinM_Martin RapidMiner Certified Analyst, Member Posts: 125 Unicorn

    Colleagues:

     

    Like others, I was struggling to get Reporting (using the RM Reporting Extension Operators) to work - but after a bit of tinkering, I seem to have found something that works.  The following narrative steps you through the process I followed which will hopefully be useful to others.

     

    The context: I'm running a Process that includes an SVM Model - and I want to get the Support Vector Table generated by the SVM into an Excel file for further analysis.  I could copy the Table from the Results tab into the clipboard (assuming I output the Model to a "res" node within the Process) and then paste this data into Excel - but I don't get the column names - I only get the raw data if I simply "copy" and "paste".  I want RM Studio to write out the Support Vector table in Excel as part of the Process.

     

    Step_1.png - we're inside the Cross Validation Operator where we run and apply the SVM model.  We then use the "Remember" Operator to remember a subset of the information inside the SVM Model (the Kernel Model).    

     

    Step_1_b.png shows the Parameters of the "Remember" Operator referred to above.  I name what I want to be remembered a name of my own choosing - and since the Support Vector Table is part of the Kernel Model within a SVM Model, I specify "KernelModel" as the "io object" type.

     

    Step_2.png - We're now outside the Cross Validation operator - and as an independent part of the process (no connections to any other operators) we use the "Recall" Operator to "recall" the Kernel Object we recently "remembered".   After the "Recall" Operator, we lay out the "Generate Report" and "Report" operators as shown in screen shot Step_2.png.

     

    Step_2_b.png - this screen shot shows the parameters of the "Recall" operator referred to above. 

     

    Step_2_c.png - the screen shot shows the parameters of the "Generate Report" Operator.  This Operator creates the "shell" of the report, whose contents are defind by one or more subsequent "Report" Operators as shown in screen shot Step_2.png.  I give the report the name "SVM Table" and select Excel as the output format and specify an Excel output file name.  Other report output formats include PDF and HTML.

     

    Step_2_d.png - this shows the parameters of the "Report" Operator shown in "Step_2.png" referred to above.  Note that the "Report Name" parameter of the "Report" Opertor is the same as the "Report Name" specified in the previous screen shot for the "Generate Report" operator ("SVM Table").  I l did not specify a "report item header" parameter.  The next screen shot relates to the "Configure Report" command button that appears in this screen shot,

     

    Step_2_e.png - Here is where we specify the type of report content that will be fed back to the "Generate Report" operator that will be written to the Excel file specified in the "Generate Report" Operator.  When we click on the "Configure Report" command button mentioned above a dialouge appears that we use to select the Report Content we want.  The Report content is of the type "Kernel Model" (what we "remembered" and "recalled").  The Support Vector Table resides within the "Kernel Model" object.  The other settings are default settings which I left as is and then I clicked on OK.

     

    We can now run the entire process - and voila - screen shot file Step_2_f.png shows the desired output (Support Vector Table) in Excel.

     

    What seems counter-intuitive is that the "Report" Operator feeds information backwards to the "Generate Report" Operator (as the "Report" Operator appears to the right of the "Generate Report" Operator.  But as long as we remember that "Generate Report" must precede one or more instances of the "Report" Operator (this looks to be how a Report Objct is initialized), all should work.  One can connect multiple "Report" Operators to a singe "Generate Reports"  Operator.  When I tried doing that, RM inserted a "content block" pertaining to the report content selections I made in the same sheet as the Support Vector Table I initially selected for inclusion in the report.

     

    This methodology did not work for me inside the "Cross Validation" Operator - it works for me only when I "recalled" something "remembered" within the "Cross Validation" operator from outside of the "Cross Validation" Operator, and configured the report independently of the flow defined by the other Operators in the process.

     

    One must take care to make select the correct "parent" and "child" objects to Remember, Recall, and specify using the "Configure Report" dialouge within the "Report" Operator.

     

    Hopefully this will be of help and best wishes, Michael

     

  • M_MartinM_Martin RapidMiner Certified Analyst, Member Posts: 125 Unicorn

    P.S.

     

    A slight mistake in my previous post.  The screen shot containing the final Report output in Excel is:

     

    Support_Vector_Table_In_Excel.png

     

    and not:

     

    Step_2_f.png

     

    Michael

     

  • Fred12Fred12 Member Posts: 344 Unicorn

    ok nice explanation,

    but one thing that I wonder is: What does the support vector table specifically tell you, I mean how do you interpret this table? I'd like to know as I also work with SVM but can't figure out what to do with that table...

  • Telcontar120Telcontar120 Moderator, RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 1,630 Unicorn

    There is also a new reporting extension available from OldWorldComputing, described here:

     http://community.rapidminer.com/t5/Community-Blog/Advanced-Reporting-Extension-published-by-Old-World-Computing/ba-p/37451

    You may find it is a bit easier to work with than the older RapidMiner reporting extension, although I don't know how it handles some of specific object types that you mention here.  

     

    Brian T.
    Lindon Ventures 
    Data Science Consulting from Certified RapidMiner Experts
  • M_MartinM_Martin RapidMiner Certified Analyst, Member Posts: 125 Unicorn

    Hi Fred12:

    If you look at:

    http://docs.opencv.org/2.4/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html

    The second graphic in that article shows the "Gutters" surrounding the Hyperplane that separates the classes.  As I understand it, the data points that lie directly on the dashed "Gutter" lines are the "Support Vectors".  

    Therefore, one could try to use the Support Vector Table to help better understand how the SVM Hyperplane separted the data observations into two classes as one of the data fields in the Support Vector Table is named "support vector".   Please see the attached screenshot.  Best wishes, Michael

Sign In or Register to comment.