JPMML Operator Sample

Introduction

This sample shows basic usage of the Java PMML model evaluator. The scenario uses an audit data dataset from the PMML examples at http://dmg.org/pmml/pmml_examples/index.html.

The EventFlow module in this sample shows an example of runtime binomial classification. The input events contain demographics data pertaining to bank customers. The events leave the flow enriched by the target information computed by the model.

Importing This Sample into StreamBase Studio

In StreamBase Studio, import this sample with the following steps:

  • From the top-level menu, select FileLoad StreamBase Sample.

  • Type JPMML to narrow the list of options.

  • Select JPMML from the StreamBase Model Operators category.

  • Click OK.

StreamBase Studio creates a project for the sample.

Running the Java PMML Sample in StreamBase Studio

Run this sample in Studio as follows:

  1. If you have not yet loaded the Java PMML Model sample into Studio, follow the steps in Importing This Sample.

  2. In the Package Explorer view, open the models-pmml-sample folder.

  3. Double-click to open the audit.sbapp application.

  4. Make sure the application is the currently active tab in the EventFlow Editor, then click the Run button. This opens the SB Test/Debug perspective and starts the application.

  5. In the Feed Simulations view, select the audit.sbfs and click Run.

  6. In the Application Output view, select All Output Streams and view the data emitted by the StreamBase application. It should start with tuples similar to the following:

    Target=0, Age=38.0, Employment=Private, Education=College, Marital=Unmarried, 
      Occupation=Service, Income=81838.0, Gender=Female, Deductions=0.0, Hours=72.0
    Target=0, Age=35.0, Employment=Private, Education=Associate, Marital=Absent, 
      Occupation=Transport, Income=72099.0, Gender=Male, Deductions=0.0, Hours=30.0
    Target=0, Age=32.0, Employment=Private, Education=HSgrad, Marital=Divorced, 
      Occupation=Clerical, Income=154676.74, Gender=Male, Deductions=0.0, Hours=40.0
    Target=1, Age=45.0, Employment=Private, Education=Bachelor, Marital=Married, 
      Occupation=Repair, Income=27743.82, Gender=Male, Deductions=0.0, Hours=55.0
    Target=1, Age=60.0, Employment=Private, Education=College, Marital=Married, 
      Occupation=Executive, Income=7568.23, Gender=Male, Deductions=0.0, Hours=40.0
    Target=0, Age=74.0, Employment=Private, Education=HSgrad, Marital=Married, 
      Occupation=Service, Income=33144.4, Gender=Male, Deductions=0.0, Hours=30.0
    Target=1, Age=43.0, Employment=Private, Education=Bachelor, Marital=Married, 
      Occupation=Executive, Income=43391.17, Gender=Male, Deductions=0.0, Hours=50.0
    Target=0, Age=35.0, Employment=Private, Education=Yr12, Marital=Married, 
      Occupation=Machinist, Income=59906.65, Gender=Male, Deductions=0.0, Hours=40.0
    Target=0, Age=25.0, Employment=Private, Education=Associate, Marital=Divorced, 
      Occupation=Clerical, Income=126888.91, Gender=Female, Deductions=0.0, Hours=40.0
    Target=0, Age=22.0, Employment=Private, Education=HSgrad, Marital=Absent, 
      Occupation=Sales, Income=52466.49, Gender=Female, Deductions=0.0, Hours=37.0
    Target=0, Age=48.0, Employment=Private, Education=College, Marital=Divorced, 
      Occupation=Service, Income=291416.11, Gender=Female, Deductions=0.0, Hours=35.0
  7. When done, press F9 or click the Stop Running Application button.

Running the Artifact Management PMML Sample in StreamBase Studio

The artifact management sample demonstrates how you can use a TIBCO Artifact Management Server to connect to the TibcoAMS operator and feed data into the PMML operator to load new versions of models at runtime.

The TIBCO Artifact Management Server is a separately installed product. This sample assumes that you have a running TIBCO Artifact Management Server that is accessible by StreamBase. Refer to the product documentation for more information regarding the Artifact Management Server.

This sample also requires that you do the following:

  1. Create a project folder in the Artifact Management Server called sample.

  2. Navigate to sample/models-pmml from your StreamBase installation directory and upload the audit.pmml file to the AMS sample project folder. Note that the sample/models-pmml directory in StreamBase is a different directory from the AMS sample project folder.

