@frontlinesystems/rason-mcp-server 2026.5.1 → 2026.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/LICENSE +35 -35
  2. package/examples/EXAMPLES_REFERENCE.md +128 -128
  3. package/examples/{optimization → Optimization}/Conic/AirlineHubConic.json +111 -111
  4. package/examples/{optimization → Optimization}/Conic/AirlineHubConic2.json +108 -108
  5. package/examples/{optimization → Optimization}/Conic/AirlineHubConic3.json +111 -111
  6. package/examples/{optimization → Optimization}/Conic/AirlineHubConic4.json +99 -99
  7. package/examples/{optimization → Optimization}/Conic/AirlineHubConic5.json +101 -101
  8. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv.json +81 -81
  9. package/examples/{optimization → Optimization}/DataBinding/ProductMixCsv4.json +96 -96
  10. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel.json +73 -73
  11. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel1.json +86 -86
  12. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel11.json +108 -108
  13. package/examples/{optimization → Optimization}/DataBinding/ProductMixExcel2.json +77 -77
  14. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab.json +89 -89
  15. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab1.json +73 -73
  16. package/examples/{optimization → Optimization}/DataBinding/ProductMixTab2.json +77 -77
  17. package/examples/{optimization → Optimization}/Linear/Inventory.json +199 -199
  18. package/examples/{optimization → Optimization}/Linear/Matop.json +119 -119
  19. package/examples/{optimization → Optimization}/Linear/ProductMix.json +97 -97
  20. package/examples/{optimization → Optimization}/Linear/ProductMix2.json +72 -72
  21. package/examples/{optimization → Optimization}/Linear/ProductMix3.json +49 -49
  22. package/examples/{optimization → Optimization}/Linear/ProductMix4.json +56 -56
  23. package/examples/{optimization → Optimization}/Linear/ProductMixCsv1.json +106 -106
  24. package/examples/{optimization → Optimization}/Linear/ProductMixCsv2.json +106 -106
  25. package/examples/{optimization → Optimization}/Linear/ProductMixSQL11.json +82 -82
  26. package/examples/{optimization → Optimization}/Linear/Rowop.json +126 -126
  27. package/examples/{optimization → Optimization}/NonLinear/AirlineHub.json +63 -63
  28. package/examples/{optimization → Optimization}/NonLinear/AirlineHub2.json +47 -47
  29. package/examples/{optimization → Optimization}/NonLinear/AirlineHub3.json +47 -47
  30. package/examples/{optimization → Optimization}/NonSmooth/Inventory2.json +159 -159
  31. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt.json +55 -55
  32. package/examples/{optimization → Optimization}/Quadratic/PortfolioOpt2.json +65 -65
  33. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyChance.json +78 -78
  34. package/examples/{optimization → Optimization}/WithUncertainty/GasCompanyRecourse.json +78 -78
  35. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect.json +77 -77
  36. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect2.json +81 -81
  37. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect3.json +84 -84
  38. package/examples/{optimization → Optimization}/WithUncertainty/ProjectSelect4.json +74 -74
  39. package/examples/{simulation → Simulation}/CandyStoreSalesUsingSIP.json +147 -147
  40. package/examples/{simulation → Simulation}/CollegeFundGrowth1.json +423 -423
  41. package/examples/{simulation → Simulation}/CollegeFundGrowth1SIPModel.json +27 -27
  42. package/examples/{simulation → Simulation}/CollegeFundGrowth2.json +415 -415
  43. package/examples/{simulation → Simulation}/CollegeFundGrowthSIP.json +401 -401
  44. package/examples/{simulation → Simulation}/GBMSimulationModel.json +236 -236
  45. package/examples/{simulation → Simulation}/YieldManagement(Sim).json +69 -69
  46. package/examples/{simulation → Simulation}/YieldManagement2(Sim).json +72 -72
  47. package/examples/calculation/DMNExamples/DMN Box Fun with typeDef result.json +53 -53
  48. package/examples/calculation/DMNExamples/DMN Context example.json +69 -69
  49. package/examples/calculation/DMNExamples/DMN DT with typeDef result.json +43 -43
  50. package/examples/calculation/DMNExamples/FEEL Date Time example.json +28 -28
  51. package/examples/calculation/DMNExamples/FEEL For iteration example.json +66 -66
  52. package/examples/calculation/DMNExamples/FEEL For with two indices.json +15 -15
  53. package/examples/calculation/DMNExamples/FEEL For with typeDef result.json +88 -88
  54. package/examples/calculation/DMNExamples/FEEL If Then Else example.json +25 -25
  55. package/examples/calculation/DMNExamples/FEEL List example.json +37 -37
  56. package/examples/calculation/DMNExamples/FEEL List operator.json +17 -17
  57. package/examples/calculation/DMNExamples/FEEL List with typeDef collection.json +36 -36
  58. package/examples/calculation/DMNExamples/FEEL Some or Every example.json +65 -65
  59. package/examples/calculation/DecisionTables/DT Datasource example.json +52 -52
  60. package/examples/calculation/DecisionTables/DT Date and Time examples.json +91 -91
  61. package/examples/calculation/DecisionTables/DT Expression example.json +32 -32
  62. package/examples/calculation/DecisionTables/DT Hit Policy examples.json +136 -136
  63. package/examples/calculation/DecisionTables/DT Loan Recommend model.json +81 -81
  64. package/examples/calculation/DecisionTables/DT Loan Strategy Model and Predictive CSV-XML.json +218 -218
  65. package/examples/calculation/DecisionTables/DT Loan Strategy model and Datasource.json +286 -286
  66. package/examples/calculation/DecisionTables/DT Loan Strategy model and Predictive.json +203 -203
  67. package/examples/calculation/DecisionTables/DT Loan Strategy model by scratch.json +214 -214
  68. package/examples/calculation/DecisionTables/DT Output Order example.json +39 -39
  69. package/examples/calculation/DecisionTables/DT Unique example.json +38 -38
  70. package/examples/calculation/TypeDefinitions/TypeDefCF.json +64 -64
  71. package/examples/calculation/TypeDefinitions/TypeDefDT.json +57 -57
  72. package/examples/datamining/AffinityAnalysis/AssociationRules.json +51 -51
  73. package/examples/datamining/Classification/DecisionTree.json +90 -90
  74. package/examples/datamining/Classification/DiscriminantAnalysis.json +81 -81
  75. package/examples/datamining/Classification/Ensembles/Bagging.json +66 -66
  76. package/examples/datamining/Classification/Ensembles/Boosting.json +67 -67
  77. package/examples/datamining/Classification/Ensembles/RandomTrees.json +91 -91
  78. package/examples/datamining/Classification/FindBestModel.json +86 -86
  79. package/examples/datamining/Classification/LogisticRegression.json +82 -82
  80. package/examples/datamining/Classification/NaiveBayes.json +78 -78
  81. package/examples/datamining/Classification/NearestNeighbors.json +84 -84
  82. package/examples/datamining/Classification/NeuralNetwork.json +92 -92
  83. package/examples/datamining/Clustering/Hierarchical.json +54 -54
  84. package/examples/datamining/Clustering/KMeans.json +71 -71
  85. package/examples/datamining/DataSources/DelimitedFile.json +49 -49
  86. package/examples/datamining/DataSources/JSONFile.json +49 -49
  87. package/examples/datamining/DataSources/MSAccessDatabase.json +49 -49
  88. package/examples/datamining/DataSources/MSExcelTable.json +50 -50
  89. package/examples/datamining/DataSources/MSSQLDatabase.json +49 -49
  90. package/examples/datamining/DataSources/ODATATable.json +49 -49
  91. package/examples/datamining/DataSources/ODBCDatabase.json +49 -49
  92. package/examples/datamining/FeatureSelection/LinearWrapping.json +53 -53
  93. package/examples/datamining/FeatureSelection/LogisticWrapping.json +56 -56
  94. package/examples/datamining/FeatureSelection/Univariate.json +78 -78
  95. package/examples/datamining/Regression/DecisionTree.json +82 -82
  96. package/examples/datamining/Regression/Ensembles/Bagging.json +62 -62
  97. package/examples/datamining/Regression/Ensembles/Boosting.json +62 -62
  98. package/examples/datamining/Regression/Ensembles/RandomTrees.json +78 -78
  99. package/examples/datamining/Regression/FindBestModel.json +86 -86
  100. package/examples/datamining/Regression/LinearRegression.json +124 -124
  101. package/examples/datamining/Regression/NearestNeighbors.json +77 -77
  102. package/examples/datamining/Regression/NeuralNetwork.json +82 -82
  103. package/examples/datamining/Scoring/JSONClassifier.json +62 -62
  104. package/examples/datamining/Scoring/JSONClassifierNN.json +62 -62
  105. package/examples/datamining/Scoring/JSONClusterizer.json +37 -37
  106. package/examples/datamining/Scoring/JSONForecaster.json +49 -49
  107. package/examples/datamining/Scoring/JSONLinearRegression.json +56 -56
  108. package/examples/datamining/Scoring/JSONPCA.json +41 -41
  109. package/examples/datamining/Scoring/JSONRegressor.json +56 -56
  110. package/examples/datamining/Scoring/JSONTransformer.json +38 -38
  111. package/examples/datamining/Scoring/PMMLClassifier.json +42 -42
  112. package/examples/datamining/Scoring/PMMLForecaster.json +43 -43
  113. package/examples/datamining/Scoring/PMMLRegressor.json +38 -38
  114. package/examples/datamining/Scoring/PMMLTransformer.json +38 -38
  115. package/examples/datamining/Simulation/LinearRegressionSimulation.json +117 -117
  116. package/examples/datamining/Simulation/SyntheticDataGeneration.json +108 -108
  117. package/examples/datamining/Simulation/pmml-risk-scoring.json +62 -62
  118. package/examples/datamining/Summarizer/Summarization.json +54 -54
  119. package/examples/datamining/TextMining/LatentSemanticAnalysis.json +51 -51
  120. package/examples/datamining/TextMining/TfIdf-FileData.json +65 -65
  121. package/examples/datamining/TextMining/TfIdf-InlineData.json +55 -55
  122. package/examples/datamining/TimeSeries/AddHoltWinters.json +79 -79
  123. package/examples/datamining/TimeSeries/Arima.json +74 -74
  124. package/examples/datamining/TimeSeries/DoubleExponential.json +65 -65
  125. package/examples/datamining/TimeSeries/Exponential.json +64 -64
  126. package/examples/datamining/TimeSeries/LagAnalysis.json +48 -48
  127. package/examples/datamining/TimeSeries/MovingAverage.json +65 -65
  128. package/examples/datamining/TimeSeries/MulHoltWinters.json +65 -65
  129. package/examples/datamining/TimeSeries/NoTrendHoltWinters.json +65 -65
  130. package/examples/datamining/Transformation/Binning.json +69 -69
  131. package/examples/datamining/Transformation/CanonicalVariateAnalysis.json +47 -47
  132. package/examples/datamining/Transformation/CategoryReduction.json +51 -51
  133. package/examples/datamining/Transformation/Factorization.json +50 -50
  134. package/examples/datamining/Transformation/MissingDataHandling.json +83 -83
  135. package/examples/datamining/Transformation/OneHotEncoding-DataInline.json +54 -54
  136. package/examples/datamining/Transformation/OneHotEncoding-DatainFile.json +48 -48
  137. package/examples/datamining/Transformation/PartitionTimeSeries.json +48 -48
  138. package/examples/datamining/Transformation/Partitioning-DF.json +72 -72
  139. package/examples/datamining/Transformation/Partitioning.json +46 -46
  140. package/examples/datamining/Transformation/PartitioningWithOversampling-DF.json +65 -65
  141. package/examples/datamining/Transformation/PartitioningWithOversampling.json +44 -44
  142. package/examples/datamining/Transformation/PrincipalComponentsAnalysis.json +52 -52
  143. package/examples/datamining/Transformation/Rescaling.json +67 -67
  144. package/examples/datamining/Transformation/Sampling.json +43 -43
  145. package/examples/datamining/Transformation/StratifiedSampling.json +46 -46
  146. package/examples/flow/SQLServerTransform.json +260 -260
  147. package/examples/flow/dm-calc-pipeline.json +277 -277
  148. package/examples/flow/dm-pipeline-simulation.json +113 -113
  149. package/examples/flow/opt-sim-pipeline.json +159 -159
  150. package/examples/flow/sim-dm-pipeline.json +106 -106
  151. package/examples/flow/sim-sim-pipeline.json +136 -136
  152. package/examples/index.json +4678 -4678
  153. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/DataFiltering/ListwithFilter.json +52 -52
  154. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ProductMix5.json +57 -57
  155. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/compoundWhileStatement.json +35 -35
  156. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/ifThenElseStatement.json +33 -33
  157. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/Loops/nestedLoop.json +25 -25
  158. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/ParallelArray.json +47 -47
  159. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/indexedArray.json +69 -69
  160. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/nonParallelArray.json +49 -49
  161. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/sumAggregateExample.json +337 -337
  162. package/examples/rason-features/Arrays_Loops_Tables/ArrayExamples/tsp.json +61 -61
  163. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Iter_Sim_RASON.json +190 -190
  164. package/examples/rason-features/BoxIterators/Box_Fun_Loop_Sim_RASON.json +75 -75
  165. package/examples/rason-features/BoxIterators/Box_Fun_Sim_RASON.json +108 -108
  166. package/examples/rason-features/BoxIterators/Box_Iter_SIM_RASON.json +68 -68
  167. package/examples/rason-features/BoxIterators/Box_Iterator_Calc_Loop.json +183 -183
  168. package/examples/rason-features/BoxIterators/Box_Iterator_with_typeDef_partial.json +79 -79
  169. package/examples/rason-features/BoxLambdaExamples/BoxFunOptimize.json +154 -154
  170. package/examples/rason-features/BoxLambdaExamples/BoxFunSimulate.json +118 -118
  171. package/examples/rason-features/BoxLambdaExamples/LambdaFunOptimize.json +142 -142
  172. package/examples/rason-features/BoxLambdaExamples/LambdaFunSimulate.json +81 -81
  173. package/examples/rason-features/ReferenceGuide/RGFirehouseLocation.json +69 -69
  174. package/examples/rason-features/ReferenceGuide/RGFirehouseLocationConic.json +113 -113
  175. package/examples/rason-features/ReferenceGuide/RGProductMixCsv1.json +107 -107
  176. package/examples/rason-features/ReferenceGuide/RGProductMixExcel11.json +117 -117
  177. package/examples/rason-features/ReferenceGuide/RGProductMixSQL11.json +108 -108
  178. package/examples/rason-features/UserGuide/UGAirlineHubCSV.json +67 -67
  179. package/examples/rason-features/UserGuide/UGForecast.json +50 -50
  180. package/examples/rason-features/UserGuide/UGProductMix1.json +48 -48
  181. package/examples/rason-features/UserGuide/UGProductMix2.json +48 -48
  182. package/examples/rason-features/UserGuide/UGProductMixTab1.json +67 -67
  183. package/examples/rason-features/UserGuide/UGProductMixTab2.json +76 -76
  184. package/examples/rason-features/UserGuide/UGProductMixTab3.json +66 -66
  185. package/examples/rason-features/UserGuide/UGProductMixTab4.json +70 -70
  186. package/examples/rason-features/UserGuide/UGProductMixTab5.json +67 -67
  187. package/examples/rason-features/UserGuide/UGProjectSelect0.json +91 -91
  188. package/examples/rason-features/UserGuide/UGProjectSelect1.json +74 -74
  189. package/examples/rason-features/UserGuide/UGProjectSelect2.json +74 -74
  190. package/examples/rason-features/UserGuide/UGYieldManagement1.json +61 -61
  191. package/examples/rason-features/UserGuide/UGYieldManagement2.json +61 -61
  192. package/examples/rason-features/UserGuide/UGYieldManagement3.json +63 -63
  193. package/out/index.cjs +1 -1
  194. package/package.json +3 -2
