Contents
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 some demographics data about bank customers. The events leave the flow enriched by the target information computed by the model.
In StreamBase Studio, import this sample with the following steps:
-
From the top-level menu, select
> . -
Enter
pmml
to narrow the list of options. -
Select Performing modeling operations with PMML from the Large Data Storage and Analysis category.
-
Click
.
StreamBase Studio creates a project for the sample.
Run this sample in Studio as follows:
-
In the Project Explorer view, open the sample you just loaded.
If you see red marks on a project folder, wait a moment for the project to load its features.
If the red marks do not resolve themselves after a minute, select the project, right-click, and select
> from the context menu. -
Open the
src/main/eventflow/
folder.packageName
-
Open the
file and click theaudit.sbapp
Run button. This opens the SB Test/Debug perspective and starts the module.
-
In the Feed Simulations view, select the
audit.sbfs
file and click Run. -
In the Output Streams 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=523466.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
-
When done, press F9 or click the
Terminate EventFlow Fragment button.
The artifact management sample demonstrates how you can use Model Management Server (MMS) to feed data into the PMML operator to load new versions of models at runtime.
TIBCO Streaming Model Management Server is a separately installed product. This sample assumes that you have a running MMS that is accessible by Streaming. Refer to the product documentation for more information regarding MMS.
This sample also requires that you do the following:
-
Create a project in MMS with any Group identifier and Artifact identifier. Set the Version to
1.0.0-SNAPSHOT
. -
Create a new Model artifact (type
PMML
) calledaudit.pmml
in the project you just created. Choose theClassification
Category. Typesample
in the Path field. Click and select thesrc/main/resources/audit.pmml
file from your Streaming project. -
Follow the MMS Deployment workflow: Create a deploy descriptor, approve the project for deployment, and create a checkpoint. Do not deploy the project yet.
Run this sample in Studio as follows:
-
In the Project Explorer view, open the sample you just loaded.
If you see red marks on a project folder, wait a moment for the project to load its features.
If the red marks do not resolve themselves after a minute, select the project, right-click, and select
> from the context menu. -
Open the
src/main/eventflow/
folder.packageName
-
Open the
file and click theartifactmanagement.sbapp
Run button. This opens the SB Test/Debug perspective and starts the module.
-
Deploy the project from MMS. Wait until its status is running in the Deployments view.
-
In the Feed Simulations view, select the
audit.sbfs
file and click Run. -
In the Output Streams 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
-
When done, press F9 or click the
Terminate EventFlow Fragment button.
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 permission problems. 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.