Run this sample in Studio as follows:

  1. If you have not yet loaded the Artifact Management PMML Model sample into Studio, follow the steps in Importing This Sample.

  2. In the Package Explorer view, open the models-pmml-sample folder.

  3. Double-click to open the artifactmanagement.sbapp application.

  4. Double-click the TibcoAMS operator to view the operator properties and verify the information is correct. The operator is configured to work with a default, fresh install of the Artifact Management Server.

  5. Make sure the application is the currently active tab in the EventFlow Editor, then click the Run button. This opens the SB Test/Debug perspective and starts the application.

  6. The application will try to pull the audit PMML model from the Artifact Management Server.

  7. In the Feed Simulations view, select the audit.sbfs and click Run.

  8. In the Application Output view, select All Output Streams and view the data emitted by the StreamBase application. It should start with tuples similar to the following:

    Target=0, Age=38.0, Employment=Private, Education=College, Marital=Unmarried, 
      Occupation=Service, Income=81838.0, Gender=Female, Deductions=0.0, Hours=72.0
    Target=0, Age=35.0, Employment=Private, Education=Associate, Marital=Absent, 
      Occupation=Transport, Income=72099.0, Gender=Male, Deductions=0.0, Hours=30.0
    Target=0, Age=32.0, Employment=Private, Education=HSgrad, Marital=Divorced, 
      Occupation=Clerical, Income=154676.74, Gender=Male, Deductions=0.0, Hours=40.0
    Target=1, Age=45.0, Employment=Private, Education=Bachelor, Marital=Married, 
      Occupation=Repair, Income=27743.82, Gender=Male, Deductions=0.0, Hours=55.0
    Target=1, Age=60.0, Employment=Private, Education=College, Marital=Married, 
      Occupation=Executive, Income=7568.23, Gender=Male, Deductions=0.0, Hours=40.0
    Target=0, Age=74.0, Employment=Private, Education=HSgrad, Marital=Married, 
      Occupation=Service, Income=33144.4, Gender=Male, Deductions=0.0, Hours=30.0
    Target=1, Age=43.0, Employment=Private, Education=Bachelor, Marital=Married, 
      Occupation=Executive, Income=43391.17, Gender=Male, Deductions=0.0, Hours=50.0
    Target=0, Age=35.0, Employment=Private, Education=Yr12, Marital=Married, 
      Occupation=Machinist, Income=59906.65, Gender=Male, Deductions=0.0, Hours=40.0
    Target=0, Age=25.0, Employment=Private, Education=Associate, Marital=Divorced, 
      Occupation=Clerical, Income=126888.91, Gender=Female, Deductions=0.0, Hours=40.0
    Target=0, Age=22.0, Employment=Private, Education=HSgrad, Marital=Absent, 
      Occupation=Sales, Income=52466.49, Gender=Female, Deductions=0.0, Hours=37.0
    Target=0, Age=48.0, Employment=Private, Education=College, Marital=Divorced, 
      Occupation=Service, Income=291416.11, Gender=Female, Deductions=0.0, Hours=35.0
  9. From the Artifact Management Server, deploy the model again to the running artifactmanagement.sbapp application using the following properties:

    1. Target Type: StreamBase URI

    2. StreamBase Server URI: sb://localhost

      If you are running the Artifact Management Server and StreamBase Studio on the same machine, you may need to change sb://localhost to sb://your machine name.

    3. Target StreamBase Operator: default.TibcoAMS

  10. In the Application Output view, notice the ModelLoadStatus output tuple showing a new model was loaded.

  11. When done, press F9 or click the Stop Running Application button.

Sample Location

When you load the sample into StreamBase Studio, Studio copies the sample project's files to your Studio workspace, which is normally part of your home directory, with full access rights.

Important

Load this sample in StreamBase Studio, and thereafter use the Studio workspace copy of the sample to run and test it, even when running from the command prompt.

Using the workspace copy of the sample avoids the permission problems that can occur when trying to work with the initially installed location of the sample. The default workspace location for this sample is:

studio-workspace/sample_operator_models_pmml

See Default Installation Directories for the default location of studio-workspace on your system.