@@ -1,47 +1,47 @@
1
- {
2
- "modelName": "StratifiedSampling",
3
- "modelDescription": "Transformation RASON model example that performs stratefied sampling on a dataset. When statefied sampling is used, the population is first divided into groups of similar items. These groups are called strata. Each stratum, in turn, is sampled using simple random sampling. These samples are then combined to form a stratified random sample. This example uses an outside data source, hald-small-binary.txt, which can be downloaded by clicking the Download RASON Example Files icon (download icon) on the ribbon. To attach the source file to the example, click Choose Files (on the Properties tab on the right), navigate to the location of the downloaded files, select hald-small-binary.txt and click Open. Click the POST icon (upload icon) to POST the model to the RASON Server, then click the down arrow next to the Play icon and select Solve to solve the model.",
4
-
5
- "modelType": "datamining",
6
- "datasources": {
7
- "comment": "Define datasources to use with this model. Typically these bind to external data sources due to data volume.",
8
- "mySrc": {
9
- "comment": "Imports hald-small-binary.txt as datasource, downloadable by clicking Download RASON example data icon, on the ribbon.",
10
- "type": "csv",
11
- "connection": "hald-small-binary.txt",
12
- "direction": "import"
13
- }
14
- },
15
- "datasets": {
16
- "comment": "Datasets are bound to an entry in the datasources section",
17
- "myData": {
18
- "comment": "Binds mySrc datasource to the myData dataset.",
19
- "binding": "mySrc",
20
- "strataCol": "Y"
21
- }
22
- },
23
- "transformer": {
24
- "comment": "Defines a transformer, including the type, algorithm and parameters. Only 1 estimator/transformer may appear in a RASON model.",
25
- "mySampler": {
26
- "comment": "Defines mySampler as a stratified sampling transformer. Options related to the sampling algorithm may be set in parameters. For a complete list of all algorithm options, see the RASON Data Mining Components chapter in the RASON Reference Guide. (Click the Help tab to download.)",
27
- "type": "transformation",
28
- "algorithm": "stratifiedSampling",
29
- "parameters": {
30
- "sampleSize": 10,
31
- "replaceOption": false,
32
- "sortIndexes": false,
33
- "seed": 123,
34
- "StratificationMethod": "PROPORTIONAL"
35
- }
36
- }
37
- },
38
- "actions": {
39
- "comment": "Define actions, evaluations, and data to be used by the transformer created above.",
40
- "sampleData": {
41
- "comment": "Applies the stratified sampling transformer, using action: transform, to take a sample from the myData dataset, using data: myData. In return, the transformed dataset is requested in the JSON result. For a complete list of all parameters and evaluations supported by time series partitioning, see the RASON Data Mining Components chapter in the RASON Reference Guide. ",
42
- "data": "myData",
43
- "action": "transform",
44
- "evaluations": [ "transformation" ]
45
- }
46
- }
1
+ {
2
+ "modelName": "StratifiedSampling",
3
+ "modelDescription": "Transformation RASON model example that performs stratefied sampling on a dataset. When statefied sampling is used, the population is first divided into groups of similar items. These groups are called strata. Each stratum, in turn, is sampled using simple random sampling. These samples are then combined to form a stratified random sample. This example uses an outside data source, hald-small-binary.txt, which can be downloaded by clicking the Download RASON Example Files icon (download icon) on the ribbon. To attach the source file to the example, click Choose Files (on the Properties tab on the right), navigate to the location of the downloaded files, select hald-small-binary.txt and click Open. Click the POST icon (upload icon) to POST the model to the RASON Server, then click the down arrow next to the Play icon and select Solve to solve the model.",
4
+
5
+ "modelType": "datamining",
6
+ "datasources": {
7
+ "comment": "Define datasources to use with this model. Typically these bind to external data sources due to data volume.",
8
+ "mySrc": {
9
+ "comment": "Imports hald-small-binary.txt as datasource, downloadable by clicking Download RASON example data icon, on the ribbon.",
10
+ "type": "csv",
11
+ "connection": "hald-small-binary.txt",
12
+ "direction": "import"
13
+ }
14
+ },
15
+ "datasets": {
16
+ "comment": "Datasets are bound to an entry in the datasources section",
17
+ "myData": {
18
+ "comment": "Binds mySrc datasource to the myData dataset.",
19
+ "binding": "mySrc",
20
+ "strataCol": "Y"
21
+ }
22
+ },
23
+ "transformer": {
24
+ "comment": "Defines a transformer, including the type, algorithm and parameters. Only 1 estimator/transformer may appear in a RASON model.",
25
+ "mySampler": {
26
+ "comment": "Defines mySampler as a stratified sampling transformer. Options related to the sampling algorithm may be set in parameters. For a complete list of all algorithm options, see the RASON Data Mining Components chapter in the RASON Reference Guide. (Click the Help tab to download.)",
27
+ "type": "transformation",
28
+ "algorithm": "stratifiedSampling",
29
+ "parameters": {
30
+ "sampleSize": 10,
31
+ "replaceOption": false,
32
+ "sortIndexes": false,
33
+ "seed": 123,
34
+ "StratificationMethod": "PROPORTIONAL"
35
+ }
36
+ }
37
+ },
38
+ "actions": {
39
+ "comment": "Define actions, evaluations, and data to be used by the transformer created above.",
40
+ "sampleData": {
41
+ "comment": "Applies the stratified sampling transformer, using action: transform, to take a sample from the myData dataset, using data: myData. In return, the transformed dataset is requested in the JSON result. For a complete list of all parameters and evaluations supported by time series partitioning, see the RASON Data Mining Components chapter in the RASON Reference Guide. ",
42
+ "data": "myData",
43
+ "action": "transform",
44
+ "evaluations": [ "transformation" ]
45
+ }
46
+ }
47
47
  }
@@ -1,261 +1,261 @@
1
- {
2
- "flowName": "dmMLRSQLWorkflow",
3
- "flowDescription": "Example illustrates how SQL server commands may be utilized to manipulate data within a decision flow. This example includes 5 stages. RASON enables users to easily define multi-stage 'decision flows', where a stage can perform a SQL operation, apply a data transformation, train a machine learning model, apply it to score new data, run a simulation, solve a mathematical optimization problem, or evaluate one or more linked decision tables. Results are passed between stages in a rich, standard 'Indexed Data Frame' form. RASON uses an in-memory SQL database engine, plus 'smart evaluation' to run only the stages that have new input data, to execute these multi-stage flows as efficiently as possible. This decision flow uses two outside data source which can be downloaded by clicking RASON Example files icon. Then click Choose Files, from the Properties pane, browse to the location of the downloaded files, and click OK. To solve this model, first POST the model to the RASON server by clicking the POST icon, cloud icon, on the Editor ribbon. Then solve by clicking the down arrow next to the play icon, and clicking Solve.",
4
- "modelType": "flow",
5
- "sqlTransformStage": {
6
- "comment": "In the first stage of the decision flow, sqlTranformStage, a raw dataset, hald-small-SQL.txt, is imported into the RASON model as a datasource and then imported from a datasource into a dataset. Afterwards, a transformer is created which grabs all records in the dataset where the value for the x4 variable is greater than 6. In this instance the output of this stage is all records imported from the hald-small-SQL.txt dataset into the dataToSQLTransform dataset, except for 1. ",
7
- "modelName": "sqlTransformModel",
8
- "datasources": {
9
- "comment": "Use the datasources section to import any data into the RASON model.",
10
- "dataToSQLTransformSrc": {
11
- "comment": "The datasource, dataToSQLTransformSrc imports the hald-small-SQL.txt file downloadable from RASON Examples (last icon on the Editor ribbon.",
12
- "type": "csv",
13
- "connection": "hald-small-SQL.txt"
14
- }
15
- },
16
- "datasets": {
17
- "comment": "Use the datasets section to bind any data source to a data set.",
18
- "dataToSQLTransform": {
19
- "comment": "This dataset binds data from the dataToSQLTransformSrc datasource to the dataTOSQLTransform dataset. Four columns, Y, X1, X2, X3 and X4, are imported into the dataset.",
20
- "binding": "dataToSQLTransformSrc",
21
- "colNames": [ "Y", "X1", "X2", "X3", "X4" ]
22
- }
23
- },
24
- "transformer": {
25
- "comment": "Use the transformer section to create a transformer(s).",
26
- "mySQLTransformer": {
27
- "comment": "Creates a transformer that selects all records within dataToSQLTransform (hald-small-SQL.txt) where the x4 feature has a value greater than 6. (This is true in all records except 1.)",
28
- "type": "transformation",
29
- "algorithm": "sql",
30
- "parameters": {
31
- "query": "SELECT * FROM [dataToSQLTransform] WHERE X4>6;"
32
- }
33
- }
34
- },
35
- "actions": {
36
- "comment": "Applies transformers/estimators to the datasets.",
37
- "sqlTransformedData": {
38
- "comment": "Applies the mySQLTransformer transformer to dataToSQLTransform and creates the new dataset, sqlTransformedData.",
39
- "action": "transform",
40
- "evaluations": [ "transformation" ]
41
- }
42
- }
43
- },
44
- "partitioningStage": {
45
- "comment": "Transformation: partitioning: In the second stage of the decision flow, partitioningStage, the output from the 1st stage is partitioned into three partitions: training, validation and test using rations of 50% of records assigned to the training partition, 30% of records assigned to the validation partition and the remaining 20% of records assigned to the test partition.",
46
- "modelName": "partitioningModel",
47
- "inputParameters": {
48
- "comment": "The 2nd stage accepts the transformed dataset, sqlTransformedData, as an input.",
49
- "dataToPartition": {
50
- "value": "sqlTransformStage.sqlTransformedData.transformation"
51
- }
52
- },
53
- "transformer": {
54
- "comment": "Use the transformer section to create a transformer(s).",
55
- "myParitioner": {
56
- "comment": "Creates a transformer, myPartitioner, that partitions a dataset into three partitions: training, validation and test. The seed parameter is set to '123'. See the RASON reference guide for a list of options for the partitioning transformer.",
57
- "type": "transformation",
58
- "algorithm": "partitioning",
59
- "parameters": {
60
- "partitionMethod": "RANDOM",
61
- "ratios": [
62
- [ "Training", 0.5 ],
63
- [ "Validation", 0.3 ],
64
- [ "Testing", 0.2 ]
65
- ],
66
- "seed": 123
67
- }
68
- }
69
- },
70
- "actions": {
71
- "comment": "Applies transformers/estimators to the datasets.",
72
- "trainingPartition": {
73
- "comment": "Executes the transformer and creates the new dataset, trainingPartition.",
74
- "data": "dataToPartition",
75
- "action": "transform",
76
- "parameters": {
77
- "partition": "Training"
78
- },
79
- "evaluations": [ "transformation" ]
80
- },
81
- "validationPartition": {
82
- "comment": "Executes the transformer and creates the new dataset, validationPartition.",
83
- "data": "dataToPartition",
84
- "action": "transform",
85
- "parameters": {
86
- "partition": "Validation"
87
- },
88
- "evaluations": [ "transformation" ]
89
- },
90
- "testPartition": {
91
- "comment": "Executes the transformer and creates the new dataset, testPartition.",
92
- "data": "dataToPartition",
93
- "action": "transform",
94
- "parameters": {
95
- "partition": "Testing"
96
- },
97
- "evaluations": [ "transformation" ]
98
- }
99
- }
100
- },
101
- "rescalingStage": {
102
- "comment": "Transformation: rescaling: The third stage of the decision flow accepts the three partitions from the 2nd stage as input as well as a new data source, the hald-small-unlabeled.txt. Each of the three partitions and the new dataset are rescaled using unit normalization (with norm type = L1). The output from this stage are 4 rescaled datasets: rescaledTrainData, rescaledValidData, rescaledTestData and rescaledNewData. ",
103
- "modelName": "rescalingModel",
104
- "inputParameters": {
105
- "comment": "The third stage of the decision flow accepts the three partitions from the 2nd stage as input.",
106
- "trainData": {
107
- "value": "partitioningStage.trainingPartition.transformation"
108
- },
109
- "validData": {
110
- "value": "partitioningStage.validationPartition.transformation"
111
- },
112
- "testData": {
113
- "value": "partitioningStage.testPartition.transformation"
114
- }
115
- },
116
- "datasources": {
117
- "comment": "The third stage of the decision flow also accepts a new data source, the hald-small-unlabeled.txt.",
118
- "newDataSource": {
119
- "type": "csv",
120
- "connection": "hald-small-unlabeled.txt"
121
- }
122
- },
123
- "datasets": {
124
- "newData": {
125
- "comment": "Imports the hald-small-unlabeled.txt dataset into the current stage as the new data source, newDataSource. ",
126
- "binding": "newDataSource"
127
- }
128
- },
129
- "estimator": {
130
- "myRescaler": {
131
- "comment": "Creates an estimator, myRescaler, that rescales a dataset, except for the Y column, uisng Unit normalization with a normType= L1.",
132
- "type": "transformation",
133
- "algorithm": "rescaling",
134
- "parameters": {
135
- "technique": "UNIT_NORMALIZATION",
136
- "normType": "L1",
137
- "excludedCols": [ "Y" ]
138
- }
139
- }
140
- },
141
- "actions": {
142
- "rescalerModel": {
143
- "comment": "Fits a rescaled model, rescalerModel, to the trainData partition.",
144
- "trainData": "trainData",
145
- "estimator": "myRescaler",
146
- "action": "fit",
147
- "evaluations": [ "statistics" ]
148
- },
149
- "rescaledTrainData": {
150
- "comment": "Uses rescalerModel to rescale the training partition.",
151
- "data": "trainData",
152
- "fittedModel": "rescalerModel",
153
- "action": "transform",
154
- "evaluations": [ "transformation" ]
155
- },
156
- "rescaledValidData": {
157
- "comment": "Uses rescalerModel to rescale the validation partition.",
158
- "data": "validData",
159
- "fittedModel": "rescalerModel",
160
- "action": "transform",
161
- "evaluations": [ "transformation" ]
162
- },
163
- "rescaledTestData": {
164
- "comment": "Uses rescalerModel to rescale the test partition.",
165
- "data": "testData",
166
- "fittedModel": "rescalerModel",
167
- "action": "transform",
168
- "evaluations": [ "transformation" ]
169
- },
170
- "rescaledNewData": {
171
- "comment": "Uses rescalerModel to rescale the new data from hald-small-unlabeled.txt.",
172
- "data": "newData",
173
- "fittedModel": "rescalerModel",
174
- "action": "transform",
175
- "evaluations": [ "transformation" ]
176
- }
177
- }
178
- },
179
- "sqlUnionStage": {
180
- "comment": "Transformation: SQL: The fourth stage of the decision flow accepts the three rescaled partitions and the rescaled newdata dataset from the 3rd stage, then performs a union (combines) of the validation partition, test partition and new data dataset into one large dataset.",
181
- "modelName": "sqlUnionModel",
182
- "inputParameters": {
183
- "comment": "Imports the validation, test and new data partitions into the 4th stage.",
184
- "validData": {
185
- "value": "rescalingStage.rescaledValidData.transformation",
186
- "targetCol": "Y"
187
- },
188
- "testData": {
189
- "value": "rescalingStage.rescaledTestData.transformation",
190
- "targetCol": "Y"
191
- },
192
- "newData": {
193
- "value": "rescalingStage.rescaledNewData.transformation"
194
- }
195
- },
196
- "transformer": {
197
- "mySQLTransformer": {
198
- "comment": "Creates a transformer, mySQLTransformer that combines the rescaled validation partition (validData), rescaled test partition (testData) and the new data (newData) into one large dataset. ",
199
- "type": "transformation",
200
- "algorithm": "sql",
201
- "parameters": {
202
- "query": "SELECT * FROM [validData] UNION SELECT * FROM [testData] UNION SELECT * FROM [newData];"
203
- }
204
- }
205
- },
206
- "actions": {
207
- "joinedData": {
208
- "comment": "Applies the transformer, mySQLTransformation to create one large combined dataset.",
209
- "action": "transform",
210
- "evaluations": [ "transformation" ]
211
- }
212
- }
213
- },
214
- "mlrStage": {
215
- "comment": "Regression: linear model: The fifth stage of the decision flow accepts the training partition and the combined dataset, joinedData, as inputs, fits a multiple linear regression model to the training partition and then uses this model to score the combined dataset. ",
216
- "modelName": "mlrModel",
217
- "inputParameters": {
218
- "comment": "Accepts the rescaled training data and the joined data from the previous stage.",
219
- "trainData": {
220
- "value": "rescalingStage.rescaledTrainData.transformation",
221
- "targetCol": "Y"
222
- },
223
- "joinedData": {
224
- "value": "sqlUnionStage.joinedData.transformation"
225
- }
226
- },
227
- "estimator": {
228
- "mlrEstimator": {
229
- "comment": "Creates the estimator, mlrEstimator, to fit a dataset using multiple linear regression.",
230
- "type": "regression",
231
- "algorithm": "linearRegression",
232
- "parameters": {
233
- "fitIntercept": true
234
- }
235
- }
236
- },
237
- "actions": {
238
- "myModel": {
239
- "comment": "Fits a model using the estimator, mlrEstimator, to the trainData partition.",
240
- "trainData": "trainData",
241
- "estimator": "mlrEstimator",
242
- "action": "fit",
243
- "evaluations": [ "anova", "influenceDiagnostics", "detailedResiduals", "coefficients", "regressionSummary", "detailedCoefficients", "multicollinearityDiagnostics", "varianceCovariance", "predictorScreeningInfo", "entranceTolerance" ]
244
- },
245
- "trainScore": {
246
- "comment": "Fits a model using the estimator, mlrEstimator, to the trainData partition.",
247
- "data": "trainData",
248
- "fittedModel": "myModel",
249
- "action": "predict",
250
- "evaluations": [ "prediction", "residuals", "newIntervals", "sse", "ss", "sst", "mse", "rmse", "mad", "r2" ]
251
- },
252
- "joinedScore": {
253
- "comment": "Using the fitted model, myModel, the joinedScore action scores the joinedData dataset.",
254
- "data": "joinedData",
255
- "fittedModel": "myModel",
256
- "action": "predict",
257
- "evaluations": [ "prediction" ]
258
- }
259
- }
260
- }
1
+ {
2
+ "flowName": "dmMLRSQLWorkflow",
3
+ "flowDescription": "Example illustrates how SQL server commands may be utilized to manipulate data within a decision flow. This example includes 5 stages. RASON enables users to easily define multi-stage 'decision flows', where a stage can perform a SQL operation, apply a data transformation, train a machine learning model, apply it to score new data, run a simulation, solve a mathematical optimization problem, or evaluate one or more linked decision tables. Results are passed between stages in a rich, standard 'Indexed Data Frame' form. RASON uses an in-memory SQL database engine, plus 'smart evaluation' to run only the stages that have new input data, to execute these multi-stage flows as efficiently as possible. This decision flow uses two outside data source which can be downloaded by clicking RASON Example files icon. Then click Choose Files, from the Properties pane, browse to the location of the downloaded files, and click OK. To solve this model, first POST the model to the RASON server by clicking the POST icon, cloud icon, on the Editor ribbon. Then solve by clicking the down arrow next to the play icon, and clicking Solve.",
4
+ "modelType": "flow",
5
+ "sqlTransformStage": {
6
+ "comment": "In the first stage of the decision flow, sqlTranformStage, a raw dataset, hald-small-SQL.txt, is imported into the RASON model as a datasource and then imported from a datasource into a dataset. Afterwards, a transformer is created which grabs all records in the dataset where the value for the x4 variable is greater than 6. In this instance the output of this stage is all records imported from the hald-small-SQL.txt dataset into the dataToSQLTransform dataset, except for 1. ",
7
+ "modelName": "sqlTransformModel",
8
+ "datasources": {
9
+ "comment": "Use the datasources section to import any data into the RASON model.",
10
+ "dataToSQLTransformSrc": {
11
+ "comment": "The datasource, dataToSQLTransformSrc imports the hald-small-SQL.txt file downloadable from RASON Examples (last icon on the Editor ribbon.",
12
+ "type": "csv",
13
+ "connection": "hald-small-SQL.txt"
14
+ }
15
+ },
16
+ "datasets": {
17
+ "comment": "Use the datasets section to bind any data source to a data set.",
18
+ "dataToSQLTransform": {
19
+ "comment": "This dataset binds data from the dataToSQLTransformSrc datasource to the dataTOSQLTransform dataset. Four columns, Y, X1, X2, X3 and X4, are imported into the dataset.",
20
+ "binding": "dataToSQLTransformSrc",
21
+ "colNames": [ "Y", "X1", "X2", "X3", "X4" ]
22
+ }
23
+ },
24
+ "transformer": {
25
+ "comment": "Use the transformer section to create a transformer(s).",
26
+ "mySQLTransformer": {
27
+ "comment": "Creates a transformer that selects all records within dataToSQLTransform (hald-small-SQL.txt) where the x4 feature has a value greater than 6. (This is true in all records except 1.)",
28
+ "type": "transformation",
29
+ "algorithm": "sql",
30
+ "parameters": {
31
+ "query": "SELECT * FROM [dataToSQLTransform] WHERE X4>6;"
32
+ }
33
+ }
34
+ },
35
+ "actions": {
36
+ "comment": "Applies transformers/estimators to the datasets.",
37
+ "sqlTransformedData": {
38
+ "comment": "Applies the mySQLTransformer transformer to dataToSQLTransform and creates the new dataset, sqlTransformedData.",
39
+ "action": "transform",
40
+ "evaluations": [ "transformation" ]
41
+ }
42
+ }
43
+ },
44
+ "partitioningStage": {
45
+ "comment": "Transformation: partitioning: In the second stage of the decision flow, partitioningStage, the output from the 1st stage is partitioned into three partitions: training, validation and test using rations of 50% of records assigned to the training partition, 30% of records assigned to the validation partition and the remaining 20% of records assigned to the test partition.",
46
+ "modelName": "partitioningModel",
47
+ "inputParameters": {
48
+ "comment": "The 2nd stage accepts the transformed dataset, sqlTransformedData, as an input.",
49
+ "dataToPartition": {
50
+ "value": "sqlTransformStage.sqlTransformedData.transformation"
51
+ }
52
+ },
53
+ "transformer": {
54
+ "comment": "Use the transformer section to create a transformer(s).",
55
+ "myParitioner": {
56
+ "comment": "Creates a transformer, myPartitioner, that partitions a dataset into three partitions: training, validation and test. The seed parameter is set to '123'. See the RASON reference guide for a list of options for the partitioning transformer.",
57
+ "type": "transformation",
58
+ "algorithm": "partitioning",
59
+ "parameters": {
60
+ "partitionMethod": "RANDOM",
61
+ "ratios": [
62
+ [ "Training", 0.5 ],
63
+ [ "Validation", 0.3 ],
64
+ [ "Testing", 0.2 ]
65
+ ],
66
+ "seed": 123
67
+ }
68
+ }
69
+ },
70
+ "actions": {
71
+ "comment": "Applies transformers/estimators to the datasets.",
72
+ "trainingPartition": {
73
+ "comment": "Executes the transformer and creates the new dataset, trainingPartition.",
74
+ "data": "dataToPartition",
75
+ "action": "transform",
76
+ "parameters": {
77
+ "partition": "Training"
78
+ },
79
+ "evaluations": [ "transformation" ]
80
+ },
81
+ "validationPartition": {
82
+ "comment": "Executes the transformer and creates the new dataset, validationPartition.",
83
+ "data": "dataToPartition",
84
+ "action": "transform",
85
+ "parameters": {
86
+ "partition": "Validation"
87
+ },
88
+ "evaluations": [ "transformation" ]
89
+ },
90
+ "testPartition": {
91
+ "comment": "Executes the transformer and creates the new dataset, testPartition.",
92
+ "data": "dataToPartition",
93
+ "action": "transform",
94
+ "parameters": {
95
+ "partition": "Testing"
96
+ },
97
+ "evaluations": [ "transformation" ]
98
+ }
99
+ }
100
+ },
101
+ "rescalingStage": {
102
+ "comment": "Transformation: rescaling: The third stage of the decision flow accepts the three partitions from the 2nd stage as input as well as a new data source, the hald-small-unlabeled.txt. Each of the three partitions and the new dataset are rescaled using unit normalization (with norm type = L1). The output from this stage are 4 rescaled datasets: rescaledTrainData, rescaledValidData, rescaledTestData and rescaledNewData. ",
103
+ "modelName": "rescalingModel",
104
+ "inputParameters": {
105
+ "comment": "The third stage of the decision flow accepts the three partitions from the 2nd stage as input.",
106
+ "trainData": {
107
+ "value": "partitioningStage.trainingPartition.transformation"
108
+ },
109
+ "validData": {
110
+ "value": "partitioningStage.validationPartition.transformation"
111
+ },
112
+ "testData": {
113
+ "value": "partitioningStage.testPartition.transformation"
114
+ }
115
+ },
116
+ "datasources": {
117
+ "comment": "The third stage of the decision flow also accepts a new data source, the hald-small-unlabeled.txt.",
118
+ "newDataSource": {
119
+ "type": "csv",
120
+ "connection": "hald-small-unlabeled.txt"
121
+ }
122
+ },
123
+ "datasets": {
124
+ "newData": {
125
+ "comment": "Imports the hald-small-unlabeled.txt dataset into the current stage as the new data source, newDataSource. ",
126
+ "binding": "newDataSource"
127
+ }
128
+ },
129
+ "estimator": {
130
+ "myRescaler": {
131
+ "comment": "Creates an estimator, myRescaler, that rescales a dataset, except for the Y column, uisng Unit normalization with a normType= L1.",
132
+ "type": "transformation",
133
+ "algorithm": "rescaling",
134
+ "parameters": {
135
+ "technique": "UNIT_NORMALIZATION",
136
+ "normType": "L1",
137
+ "excludedCols": [ "Y" ]
138
+ }
139
+ }
140
+ },
141
+ "actions": {
142
+ "rescalerModel": {
143
+ "comment": "Fits a rescaled model, rescalerModel, to the trainData partition.",
144
+ "trainData": "trainData",
145
+ "estimator": "myRescaler",
146
+ "action": "fit",
147
+ "evaluations": [ "statistics" ]
148
+ },
149
+ "rescaledTrainData": {
150
+ "comment": "Uses rescalerModel to rescale the training partition.",
151
+ "data": "trainData",
152
+ "fittedModel": "rescalerModel",
153
+ "action": "transform",
154
+ "evaluations": [ "transformation" ]
155
+ },
156
+ "rescaledValidData": {
157
+ "comment": "Uses rescalerModel to rescale the validation partition.",
158
+ "data": "validData",
159
+ "fittedModel": "rescalerModel",
160
+ "action": "transform",
161
+ "evaluations": [ "transformation" ]
162
+ },
163
+ "rescaledTestData": {
164
+ "comment": "Uses rescalerModel to rescale the test partition.",
165
+ "data": "testData",
166
+ "fittedModel": "rescalerModel",
167
+ "action": "transform",
168
+ "evaluations": [ "transformation" ]
169
+ },
170
+ "rescaledNewData": {
171
+ "comment": "Uses rescalerModel to rescale the new data from hald-small-unlabeled.txt.",
172
+ "data": "newData",
173
+ "fittedModel": "rescalerModel",
174
+ "action": "transform",
175
+ "evaluations": [ "transformation" ]
176
+ }
177
+ }
178
+ },
179
+ "sqlUnionStage": {
180
+ "comment": "Transformation: SQL: The fourth stage of the decision flow accepts the three rescaled partitions and the rescaled newdata dataset from the 3rd stage, then performs a union (combines) of the validation partition, test partition and new data dataset into one large dataset.",
181
+ "modelName": "sqlUnionModel",
182
+ "inputParameters": {
183
+ "comment": "Imports the validation, test and new data partitions into the 4th stage.",
184
+ "validData": {
185
+ "value": "rescalingStage.rescaledValidData.transformation",
186
+ "targetCol": "Y"
187
+ },
188
+ "testData": {
189
+ "value": "rescalingStage.rescaledTestData.transformation",
190
+ "targetCol": "Y"
191
+ },
192
+ "newData": {
193
+ "value": "rescalingStage.rescaledNewData.transformation"
194
+ }
195
+ },
196
+ "transformer": {
197
+ "mySQLTransformer": {
198
+ "comment": "Creates a transformer, mySQLTransformer that combines the rescaled validation partition (validData), rescaled test partition (testData) and the new data (newData) into one large dataset. ",
199
+ "type": "transformation",
200
+ "algorithm": "sql",
201
+ "parameters": {
202
+ "query": "SELECT * FROM [validData] UNION SELECT * FROM [testData] UNION SELECT * FROM [newData];"
203
+ }
204
+ }
205
+ },
206
+ "actions": {
207
+ "joinedData": {
208
+ "comment": "Applies the transformer, mySQLTransformation to create one large combined dataset.",
209
+ "action": "transform",
210
+ "evaluations": [ "transformation" ]
211
+ }
212
+ }
213
+ },
214
+ "mlrStage": {
215
+ "comment": "Regression: linear model: The fifth stage of the decision flow accepts the training partition and the combined dataset, joinedData, as inputs, fits a multiple linear regression model to the training partition and then uses this model to score the combined dataset. ",
216
+ "modelName": "mlrModel",
217
+ "inputParameters": {
218
+ "comment": "Accepts the rescaled training data and the joined data from the previous stage.",
219
+ "trainData": {
220
+ "value": "rescalingStage.rescaledTrainData.transformation",
221
+ "targetCol": "Y"
222
+ },
223
+ "joinedData": {
224
+ "value": "sqlUnionStage.joinedData.transformation"
225
+ }
226
+ },
227
+ "estimator": {
228
+ "mlrEstimator": {
229
+ "comment": "Creates the estimator, mlrEstimator, to fit a dataset using multiple linear regression.",
230
+ "type": "regression",
231
+ "algorithm": "linearRegression",
232
+ "parameters": {
233
+ "fitIntercept": true
234
+ }
235
+ }
236
+ },
237
+ "actions": {
238
+ "myModel": {
239
+ "comment": "Fits a model using the estimator, mlrEstimator, to the trainData partition.",
240
+ "trainData": "trainData",
241
+ "estimator": "mlrEstimator",
242
+ "action": "fit",
243
+ "evaluations": [ "anova", "influenceDiagnostics", "detailedResiduals", "coefficients", "regressionSummary", "detailedCoefficients", "multicollinearityDiagnostics", "varianceCovariance", "predictorScreeningInfo", "entranceTolerance" ]
244
+ },
245
+ "trainScore": {
246
+ "comment": "Fits a model using the estimator, mlrEstimator, to the trainData partition.",
247
+ "data": "trainData",
248
+ "fittedModel": "myModel",
249
+ "action": "predict",
250
+ "evaluations": [ "prediction", "residuals", "newIntervals", "sse", "ss", "sst", "mse", "rmse", "mad", "r2" ]
251
+ },
252
+ "joinedScore": {
253
+ "comment": "Using the fitted model, myModel, the joinedScore action scores the joinedData dataset.",
254
+ "data": "joinedData",
255
+ "fittedModel": "myModel",
256
+ "action": "predict",
257
+ "evaluations": [ "prediction" ]
258
+ }
259
+ }
260
+ }
261
261
  }