├── .github └── workflows │ └── maven.yml ├── LICENSE ├── README.md ├── pmmlParser1.0文件读取版 ├── PMMLDemo.r ├── iris_rf.pmml ├── irisv2.csv ├── pmmlParserFile.jar ├── pmmlParserFile │ ├── .classpath │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── bin │ │ ├── iris_rf.pmml │ │ ├── parser │ │ │ ├── ModelCalc.class │ │ │ └── ModelInvoker.class │ │ └── test │ │ │ └── ModelCalcTest.class │ ├── irisv2.csv │ ├── lib │ │ ├── commons-math3-3.6.1.jar │ │ ├── fastjson-1.2.9.jar │ │ ├── guava-18.0.jar │ │ ├── joda-time-2.9.9.jar │ │ ├── pmml-agent-1.3.7.jar │ │ ├── pmml-evaluator-1.3.7.jar │ │ ├── pmml-manager-1.1.20.jar │ │ ├── pmml-model-1.3.7.jar │ │ └── pmml-schema-1.3.7.jar │ ├── result.txt │ ├── source │ │ ├── pmml-evaluator-1.3.7-sources.jar │ │ ├── pmml-model-1.3.7-sources.jar │ │ └── pmml-schema-1.3.7-sources.jar │ └── src │ │ ├── iris_rf.pmml │ │ ├── parser │ │ ├── ModelCalc.java │ │ └── ModelInvoker.java │ │ └── test │ │ └── ModelCalcTest.java └── result.txt └── pmmlParser2.0Json服务版 └── pmmlParserJson ├── .classpath ├── .project ├── .settings ├── org.eclipse.jdt.core.prefs └── org.eclipse.wst.common.project.facet.core.xml ├── Parser.log ├── bin ├── baidu │ └── Parser.class └── test │ └── ParserTest.class ├── gbdt.pmml ├── lib ├── commons-math3-3.6.1.jar ├── fastjson-1.2.9.jar ├── guava-18.0.jar ├── joda-time-2.9.9.jar ├── pmml-agent-1.3.7.jar ├── pmml-evaluator-1.3.7.jar ├── pmml-manager-1.1.20.jar ├── pmml-model-1.3.7.jar └── pmml-schema-1.3.7.jar ├── source ├── pmml-evaluator-1.3.7-sources.jar ├── pmml-model-1.3.7-sources.jar └── pmml-schema-1.3.7-sources.jar └── src ├── baidu └── Parser.java └── test └── ParserTest.java /.github/workflows/maven.yml: -------------------------------------------------------------------------------- 1 | name: Java CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v1 12 | - name: Set up JDK 1.8 13 | uses: actions/setup-java@v1 14 | with: 15 | java-version: 1.8 16 | - name: Build with Maven 17 | run: mvn -B package --file pom.xml 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The 996ICU License (996ICU) 2 | Version 0.1, March 2019 3 | 4 | PACKAGE is distributed under LICENSE with the following restriction: 5 | 6 | The above license is only granted to entities that act in concordance 7 | with local labor laws. In addition, the following requirements must be 8 | observed: 9 | 10 | * The licencee must not, explicitly or implicitly, request or schedule 11 | their employees to work more than 45 hours in any single week. 12 | * The licencee must not, explicitly or implicitly, request or schedule 13 | their employees to be at work consecutively for 10 hours. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # pmmlParser 2 | ## JPMML 加载 PMML 模型 3 | - 调用方式: 4 | ``` 5 | java -jar pmmlParser.jar [pmml file] [model input args] 6 | ``` 7 | - example: 8 | ``` 9 | java -jar pmmlParser.jar iris_rf.pmml irisv2.csv 10 | ``` 11 | 12 | ## Json服务版本pmmlParserJson 13 | - 调用方式 14 | 详情见测试用例 15 | ## Contact 16 | - E-mail liaotuocn@gmail.com 17 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/PMMLDemo.r: -------------------------------------------------------------------------------- 1 | # load library and data 2 | library(randomForest) 3 | data(iris) 4 | 5 | # load data and divide(划分) into training set and sampling(训练集和测试集) 6 | # 将数据分为两部分 70%训练集 30%测试集 7 | ind <- sample(2,nrow(iris),replace=TRUE,prob=c(0.7,0.3)) 8 | trainData <- iris[ind==1,] 9 | testData <- iris[ind==2,] 10 | 11 | # train model 12 | iris_rf <- randomForest(Species~.,data=trainData,ntree=100,proximity=TRUE) 13 | table(predict(iris_rf),trainData$Species) 14 | 15 | # visualize the model 16 | print(iris_rf) 17 | attributes(iris_rf) 18 | plot(iris_rf) 19 | 20 | # load xml and pmml library 21 | library(XML) 22 | library(pmml) 23 | 24 | # convert model to pmml 25 | iris_rf.pmml <- pmml(iris_rf,name="Iris Random Forest",data=iris_rf) 26 | 27 | # save to file "iris_rf.pmml" in same workspace 28 | saveXML(iris_rf.pmml,"D://iris_rf.pmml") 29 | 30 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/irisv2.csv: -------------------------------------------------------------------------------- 1 | Sepal.Length,Sepal.Width,Petal.Length,Petal.Width,Species,level,level1 2 | 5.1,3.5,1.4,0.2,0,1,1 3 | 4.9,3,1.4,0.2,0,0,0 4 | 4.7,3.2,1.3,0.2,0,0,0 5 | 4.6,3.1,1.5,0.2,0,0,0 6 | 5,3.6,1.4,0.2,0,1,1 7 | 5.4,3.9,1.7,0.4,0,1,1 8 | 4.6,3.4,1.4,0.3,0,0,0 9 | 5,3.4,1.5,0.2,0,1,0 10 | 4.4,2.9,1.4,0.2,0,0,0 11 | 4.9,3.1,1.5,0.1,0,0,0 12 | 5.4,3.7,1.5,0.2,0,1,1 13 | 4.8,3.4,1.6,0.2,0,0,0 14 | 4.8,3,1.4,0.1,0,0,0 15 | 4.3,3,1.1,0.1,0,0,0 16 | 5.8,4,1.2,0.2,0,1,1 17 | 5.7,4.4,1.5,0.4,0,1,1 18 | 5.4,3.9,1.3,0.4,0,1,1 19 | 5.1,3.5,1.4,0.3,0,1,1 20 | 5.7,3.8,1.7,0.3,0,1,1 21 | 5.1,3.8,1.5,0.3,0,1,1 22 | 5.4,3.4,1.7,0.2,0,1,0 23 | 5.1,3.7,1.5,0.4,0,1,1 24 | 4.6,3.6,1,0.2,0,0,1 25 | 5.1,3.3,1.7,0.5,0,1,0 26 | 4.8,3.4,1.9,0.2,0,0,0 27 | 5,3,1.6,0.2,0,1,0 28 | 5,3.4,1.6,0.4,0,1,0 29 | 5.2,3.5,1.5,0.2,0,1,1 30 | 5.2,3.4,1.4,0.2,0,1,0 31 | 4.7,3.2,1.6,0.2,0,0,0 32 | 4.8,3.1,1.6,0.2,0,0,0 33 | 5.4,3.4,1.5,0.4,0,1,0 34 | 5.2,4.1,1.5,0.1,0,1,1 35 | 5.5,4.2,1.4,0.2,0,1,1 36 | 4.9,3.1,1.5,0.1,0,0,0 37 | 5,3.2,1.2,0.2,0,1,0 38 | 5.5,3.5,1.3,0.2,0,1,1 39 | 4.9,3.1,1.5,0.1,0,0,0 40 | 4.4,3,1.3,0.2,0,0,0 41 | 5.1,3.4,1.5,0.2,0,1,0 42 | 5,3.5,1.3,0.3,0,1,1 43 | 4.5,2.3,1.3,0.3,0,0,0 44 | 4.4,3.2,1.3,0.2,0,0,0 45 | 5,3.5,1.6,0.6,0,1,1 46 | 5.1,3.8,1.9,0.4,0,1,1 47 | 4.8,3,1.4,0.3,0,0,0 48 | 5.1,3.8,1.6,0.2,0,1,1 49 | 4.6,3.2,1.4,0.2,0,0,0 50 | 5.3,3.7,1.5,0.2,0,1,1 51 | 5,3.3,1.4,0.2,0,1,0 52 | 7,3.2,4.7,1.4,1,1,0 53 | 6.4,3.2,4.5,1.5,1,1,0 54 | 6.9,3.1,4.9,1.5,1,1,0 55 | 5.5,2.3,4,1.3,1,1,0 56 | 6.5,2.8,4.6,1.5,1,1,0 57 | 5.7,2.8,4.5,1.3,1,1,0 58 | 6.3,3.3,4.7,1.6,1,1,0 59 | 4.9,2.4,3.3,1,1,0,0 60 | 6.6,2.9,4.6,1.3,1,1,0 61 | 5.2,2.7,3.9,1.4,1,1,0 62 | 5,2,3.5,1,1,1,0 63 | 5.9,3,4.2,1.5,1,1,0 64 | 6,2.2,4,1,1,1,0 65 | 6.1,2.9,4.7,1.4,1,1,0 66 | 5.6,2.9,3.6,1.3,1,1,0 67 | 6.7,3.1,4.4,1.4,1,1,0 68 | 5.6,3,4.5,1.5,1,1,0 69 | 5.8,2.7,4.1,1,1,1,0 70 | 6.2,2.2,4.5,1.5,1,1,0 71 | 5.6,2.5,3.9,1.1,1,1,0 72 | 5.9,3.2,4.8,1.8,1,1,0 73 | 6.1,2.8,4,1.3,1,1,0 74 | 6.3,2.5,4.9,1.5,1,1,0 75 | 6.1,2.8,4.7,1.2,1,1,0 76 | 6.4,2.9,4.3,1.3,1,1,0 77 | 6.6,3,4.4,1.4,1,1,0 78 | 6.8,2.8,4.8,1.4,1,1,0 79 | 6.7,3,5,1.7,1,1,0 80 | 6,2.9,4.5,1.5,1,1,0 81 | 5.7,2.6,3.5,1,1,1,0 82 | 5.5,2.4,3.8,1.1,1,1,0 83 | 5.5,2.4,3.7,1,1,1,0 84 | 5.8,2.7,3.9,1.2,1,1,0 85 | 6,2.7,5.1,1.6,1,1,0 86 | 5.4,3,4.5,1.5,1,1,0 87 | 6,3.4,4.5,1.6,1,1,0 88 | 6.7,3.1,4.7,1.5,1,1,0 89 | 6.3,2.3,4.4,1.3,1,1,0 90 | 5.6,3,4.1,1.3,1,1,0 91 | 5.5,2.5,4,1.3,1,1,0 92 | 5.5,2.6,4.4,1.2,1,1,0 93 | 6.1,3,4.6,1.4,1,1,0 94 | 5.8,2.6,4,1.2,1,1,0 95 | 5,2.3,3.3,1,1,1,0 96 | 5.6,2.7,4.2,1.3,1,1,0 97 | 5.7,3,4.2,1.2,1,1,0 98 | 5.7,2.9,4.2,1.3,1,1,0 99 | 6.2,2.9,4.3,1.3,1,1,0 100 | 5.1,2.5,3,1.1,1,1,0 101 | 5.7,2.8,4.1,1.3,1,1,0 102 | 6.3,3.3,6,2.5,2,1,0 103 | 5.8,2.7,5.1,1.9,2,1,0 104 | 7.1,3,5.9,2.1,2,1,0 105 | 6.3,2.9,5.6,1.8,2,1,0 106 | 6.5,3,5.8,2.2,2,1,0 107 | 7.6,3,6.6,2.1,2,1,0 108 | 4.9,2.5,4.5,1.7,2,0,0 109 | 7.3,2.9,6.3,1.8,2,1,0 110 | 6.7,2.5,5.8,1.8,2,1,0 111 | 7.2,3.6,6.1,2.5,2,1,1 112 | 6.5,3.2,5.1,2,2,1,0 113 | 6.4,2.7,5.3,1.9,2,1,0 114 | 6.8,3,5.5,2.1,2,1,0 115 | 5.7,2.5,5,2,2,1,0 116 | 5.8,2.8,5.1,2.4,2,1,0 117 | 6.4,3.2,5.3,2.3,2,1,0 118 | 6.5,3,5.5,1.8,2,1,0 119 | 7.7,3.8,6.7,2.2,2,1,1 120 | 7.7,2.6,6.9,2.3,2,1,0 121 | 6,2.2,5,1.5,2,1,0 122 | 6.9,3.2,5.7,2.3,2,1,0 123 | 5.6,2.8,4.9,2,2,1,0 124 | 7.7,2.8,6.7,2,2,1,0 125 | 6.3,2.7,4.9,1.8,2,1,0 126 | 6.7,3.3,5.7,2.1,2,1,0 127 | 7.2,3.2,6,1.8,2,1,0 128 | 6.2,2.8,4.8,1.8,2,1,0 129 | 6.1,3,4.9,1.8,2,1,0 130 | 6.4,2.8,5.6,2.1,2,1,0 131 | 7.2,3,5.8,1.6,2,1,0 132 | 7.4,2.8,6.1,1.9,2,1,0 133 | 7.9,3.8,6.4,2,2,1,1 134 | 6.4,2.8,5.6,2.2,2,1,0 135 | 6.3,2.8,5.1,1.5,2,1,0 136 | 6.1,2.6,5.6,1.4,2,1,0 137 | 7.7,3,6.1,2.3,2,1,0 138 | 6.3,3.4,5.6,2.4,2,1,0 139 | 6.4,3.1,5.5,1.8,2,1,0 140 | 6,3,4.8,1.8,2,1,0 141 | 6.9,3.1,5.4,2.1,2,1,0 142 | 6.7,3.1,5.6,2.4,2,1,0 143 | 6.9,3.1,5.1,2.3,2,1,0 144 | 5.8,2.7,5.1,1.9,2,1,0 145 | 6.8,3.2,5.9,2.3,2,1,0 146 | 6.7,3.3,5.7,2.5,2,1,0 147 | 6.7,3,5.2,2.3,2,1,0 148 | 6.3,2.5,5,1.9,2,1,0 149 | 6.5,3,5.2,2,2,1,0 150 | 6.2,3.4,5.4,2.3,2,1,0 151 | 5.9,3,5.1,1.8,2,1,0 152 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | pmmlParserFile 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 5 | org.eclipse.jdt.core.compiler.compliance=1.8 6 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 7 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 8 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 9 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 10 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 11 | org.eclipse.jdt.core.compiler.source=1.8 12 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/bin/parser/ModelCalc.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/bin/parser/ModelCalc.class -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/bin/parser/ModelInvoker.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/bin/parser/ModelInvoker.class -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/bin/test/ModelCalcTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/bin/test/ModelCalcTest.class -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/irisv2.csv: -------------------------------------------------------------------------------- 1 | Sepal.Length,Sepal.Width,Petal.Length,Petal.Width,Species,level,level1 2 | 5.1,3.5,1.4,0.2,0,1,1 3 | 4.9,3,1.4,0.2,0,0,0 4 | 4.7,3.2,1.3,0.2,0,0,0 5 | 4.6,3.1,1.5,0.2,0,0,0 6 | 5,3.6,1.4,0.2,0,1,1 7 | 5.4,3.9,1.7,0.4,0,1,1 8 | 4.6,3.4,1.4,0.3,0,0,0 9 | 5,3.4,1.5,0.2,0,1,0 10 | 4.4,2.9,1.4,0.2,0,0,0 11 | 4.9,3.1,1.5,0.1,0,0,0 12 | 5.4,3.7,1.5,0.2,0,1,1 13 | 4.8,3.4,1.6,0.2,0,0,0 14 | 4.8,3,1.4,0.1,0,0,0 15 | 4.3,3,1.1,0.1,0,0,0 16 | 5.8,4,1.2,0.2,0,1,1 17 | 5.7,4.4,1.5,0.4,0,1,1 18 | 5.4,3.9,1.3,0.4,0,1,1 19 | 5.1,3.5,1.4,0.3,0,1,1 20 | 5.7,3.8,1.7,0.3,0,1,1 21 | 5.1,3.8,1.5,0.3,0,1,1 22 | 5.4,3.4,1.7,0.2,0,1,0 23 | 5.1,3.7,1.5,0.4,0,1,1 24 | 4.6,3.6,1,0.2,0,0,1 25 | 5.1,3.3,1.7,0.5,0,1,0 26 | 4.8,3.4,1.9,0.2,0,0,0 27 | 5,3,1.6,0.2,0,1,0 28 | 5,3.4,1.6,0.4,0,1,0 29 | 5.2,3.5,1.5,0.2,0,1,1 30 | 5.2,3.4,1.4,0.2,0,1,0 31 | 4.7,3.2,1.6,0.2,0,0,0 32 | 4.8,3.1,1.6,0.2,0,0,0 33 | 5.4,3.4,1.5,0.4,0,1,0 34 | 5.2,4.1,1.5,0.1,0,1,1 35 | 5.5,4.2,1.4,0.2,0,1,1 36 | 4.9,3.1,1.5,0.1,0,0,0 37 | 5,3.2,1.2,0.2,0,1,0 38 | 5.5,3.5,1.3,0.2,0,1,1 39 | 4.9,3.1,1.5,0.1,0,0,0 40 | 4.4,3,1.3,0.2,0,0,0 41 | 5.1,3.4,1.5,0.2,0,1,0 42 | 5,3.5,1.3,0.3,0,1,1 43 | 4.5,2.3,1.3,0.3,0,0,0 44 | 4.4,3.2,1.3,0.2,0,0,0 45 | 5,3.5,1.6,0.6,0,1,1 46 | 5.1,3.8,1.9,0.4,0,1,1 47 | 4.8,3,1.4,0.3,0,0,0 48 | 5.1,3.8,1.6,0.2,0,1,1 49 | 4.6,3.2,1.4,0.2,0,0,0 50 | 5.3,3.7,1.5,0.2,0,1,1 51 | 5,3.3,1.4,0.2,0,1,0 52 | 7,3.2,4.7,1.4,1,1,0 53 | 6.4,3.2,4.5,1.5,1,1,0 54 | 6.9,3.1,4.9,1.5,1,1,0 55 | 5.5,2.3,4,1.3,1,1,0 56 | 6.5,2.8,4.6,1.5,1,1,0 57 | 5.7,2.8,4.5,1.3,1,1,0 58 | 6.3,3.3,4.7,1.6,1,1,0 59 | 4.9,2.4,3.3,1,1,0,0 60 | 6.6,2.9,4.6,1.3,1,1,0 61 | 5.2,2.7,3.9,1.4,1,1,0 62 | 5,2,3.5,1,1,1,0 63 | 5.9,3,4.2,1.5,1,1,0 64 | 6,2.2,4,1,1,1,0 65 | 6.1,2.9,4.7,1.4,1,1,0 66 | 5.6,2.9,3.6,1.3,1,1,0 67 | 6.7,3.1,4.4,1.4,1,1,0 68 | 5.6,3,4.5,1.5,1,1,0 69 | 5.8,2.7,4.1,1,1,1,0 70 | 6.2,2.2,4.5,1.5,1,1,0 71 | 5.6,2.5,3.9,1.1,1,1,0 72 | 5.9,3.2,4.8,1.8,1,1,0 73 | 6.1,2.8,4,1.3,1,1,0 74 | 6.3,2.5,4.9,1.5,1,1,0 75 | 6.1,2.8,4.7,1.2,1,1,0 76 | 6.4,2.9,4.3,1.3,1,1,0 77 | 6.6,3,4.4,1.4,1,1,0 78 | 6.8,2.8,4.8,1.4,1,1,0 79 | 6.7,3,5,1.7,1,1,0 80 | 6,2.9,4.5,1.5,1,1,0 81 | 5.7,2.6,3.5,1,1,1,0 82 | 5.5,2.4,3.8,1.1,1,1,0 83 | 5.5,2.4,3.7,1,1,1,0 84 | 5.8,2.7,3.9,1.2,1,1,0 85 | 6,2.7,5.1,1.6,1,1,0 86 | 5.4,3,4.5,1.5,1,1,0 87 | 6,3.4,4.5,1.6,1,1,0 88 | 6.7,3.1,4.7,1.5,1,1,0 89 | 6.3,2.3,4.4,1.3,1,1,0 90 | 5.6,3,4.1,1.3,1,1,0 91 | 5.5,2.5,4,1.3,1,1,0 92 | 5.5,2.6,4.4,1.2,1,1,0 93 | 6.1,3,4.6,1.4,1,1,0 94 | 5.8,2.6,4,1.2,1,1,0 95 | 5,2.3,3.3,1,1,1,0 96 | 5.6,2.7,4.2,1.3,1,1,0 97 | 5.7,3,4.2,1.2,1,1,0 98 | 5.7,2.9,4.2,1.3,1,1,0 99 | 6.2,2.9,4.3,1.3,1,1,0 100 | 5.1,2.5,3,1.1,1,1,0 101 | 5.7,2.8,4.1,1.3,1,1,0 102 | 6.3,3.3,6,2.5,2,1,0 103 | 5.8,2.7,5.1,1.9,2,1,0 104 | 7.1,3,5.9,2.1,2,1,0 105 | 6.3,2.9,5.6,1.8,2,1,0 106 | 6.5,3,5.8,2.2,2,1,0 107 | 7.6,3,6.6,2.1,2,1,0 108 | 4.9,2.5,4.5,1.7,2,0,0 109 | 7.3,2.9,6.3,1.8,2,1,0 110 | 6.7,2.5,5.8,1.8,2,1,0 111 | 7.2,3.6,6.1,2.5,2,1,1 112 | 6.5,3.2,5.1,2,2,1,0 113 | 6.4,2.7,5.3,1.9,2,1,0 114 | 6.8,3,5.5,2.1,2,1,0 115 | 5.7,2.5,5,2,2,1,0 116 | 5.8,2.8,5.1,2.4,2,1,0 117 | 6.4,3.2,5.3,2.3,2,1,0 118 | 6.5,3,5.5,1.8,2,1,0 119 | 7.7,3.8,6.7,2.2,2,1,1 120 | 7.7,2.6,6.9,2.3,2,1,0 121 | 6,2.2,5,1.5,2,1,0 122 | 6.9,3.2,5.7,2.3,2,1,0 123 | 5.6,2.8,4.9,2,2,1,0 124 | 7.7,2.8,6.7,2,2,1,0 125 | 6.3,2.7,4.9,1.8,2,1,0 126 | 6.7,3.3,5.7,2.1,2,1,0 127 | 7.2,3.2,6,1.8,2,1,0 128 | 6.2,2.8,4.8,1.8,2,1,0 129 | 6.1,3,4.9,1.8,2,1,0 130 | 6.4,2.8,5.6,2.1,2,1,0 131 | 7.2,3,5.8,1.6,2,1,0 132 | 7.4,2.8,6.1,1.9,2,1,0 133 | 7.9,3.8,6.4,2,2,1,1 134 | 6.4,2.8,5.6,2.2,2,1,0 135 | 6.3,2.8,5.1,1.5,2,1,0 136 | 6.1,2.6,5.6,1.4,2,1,0 137 | 7.7,3,6.1,2.3,2,1,0 138 | 6.3,3.4,5.6,2.4,2,1,0 139 | 6.4,3.1,5.5,1.8,2,1,0 140 | 6,3,4.8,1.8,2,1,0 141 | 6.9,3.1,5.4,2.1,2,1,0 142 | 6.7,3.1,5.6,2.4,2,1,0 143 | 6.9,3.1,5.1,2.3,2,1,0 144 | 5.8,2.7,5.1,1.9,2,1,0 145 | 6.8,3.2,5.9,2.3,2,1,0 146 | 6.7,3.3,5.7,2.5,2,1,0 147 | 6.7,3,5.2,2.3,2,1,0 148 | 6.3,2.5,5,1.9,2,1,0 149 | 6.5,3,5.2,2,2,1,0 150 | 6.2,3.4,5.4,2.3,2,1,0 151 | 5.9,3,5.1,1.8,2,1,0 152 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/commons-math3-3.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/commons-math3-3.6.1.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/fastjson-1.2.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/fastjson-1.2.9.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/guava-18.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/guava-18.0.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/joda-time-2.9.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/joda-time-2.9.9.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-agent-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-agent-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-evaluator-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-evaluator-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-manager-1.1.20.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-manager-1.1.20.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-model-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-model-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-schema-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/lib/pmml-schema-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/result.txt: -------------------------------------------------------------------------------- 1 | 模型读取成功 2 | ======当前行: 1======= 3 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 4 | setosa 5 | 1.0 6 | 0.0 7 | 0.0 8 | ======当前行: 2======= 9 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 10 | setosa 11 | 1.0 12 | 0.0 13 | 0.0 14 | ======当前行: 3======= 15 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 16 | setosa 17 | 1.0 18 | 0.0 19 | 0.0 20 | ======当前行: 4======= 21 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 22 | setosa 23 | 1.0 24 | 0.0 25 | 0.0 26 | ======当前行: 5======= 27 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 28 | setosa 29 | 1.0 30 | 0.0 31 | 0.0 32 | ======当前行: 6======= 33 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 34 | setosa 35 | 1.0 36 | 0.0 37 | 0.0 38 | ======当前行: 7======= 39 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 40 | setosa 41 | 1.0 42 | 0.0 43 | 0.0 44 | ======当前行: 8======= 45 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 46 | setosa 47 | 1.0 48 | 0.0 49 | 0.0 50 | ======当前行: 9======= 51 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 52 | setosa 53 | 1.0 54 | 0.0 55 | 0.0 56 | ======当前行: 10======= 57 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 58 | setosa 59 | 1.0 60 | 0.0 61 | 0.0 62 | ======当前行: 11======= 63 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 64 | setosa 65 | 1.0 66 | 0.0 67 | 0.0 68 | ======当前行: 12======= 69 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 70 | setosa 71 | 1.0 72 | 0.0 73 | 0.0 74 | ======当前行: 13======= 75 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 76 | setosa 77 | 1.0 78 | 0.0 79 | 0.0 80 | ======当前行: 14======= 81 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 82 | setosa 83 | 1.0 84 | 0.0 85 | 0.0 86 | ======当前行: 15======= 87 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=0.98, versicolor=0.02]} 88 | setosa 89 | 0.98 90 | 0.02 91 | 0.0 92 | ======当前行: 16======= 93 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=0.97, versicolor=0.03]} 94 | setosa 95 | 0.97 96 | 0.03 97 | 0.0 98 | ======当前行: 17======= 99 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 100 | setosa 101 | 1.0 102 | 0.0 103 | 0.0 104 | ======当前行: 18======= 105 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 106 | setosa 107 | 1.0 108 | 0.0 109 | 0.0 110 | ======当前行: 19======= 111 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=0.97, versicolor=0.03]} 112 | setosa 113 | 0.97 114 | 0.03 115 | 0.0 116 | ======当前行: 20======= 117 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 118 | setosa 119 | 1.0 120 | 0.0 121 | 0.0 122 | ======当前行: 21======= 123 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 124 | setosa 125 | 1.0 126 | 0.0 127 | 0.0 128 | ======当前行: 22======= 129 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 130 | setosa 131 | 1.0 132 | 0.0 133 | 0.0 134 | ======当前行: 23======= 135 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 136 | setosa 137 | 1.0 138 | 0.0 139 | 0.0 140 | ======当前行: 24======= 141 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 142 | setosa 143 | 1.0 144 | 0.0 145 | 0.0 146 | ======当前行: 25======= 147 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 148 | setosa 149 | 1.0 150 | 0.0 151 | 0.0 152 | ======当前行: 26======= 153 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 154 | setosa 155 | 1.0 156 | 0.0 157 | 0.0 158 | ======当前行: 27======= 159 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 160 | setosa 161 | 1.0 162 | 0.0 163 | 0.0 164 | ======当前行: 28======= 165 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 166 | setosa 167 | 1.0 168 | 0.0 169 | 0.0 170 | ======当前行: 29======= 171 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 172 | setosa 173 | 1.0 174 | 0.0 175 | 0.0 176 | ======当前行: 30======= 177 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 178 | setosa 179 | 1.0 180 | 0.0 181 | 0.0 182 | ======当前行: 31======= 183 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 184 | setosa 185 | 1.0 186 | 0.0 187 | 0.0 188 | ======当前行: 32======= 189 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 190 | setosa 191 | 1.0 192 | 0.0 193 | 0.0 194 | ======当前行: 33======= 195 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 196 | setosa 197 | 1.0 198 | 0.0 199 | 0.0 200 | ======当前行: 34======= 201 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 202 | setosa 203 | 1.0 204 | 0.0 205 | 0.0 206 | ======当前行: 35======= 207 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 208 | setosa 209 | 1.0 210 | 0.0 211 | 0.0 212 | ======当前行: 36======= 213 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 214 | setosa 215 | 1.0 216 | 0.0 217 | 0.0 218 | ======当前行: 37======= 219 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=0.99, versicolor=0.01]} 220 | setosa 221 | 0.99 222 | 0.01 223 | 0.0 224 | ======当前行: 38======= 225 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 226 | setosa 227 | 1.0 228 | 0.0 229 | 0.0 230 | ======当前行: 39======= 231 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 232 | setosa 233 | 1.0 234 | 0.0 235 | 0.0 236 | ======当前行: 40======= 237 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 238 | setosa 239 | 1.0 240 | 0.0 241 | 0.0 242 | ======当前行: 41======= 243 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 244 | setosa 245 | 1.0 246 | 0.0 247 | 0.0 248 | ======当前行: 42======= 249 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=0.99, versicolor=0.01]} 250 | setosa 251 | 0.99 252 | 0.01 253 | 0.0 254 | ======当前行: 43======= 255 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 256 | setosa 257 | 1.0 258 | 0.0 259 | 0.0 260 | ======当前行: 44======= 261 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 262 | setosa 263 | 1.0 264 | 0.0 265 | 0.0 266 | ======当前行: 45======= 267 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 268 | setosa 269 | 1.0 270 | 0.0 271 | 0.0 272 | ======当前行: 46======= 273 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 274 | setosa 275 | 1.0 276 | 0.0 277 | 0.0 278 | ======当前行: 47======= 279 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 280 | setosa 281 | 1.0 282 | 0.0 283 | 0.0 284 | ======当前行: 48======= 285 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 286 | setosa 287 | 1.0 288 | 0.0 289 | 0.0 290 | ======当前行: 49======= 291 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 292 | setosa 293 | 1.0 294 | 0.0 295 | 0.0 296 | ======当前行: 50======= 297 | ProbabilityDistribution{result=setosa, probability_entries=[setosa=1.0]} 298 | setosa 299 | 1.0 300 | 0.0 301 | 0.0 302 | ======当前行: 51======= 303 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.97, virginica=0.03]} 304 | versicolor 305 | 0.0 306 | 0.97 307 | 0.03 308 | ======当前行: 52======= 309 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.96, virginica=0.03, setosa=0.01]} 310 | versicolor 311 | 0.01 312 | 0.96 313 | 0.03 314 | ======当前行: 53======= 315 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.85, virginica=0.15]} 316 | versicolor 317 | 0.0 318 | 0.85 319 | 0.15 320 | ======当前行: 54======= 321 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 322 | versicolor 323 | 0.0 324 | 1.0 325 | 0.0 326 | ======当前行: 55======= 327 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.96, virginica=0.04]} 328 | versicolor 329 | 0.0 330 | 0.96 331 | 0.04 332 | ======当前行: 56======= 333 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 334 | versicolor 335 | 0.0 336 | 1.0 337 | 0.0 338 | ======当前行: 57======= 339 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.94, virginica=0.05, setosa=0.01]} 340 | versicolor 341 | 0.01 342 | 0.94 343 | 0.05 344 | ======当前行: 58======= 345 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.97, virginica=0.03]} 346 | versicolor 347 | 0.0 348 | 0.97 349 | 0.03 350 | ======当前行: 59======= 351 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 352 | versicolor 353 | 0.0 354 | 0.99 355 | 0.01 356 | ======当前行: 60======= 357 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 358 | versicolor 359 | 0.0 360 | 1.0 361 | 0.0 362 | ======当前行: 61======= 363 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 364 | versicolor 365 | 0.0 366 | 0.99 367 | 0.01 368 | ======当前行: 62======= 369 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.98, setosa=0.01, virginica=0.01]} 370 | versicolor 371 | 0.01 372 | 0.98 373 | 0.01 374 | ======当前行: 63======= 375 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.96, virginica=0.04]} 376 | versicolor 377 | 0.0 378 | 0.96 379 | 0.04 380 | ======当前行: 64======= 381 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.98, virginica=0.02]} 382 | versicolor 383 | 0.0 384 | 0.98 385 | 0.02 386 | ======当前行: 65======= 387 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 388 | versicolor 389 | 0.0 390 | 1.0 391 | 0.0 392 | ======当前行: 66======= 393 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.97, virginica=0.02, setosa=0.01]} 394 | versicolor 395 | 0.01 396 | 0.97 397 | 0.02 398 | ======当前行: 67======= 399 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 400 | versicolor 401 | 0.0 402 | 1.0 403 | 0.0 404 | ======当前行: 68======= 405 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.97, setosa=0.02, virginica=0.01]} 406 | versicolor 407 | 0.02 408 | 0.97 409 | 0.01 410 | ======当前行: 69======= 411 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.95, virginica=0.05]} 412 | versicolor 413 | 0.0 414 | 0.95 415 | 0.05 416 | ======当前行: 70======= 417 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 418 | versicolor 419 | 0.0 420 | 0.99 421 | 0.01 422 | ======当前行: 71======= 423 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.94, versicolor=0.05, setosa=0.01]} 424 | virginica 425 | 0.01 426 | 0.05 427 | 0.94 428 | ======当前行: 72======= 429 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 430 | versicolor 431 | 0.0 432 | 1.0 433 | 0.0 434 | ======当前行: 73======= 435 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.86, virginica=0.14]} 436 | versicolor 437 | 0.0 438 | 0.86 439 | 0.14 440 | ======当前行: 74======= 441 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.98, virginica=0.02]} 442 | versicolor 443 | 0.0 444 | 0.98 445 | 0.02 446 | ======当前行: 75======= 447 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.98, virginica=0.02]} 448 | versicolor 449 | 0.0 450 | 0.98 451 | 0.02 452 | ======当前行: 76======= 453 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 454 | versicolor 455 | 0.0 456 | 0.99 457 | 0.01 458 | ======当前行: 77======= 459 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.79, virginica=0.21]} 460 | versicolor 461 | 0.0 462 | 0.79 463 | 0.21 464 | ======当前行: 78======= 465 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.68, versicolor=0.32]} 466 | virginica 467 | 0.0 468 | 0.32 469 | 0.68 470 | ======当前行: 79======= 471 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 472 | versicolor 473 | 0.0 474 | 0.99 475 | 0.01 476 | ======当前行: 80======= 477 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 478 | versicolor 479 | 0.0 480 | 1.0 481 | 0.0 482 | ======当前行: 81======= 483 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 484 | versicolor 485 | 0.0 486 | 1.0 487 | 0.0 488 | ======当前行: 82======= 489 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 490 | versicolor 491 | 0.0 492 | 1.0 493 | 0.0 494 | ======当前行: 83======= 495 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.97, setosa=0.02, virginica=0.01]} 496 | versicolor 497 | 0.02 498 | 0.97 499 | 0.01 500 | ======当前行: 84======= 501 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.8, virginica=0.2]} 502 | versicolor 503 | 0.0 504 | 0.8 505 | 0.2 506 | ======当前行: 85======= 507 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.96, setosa=0.03, virginica=0.01]} 508 | versicolor 509 | 0.03 510 | 0.96 511 | 0.01 512 | ======当前行: 86======= 513 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.96, setosa=0.04]} 514 | versicolor 515 | 0.04 516 | 0.96 517 | 0.0 518 | ======当前行: 87======= 519 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.96, virginica=0.04]} 520 | versicolor 521 | 0.0 522 | 0.96 523 | 0.04 524 | ======当前行: 88======= 525 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 526 | versicolor 527 | 0.0 528 | 0.99 529 | 0.01 530 | ======当前行: 89======= 531 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 532 | versicolor 533 | 0.0 534 | 1.0 535 | 0.0 536 | ======当前行: 90======= 537 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, setosa=0.01]} 538 | versicolor 539 | 0.01 540 | 0.99 541 | 0.0 542 | ======当前行: 91======= 543 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.98, setosa=0.01, virginica=0.01]} 544 | versicolor 545 | 0.01 546 | 0.98 547 | 0.01 548 | ======当前行: 92======= 549 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 550 | versicolor 551 | 0.0 552 | 1.0 553 | 0.0 554 | ======当前行: 93======= 555 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.96, virginica=0.02, setosa=0.02]} 556 | versicolor 557 | 0.02 558 | 0.96 559 | 0.02 560 | ======当前行: 94======= 561 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 562 | versicolor 563 | 0.0 564 | 1.0 565 | 0.0 566 | ======当前行: 95======= 567 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 568 | versicolor 569 | 0.0 570 | 0.99 571 | 0.01 572 | ======当前行: 96======= 573 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 574 | versicolor 575 | 0.0 576 | 1.0 577 | 0.0 578 | ======当前行: 97======= 579 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 580 | versicolor 581 | 0.0 582 | 1.0 583 | 0.0 584 | ======当前行: 98======= 585 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=0.99, virginica=0.01]} 586 | versicolor 587 | 0.0 588 | 0.99 589 | 0.01 590 | ======当前行: 99======= 591 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 592 | versicolor 593 | 0.0 594 | 1.0 595 | 0.0 596 | ======当前行: 100======= 597 | ProbabilityDistribution{result=versicolor, probability_entries=[versicolor=1.0]} 598 | versicolor 599 | 0.0 600 | 1.0 601 | 0.0 602 | ======当前行: 101======= 603 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 604 | virginica 605 | 0.0 606 | 0.0 607 | 1.0 608 | ======当前行: 102======= 609 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.99, versicolor=0.01]} 610 | virginica 611 | 0.0 612 | 0.01 613 | 0.99 614 | ======当前行: 103======= 615 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 616 | virginica 617 | 0.0 618 | 0.0 619 | 1.0 620 | ======当前行: 104======= 621 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 622 | virginica 623 | 0.0 624 | 0.0 625 | 1.0 626 | ======当前行: 105======= 627 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 628 | virginica 629 | 0.0 630 | 0.0 631 | 1.0 632 | ======当前行: 106======= 633 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 634 | virginica 635 | 0.0 636 | 0.0 637 | 1.0 638 | ======当前行: 107======= 639 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.69, versicolor=0.31]} 640 | virginica 641 | 0.0 642 | 0.31 643 | 0.69 644 | ======当前行: 108======= 645 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 646 | virginica 647 | 0.0 648 | 0.0 649 | 1.0 650 | ======当前行: 109======= 651 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.96, versicolor=0.04]} 652 | virginica 653 | 0.0 654 | 0.04 655 | 0.96 656 | ======当前行: 110======= 657 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 658 | virginica 659 | 0.0 660 | 0.0 661 | 1.0 662 | ======当前行: 111======= 663 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 664 | virginica 665 | 0.0 666 | 0.0 667 | 1.0 668 | ======当前行: 112======= 669 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.99, versicolor=0.01]} 670 | virginica 671 | 0.0 672 | 0.01 673 | 0.99 674 | ======当前行: 113======= 675 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 676 | virginica 677 | 0.0 678 | 0.0 679 | 1.0 680 | ======当前行: 114======= 681 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.89, versicolor=0.11]} 682 | virginica 683 | 0.0 684 | 0.11 685 | 0.89 686 | ======当前行: 115======= 687 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.99, versicolor=0.01]} 688 | virginica 689 | 0.0 690 | 0.01 691 | 0.99 692 | ======当前行: 116======= 693 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 694 | virginica 695 | 0.0 696 | 0.0 697 | 1.0 698 | ======当前行: 117======= 699 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 700 | virginica 701 | 0.0 702 | 0.0 703 | 1.0 704 | ======当前行: 118======= 705 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 706 | virginica 707 | 0.0 708 | 0.0 709 | 1.0 710 | ======当前行: 119======= 711 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 712 | virginica 713 | 0.0 714 | 0.0 715 | 1.0 716 | ======当前行: 120======= 717 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.7, versicolor=0.3]} 718 | virginica 719 | 0.0 720 | 0.3 721 | 0.7 722 | ======当前行: 121======= 723 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 724 | virginica 725 | 0.0 726 | 0.0 727 | 1.0 728 | ======当前行: 122======= 729 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.91, versicolor=0.09]} 730 | virginica 731 | 0.0 732 | 0.09 733 | 0.91 734 | ======当前行: 123======= 735 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 736 | virginica 737 | 0.0 738 | 0.0 739 | 1.0 740 | ======当前行: 124======= 741 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.98, versicolor=0.02]} 742 | virginica 743 | 0.0 744 | 0.02 745 | 0.98 746 | ======当前行: 125======= 747 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 748 | virginica 749 | 0.0 750 | 0.0 751 | 1.0 752 | ======当前行: 126======= 753 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 754 | virginica 755 | 0.0 756 | 0.0 757 | 1.0 758 | ======当前行: 127======= 759 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.98, versicolor=0.02]} 760 | virginica 761 | 0.0 762 | 0.02 763 | 0.98 764 | ======当前行: 128======= 765 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.98, versicolor=0.02]} 766 | virginica 767 | 0.0 768 | 0.02 769 | 0.98 770 | ======当前行: 129======= 771 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 772 | virginica 773 | 0.0 774 | 0.0 775 | 1.0 776 | ======当前行: 130======= 777 | ProbabilityDistribution{result=virginica, probability_entries=[versicolor=0.44, virginica=0.56]} 778 | virginica 779 | 0.0 780 | 0.44 781 | 0.56 782 | ======当前行: 131======= 783 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 784 | virginica 785 | 0.0 786 | 0.0 787 | 1.0 788 | ======当前行: 132======= 789 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 790 | virginica 791 | 0.0 792 | 0.0 793 | 1.0 794 | ======当前行: 133======= 795 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 796 | virginica 797 | 0.0 798 | 0.0 799 | 1.0 800 | ======当前行: 134======= 801 | ProbabilityDistribution{result=virginica, probability_entries=[versicolor=0.23, virginica=0.77]} 802 | virginica 803 | 0.0 804 | 0.23 805 | 0.77 806 | ======当前行: 135======= 807 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.72, versicolor=0.28]} 808 | virginica 809 | 0.0 810 | 0.28 811 | 0.72 812 | ======当前行: 136======= 813 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 814 | virginica 815 | 0.0 816 | 0.0 817 | 1.0 818 | ======当前行: 137======= 819 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 820 | virginica 821 | 0.0 822 | 0.0 823 | 1.0 824 | ======当前行: 138======= 825 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 826 | virginica 827 | 0.0 828 | 0.0 829 | 1.0 830 | ======当前行: 139======= 831 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.94, versicolor=0.06]} 832 | virginica 833 | 0.0 834 | 0.06 835 | 0.94 836 | ======当前行: 140======= 837 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 838 | virginica 839 | 0.0 840 | 0.0 841 | 1.0 842 | ======当前行: 141======= 843 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 844 | virginica 845 | 0.0 846 | 0.0 847 | 1.0 848 | ======当前行: 142======= 849 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 850 | virginica 851 | 0.0 852 | 0.0 853 | 1.0 854 | ======当前行: 143======= 855 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.99, versicolor=0.01]} 856 | virginica 857 | 0.0 858 | 0.01 859 | 0.99 860 | ======当前行: 144======= 861 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 862 | virginica 863 | 0.0 864 | 0.0 865 | 1.0 866 | ======当前行: 145======= 867 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 868 | virginica 869 | 0.0 870 | 0.0 871 | 1.0 872 | ======当前行: 146======= 873 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 874 | virginica 875 | 0.0 876 | 0.0 877 | 1.0 878 | ======当前行: 147======= 879 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=0.92, versicolor=0.08]} 880 | virginica 881 | 0.0 882 | 0.08 883 | 0.92 884 | ======当前行: 148======= 885 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 886 | virginica 887 | 0.0 888 | 0.0 889 | 1.0 890 | ======当前行: 149======= 891 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 892 | virginica 893 | 0.0 894 | 0.0 895 | 1.0 896 | ======当前行: 150======= 897 | ProbabilityDistribution{result=virginica, probability_entries=[virginica=1.0]} 898 | virginica 899 | 0.0 900 | 0.0 901 | 1.0 902 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/source/pmml-evaluator-1.3.7-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/source/pmml-evaluator-1.3.7-sources.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/source/pmml-model-1.3.7-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/source/pmml-model-1.3.7-sources.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/source/pmml-schema-1.3.7-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/pmmlParserFile/source/pmml-schema-1.3.7-sources.jar -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/src/parser/ModelCalc.java: -------------------------------------------------------------------------------- 1 | package parser; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.FileReader; 5 | import java.io.IOException; 6 | import java.io.PrintStream; 7 | import java.util.ArrayList; 8 | import java.util.HashMap; 9 | import java.util.List; 10 | import java.util.Map; 11 | import java.util.Set; 12 | 13 | import org.dmg.pmml.FieldName; 14 | 15 | /** 16 | * 使用模型 17 | * @author liaotuo 18 | * 19 | */ 20 | public class ModelCalc { 21 | public static void main(String[] args) throws IOException { 22 | if(args.length < 2){ 23 | System.out.println("参数个数不匹配"); 24 | } 25 | //文件生成路径 26 | PrintStream ps=new PrintStream("result.txt"); 27 | System.setOut(ps); 28 | 29 | String pmmlPath = args[0]; 30 | String modelArgsFilePath = args[1]; 31 | 32 | ModelInvoker invoker = new ModelInvoker(pmmlPath); 33 | List> paramList = readInParams(modelArgsFilePath); 34 | int lineNum = 0; //当前处理行数 35 | for(Map param : paramList){ 36 | lineNum++; 37 | System.out.println("======当前行: " + lineNum + "======="); 38 | Map result = invoker.invoke(param); 39 | Set keySet = result.keySet(); //获取结果的keySet 40 | for(FieldName fn : keySet){ 41 | System.out.println(result.get(fn).toString()); 42 | } 43 | } 44 | } 45 | 46 | /** 47 | * 读取参数文件 48 | * @param filePath 49 | * @return 50 | * @throws IOException 51 | */ 52 | public static List> readInParams(String filePath) throws IOException{ 53 | BufferedReader br = new BufferedReader(new FileReader(filePath)); 54 | String[] nameArr = br.readLine().split(","); //读取表头的名字 55 | 56 | List> list = new ArrayList(); 57 | String paramLine = null; //一行参数 58 | //循环读取 每次读取一行数据 59 | while((paramLine = br.readLine()) != null){ 60 | Map map = new HashMap(); 61 | String[] paramLineArr = paramLine.split(","); 62 | // 一次循环处理一行数据 63 | for(int i=0; i invoke(Map paramsMap) { 77 | return this.modelEvaluator.evaluate(paramsMap); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/pmmlParserFile/src/test/ModelCalcTest.java: -------------------------------------------------------------------------------- 1 | package test; 2 | 3 | import java.io.IOException; 4 | import java.io.PrintStream; 5 | import java.util.List; 6 | import java.util.Map; 7 | import java.util.Set; 8 | 9 | import org.dmg.pmml.FieldName; 10 | import org.junit.jupiter.api.Test; 11 | 12 | import parser.ModelCalc; 13 | import parser.ModelInvoker; 14 | 15 | class ModelCalcTest { 16 | 17 | @Test 18 | void test() throws IOException { 19 | //文件生成路径 20 | PrintStream ps=new PrintStream("result.txt"); 21 | System.setOut(ps); 22 | 23 | String pmmlPath = "iris_rf.pmml"; // pmml文件路径 24 | String modelArgsFilePath = "irisv2.csv"; 25 | 26 | ModelInvoker invoker = new ModelInvoker(pmmlPath); 27 | List> paramList = ModelCalc.readInParams(modelArgsFilePath); 28 | int lineNum = 0; //当前处理行数 29 | for(Map param : paramList){ 30 | lineNum++; 31 | System.out.println("======当前行: " + lineNum + "======="); 32 | Map result = invoker.invoke(param); 33 | Set keySet = result.keySet(); //获取结果的keySet 34 | for(FieldName fn : keySet){ 35 | System.out.println(result.get(fn).toString()); 36 | } 37 | } 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /pmmlParser1.0文件读取版/result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser1.0文件读取版/result.txt -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | pmmlParserJson 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.common.project.facet.core.builder 10 | 11 | 12 | 13 | 14 | org.eclipse.jdt.core.javabuilder 15 | 16 | 17 | 18 | 19 | 20 | org.eclipse.jdt.core.javanature 21 | org.eclipse.wst.common.project.facet.core.nature 22 | 23 | 24 | -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 4 | org.eclipse.jdt.core.compiler.compliance=1.8 5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 7 | org.eclipse.jdt.core.compiler.source=1.8 8 | -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/.settings/org.eclipse.wst.common.project.facet.core.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/Parser.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/Parser.log -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/bin/baidu/Parser.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/bin/baidu/Parser.class -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/bin/test/ParserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/bin/test/ParserTest.class -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/commons-math3-3.6.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/commons-math3-3.6.1.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/fastjson-1.2.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/fastjson-1.2.9.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/guava-18.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/guava-18.0.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/joda-time-2.9.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/joda-time-2.9.9.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-agent-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-agent-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-evaluator-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-evaluator-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-manager-1.1.20.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-manager-1.1.20.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-model-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-model-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-schema-1.3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/lib/pmml-schema-1.3.7.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/source/pmml-evaluator-1.3.7-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/source/pmml-evaluator-1.3.7-sources.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/source/pmml-model-1.3.7-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/source/pmml-model-1.3.7-sources.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/source/pmml-schema-1.3.7-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liaotuo/pmml-parser/b1080f5a914ea42397179fc13c6d7a08613a1223/pmmlParser2.0Json服务版/pmmlParserJson/source/pmml-schema-1.3.7-sources.jar -------------------------------------------------------------------------------- /pmmlParser2.0Json服务版/pmmlParserJson/src/baidu/Parser.java: -------------------------------------------------------------------------------- 1 | package baidu; 2 | 3 | import java.io.File; 4 | import java.io.FileInputStream; 5 | import java.io.InputStream; 6 | import java.util.HashMap; 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | import org.dmg.pmml.FieldName; 11 | import org.dmg.pmml.PMML; 12 | import org.jpmml.evaluator.Evaluator; 13 | import org.jpmml.evaluator.FieldValue; 14 | import org.jpmml.evaluator.InputField; 15 | import org.jpmml.evaluator.ModelEvaluator; 16 | import org.jpmml.evaluator.ModelEvaluatorFactory; 17 | import org.jpmml.evaluator.TargetField; 18 | import org.jpmml.model.PMMLUtil; 19 | 20 | import com.alibaba.fastjson.JSON; 21 | 22 | /** 23 | * pmml Parser and predict 24 | * 25 | * @time 2017-9-13 15:17:01 26 | * @author liaotuo 27 | * 28 | */ 29 | public class Parser { 30 | public Evaluator evaluator; 31 | private Map paramsMap; 32 | private Map jsonMap; 33 | 34 | /** 35 | * load pmml init model 36 | * 37 | * @author liaotuo 38 | * @param pmmlFileName 39 | */ 40 | public Parser(String pmmlFileName) { 41 | PMML pmml = null; 42 | if (pmmlFileName != null) { 43 | try { 44 | File pmmlFile = new File(pmmlFileName); 45 | InputStream is = new FileInputStream(pmmlFile); 46 | pmml = PMMLUtil.unmarshal(is); 47 | is.close(); 48 | } catch (Exception e) { 49 | e.getStackTrace(); 50 | } 51 | } 52 | 53 | ModelEvaluator modelEvaluator = ModelEvaluatorFactory.newInstance().newModelEvaluator(pmml); 54 | evaluator = (Evaluator) modelEvaluator; 55 | evaluator.verify(); 56 | paramsMap = new HashMap<>(2000); 57 | } 58 | 59 | /** 60 | * prepare data 61 | * 62 | * @param json 63 | */ 64 | private void prepare(String json) { 65 | // clear paramsMap 66 | paramsMap.clear(); 67 | // json to map 68 | jsonMap = JSON.parseObject(json); 69 | // prepare data 70 | List inputFields = evaluator.getActiveFields(); 71 | FieldName inputFieldName = null; 72 | Object rawValue = null; 73 | FieldValue inputFieldValue = null; 74 | for (InputField inputField : inputFields) { 75 | inputFieldName = inputField.getName(); 76 | rawValue = jsonMap.get(inputFieldName.getValue()); 77 | // because some varname is not used 78 | if (rawValue != null) { 79 | // Unsupported type transferred to string 80 | if (!(rawValue instanceof String || rawValue instanceof Integer || rawValue instanceof Float || rawValue instanceof Double)) { 81 | rawValue = String.valueOf(rawValue); 82 | } 83 | inputFieldValue = inputField.prepare("".equals(rawValue.toString()) ? null : rawValue); 84 | paramsMap.put(inputFieldName, inputFieldValue); 85 | } 86 | } 87 | } 88 | 89 | /** 90 | * predict method 91 | * 92 | * @param json 93 | * @return result 94 | */ 95 | public String predict(String json) { 96 | // 1. do prepare 97 | prepare(json); 98 | // 2. do excute 99 | String result = excute(); 100 | return result; 101 | } 102 | 103 | /** 104 | * do evaluate and get result 105 | * 106 | * @author liaotuo 107 | * @return resultStr 108 | */ 109 | private String excute() { 110 | Map result = evaluator.evaluate(paramsMap); 111 | List targetFields = evaluator.getTargetFields(); 112 | StringBuilder sb = new StringBuilder(); 113 | for (TargetField targetField : targetFields) { 114 | FieldName targetFieldName = targetField.getName(); 115 | 116 | sb.append(result.get(targetFieldName) + ","); 117 | } 118 | String resultStr = sb.toString(); 119 | return resultStr; 120 | } 121 | } 122 | --------------------------------------------------------------------------------