From 6ecc018cf43c83f913ca7ae3c9ae5731e8ead7da Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Thu, 27 Apr 2023 12:04:08 +0300 Subject: [PATCH 01/39] Updated version information --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ce69710e..fbfae157 100644 --- a/README.md +++ b/README.md @@ -137,13 +137,13 @@ Java library and command-line application for converting Apache Spark ML pipelin JPMML-SparkML library JAR file (together with accompanying Java source and Javadocs JAR files) is released via [Maven Central Repository](https://repo1.maven.org/maven2/org/jpmml/). -The current version is **2.0.1** (16 April, 2023). +The current version is **2.0.2** (27 April, 2023). ```xml org.jpmml pmml-sparkml - 2.0.1 + 2.0.2 ``` From 8636f12d2153c33d38b4e7f85eef63a0674b0ee7 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Thu, 27 Apr 2023 12:31:57 +0300 Subject: [PATCH 02/39] Updated version information --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7340f581..62ab1a53 100644 --- a/README.md +++ b/README.md @@ -137,13 +137,13 @@ Java library and command-line application for converting Apache Spark ML pipelin JPMML-SparkML library JAR file (together with accompanying Java source and Javadocs JAR files) is released via [Maven Central Repository](https://repo1.maven.org/maven2/org/jpmml/). -The current version is **2.1.1** (16 April, 2023). +The current version is **2.1.2** (27 April, 2023). ```xml org.jpmml pmml-sparkml - 2.1.1 + 2.1.2 ``` From e4e6b834a486b1fab163c801a59b3a24c49df4ec Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Thu, 27 Apr 2023 13:59:20 +0300 Subject: [PATCH 03/39] Updated version information --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 01a2e548..e1362a51 100644 --- a/README.md +++ b/README.md @@ -137,13 +137,13 @@ Java library and command-line application for converting Apache Spark ML pipelin JPMML-SparkML library JAR file (together with accompanying Java source and Javadocs JAR files) is released via [Maven Central Repository](https://repo1.maven.org/maven2/org/jpmml/). -The current version is **2.2.1** (16 April, 2023). +The current version is **2.2.2** (27 April, 2023). ```xml org.jpmml pmml-sparkml - 2.2.1 + 2.2.2 ``` From 13d49d822a17a9bb70b6dc177dba84f18f4dc639 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Thu, 27 Apr 2023 20:02:01 +0300 Subject: [PATCH 04/39] [maven-release-plugin] prepare for next development iteration --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index e5bffebb..1ba48ebc 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.1 + 2.3-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index ac0acdf6..a05f3d23 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.1 + 2.3-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index 2fdc2059..b3f12985 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.1 + 2.3-SNAPSHOT org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 7519860d..05d0153a 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.1 + 2.3-SNAPSHOT org.jpmml diff --git a/pom.xml b/pom.xml index 22d60069..f2531871 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.3.1 + 2.3-SNAPSHOT pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - 2.3.1 + HEAD GitHub @@ -55,22 +55,22 @@ org.jpmml pmml-sparkml - 2.3.1 + 2.3-SNAPSHOT org.jpmml pmml-sparkml-example - 2.3.1 + 2.3-SNAPSHOT org.jpmml pmml-sparkml-lightgbm - 2.3.1 + 2.3-SNAPSHOT org.jpmml pmml-sparkml-xgboost - 2.3.1 + 2.3-SNAPSHOT From eaf538a2730149a5e8a30caac82f55e2e58018ec Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Thu, 27 Apr 2023 20:02:57 +0300 Subject: [PATCH 05/39] Updated version information --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 37544774..a1cdca9c 100644 --- a/README.md +++ b/README.md @@ -137,13 +137,13 @@ Java library and command-line application for converting Apache Spark ML pipelin JPMML-SparkML library JAR file (together with accompanying Java source and Javadocs JAR files) is released via [Maven Central Repository](https://repo1.maven.org/maven2/org/jpmml/). -The current version is **2.3.0** (18 April, 2023). +The current version is **2.3.1** (27 April, 2023). ```xml org.jpmml pmml-sparkml - 2.3.0 + 2.3.1 ``` From 987215586ca26f9b3c3d4a592d70d38772795d05 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 28 May 2023 22:04:17 +0300 Subject: [PATCH 06/39] Updated documentation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fbfae157..444b6717 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ spark-submit --master local --class org.jpmml.sparkml.example.Main pmml-sparkml- # Documentation # +* [Training PySpark LightGBM pipelines](https://openscoring.io/blog/2023/05/26/pyspark_lightgbm_pipeline/) * [Converting logistic regression models to PMML documents](https://openscoring.io/blog/2020/01/19/converting_logistic_regression_pmml/#apache-spark) * [Deploying Apache Spark ML pipeline models on Openscoring REST web service](https://openscoring.io/blog/2020/02/16/deploying_sparkml_pipeline_openscoring_rest/) * [Converting Apache Spark ML pipeline models to PMML documents](https://openscoring.io/blog/2018/07/09/converting_sparkml_pipeline_pmml/) From dba4779c3b1bf61157640a15857deece9d762289 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Fri, 21 Jul 2023 12:41:52 +0300 Subject: [PATCH 07/39] Updated JPMML-Converter dependency --- .../main/java/org/jpmml/sparkml/ModelConverter.java | 10 ++++------ .../main/java/org/jpmml/sparkml/SparkMLEncoder.java | 8 ++------ pom.xml | 8 ++++---- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/ModelConverter.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/ModelConverter.java index cdc774a4..f9a64150 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/ModelConverter.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/ModelConverter.java @@ -19,7 +19,6 @@ package org.jpmml.sparkml; import java.util.List; -import java.util.Objects; import org.apache.spark.ml.Model; import org.apache.spark.ml.param.shared.HasPredictionCol; @@ -27,6 +26,7 @@ import org.dmg.pmml.Output; import org.dmg.pmml.OutputField; import org.jpmml.converter.Feature; +import org.jpmml.converter.FeatureUtil; import org.jpmml.converter.Label; import org.jpmml.converter.ModelUtil; import org.jpmml.converter.ScalarLabel; @@ -89,11 +89,9 @@ public void checkSchema(Schema schema){ if(label instanceof ScalarLabel){ ScalarLabel scalarLabel = (ScalarLabel)label; - for(Feature feature : features){ - - if(Objects.equals(scalarLabel.getName(), feature.getName())){ - throw new IllegalArgumentException("Label column '" + scalarLabel.getName() + "' is contained in the list of feature columns"); - } + Feature labelFeature = FeatureUtil.findLabelFeature(features, scalarLabel); + if(labelFeature != null){ + throw new IllegalArgumentException("Label column '" + scalarLabel.getName() + "' is contained in the list of feature columns"); } } } diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/SparkMLEncoder.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/SparkMLEncoder.java index 494eaa0f..98e2ba20 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/SparkMLEncoder.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/SparkMLEncoder.java @@ -37,12 +37,10 @@ import org.dmg.pmml.Visitor; import org.dmg.pmml.VisitorAction; import org.dmg.pmml.association.Item; -import org.jpmml.converter.BooleanFeature; -import org.jpmml.converter.ContinuousFeature; import org.jpmml.converter.Feature; +import org.jpmml.converter.FeatureUtil; import org.jpmml.converter.ModelEncoder; import org.jpmml.converter.SchemaUtil; -import org.jpmml.converter.StringFeature; import org.jpmml.converter.TypeUtil; import org.jpmml.model.visitors.AbstractVisitor; @@ -164,13 +162,11 @@ public Feature createFeature(Field field){ switch(dataType){ case STRING: - return new StringFeature(this, field); case INTEGER: case FLOAT: case DOUBLE: - return new ContinuousFeature(this, field); case BOOLEAN: - return new BooleanFeature(this, field); + return FeatureUtil.createFeature(field, this); default: throw new IllegalArgumentException("Data type " + dataType + " is not supported"); } diff --git a/pom.xml b/pom.xml index ca61eab7..c61aca10 100644 --- a/pom.xml +++ b/pom.xml @@ -76,7 +76,7 @@ org.jpmml pmml-converter - 1.5.4 + 1.5.5 org.slf4j @@ -87,7 +87,7 @@ org.jpmml pmml-converter-testing - 1.5.4 + 1.5.5 @@ -99,13 +99,13 @@ org.jpmml pmml-lightgbm - 1.4.5 + 1.4.6 org.jpmml pmml-xgboost - 1.7.3 + 1.7.4 From 103709dc9fad98ef32299ee9ac353f2449d78888 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 17 Dec 2023 15:50:37 +0200 Subject: [PATCH 08/39] Improved build configuration --- pmml-sparkml-example/pom.xml | 2 +- pom.xml | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index a8c75f5a..d900df3c 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -67,7 +67,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.4.1 + 3.5.1 package diff --git a/pom.xml b/pom.xml index c61aca10..4121acf5 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,11 @@ https://github.com/jpmml/jpmml-sparkml/issues + + [0.9.5,) + [1.0.0,) + + @@ -111,7 +116,7 @@ com.microsoft.azure synapseml-lightgbm_2.12 - [0.9.5,) + ${synapseml-lightgbm.version} @@ -123,7 +128,7 @@ ml.dmlc xgboost4j-spark_2.12 - [1.0.0,) + ${xgboost4j-spark.version} @@ -178,7 +183,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.5.0 + 3.6.3 1.8 @@ -186,7 +191,7 @@ org.apache.maven.plugins maven-release-plugin - 3.0.0 + 3.0.1 true true @@ -196,7 +201,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0 + 3.2.3 ${jacoco.agent} false @@ -205,7 +210,7 @@ org.jacoco jacoco-maven-plugin - 0.8.9 + 0.8.10 pre-unit-test From 2eaeccf25a170d364e96d568e783d460afd55675 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 17 Dec 2023 18:10:58 +0200 Subject: [PATCH 09/39] Updated JPMML-LightGBM dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4121acf5..fd011517 100644 --- a/pom.xml +++ b/pom.xml @@ -104,7 +104,7 @@ org.jpmml pmml-lightgbm - 1.4.6 + 1.5.0 From 259f242f12d8df28dc713d98d7eacf147b6780ea Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 17 Dec 2023 18:12:14 +0200 Subject: [PATCH 10/39] Updated JPMML-XGBoost dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fd011517..1f94bc02 100644 --- a/pom.xml +++ b/pom.xml @@ -110,7 +110,7 @@ org.jpmml pmml-xgboost - 1.7.4 + 1.8.0 From 7e4d5fb61864779b439c08cd265b705d23456bc8 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 17 Dec 2023 22:49:49 +0200 Subject: [PATCH 11/39] Moved SparseToDenseTransformer class from 'pmml-sparkml-xgboost' module to 'pmml-sparkml' --- README.md | 9 +++-- pmml-sparkml-xgboost/pom.xml | 35 ------------------- .../META-INF/sparkml2pmml.properties | 2 -- .../src/test/resources/XGBoostAudit.scala | 2 +- .../src/test/resources/XGBoostAuto.scala | 2 +- pmml-sparkml/pom.xml | 30 ++++++++++++++++ .../SparseToDenseTransformerConverter.java | 4 +-- .../META-INF/sparkml2pmml.properties | 3 ++ .../feature}/SparseToDenseTransformer.scala | 2 +- 9 files changed, 45 insertions(+), 44 deletions(-) rename {pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost => pmml-sparkml/src/main/java/org/jpmml/sparkml/feature}/SparseToDenseTransformerConverter.java (93%) rename {pmml-sparkml-xgboost/src/main/scala/org/jpmml/sparkml/xgboost => pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature}/SparseToDenseTransformer.scala (98%) diff --git a/README.md b/README.md index 444b6717..11c568e6 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,13 @@ Java library and command-line application for converting Apache Spark ML pipelin * [`tuning.TrainValidationSplitModel`](https://spark.apache.org/docs/latest/api/java/org/apache/spark/ml/tuning/TrainValidationSplitModel.html) +
+ JPMML-SparkML + + * Feature transformers: + * `org.jpmml.sparkml.feature.SparseToDenseTransformer` +
+
LightGBM @@ -120,8 +127,6 @@ Java library and command-line application for converting Apache Spark ML pipelin
XGBoost - * Feature transformers: - * `org.jpmml.sparkml.xgboost.SparseToDenseTransformer` * Prediction models: * [`ml.dmlc.xgboost4j.scala.spark.XGBoostClassificationModel`](https://xgboost.readthedocs.io/en/latest/jvm/scaladocs/xgboost4j-spark/ml/dmlc/xgboost4j/scala/spark/XGBoostClassificationModel.html) * [`ml.dmlc.xgboost4j.scala.spark.XGBoostRegressionModel`](https://xgboost.readthedocs.io/en/latest/jvm/scaladocs/xgboost4j-spark/ml/dmlc/xgboost4j/scala/spark/XGBoostRegressionModel.html) diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index beb965ab..a9c39d68 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -62,39 +62,4 @@ junit - - - - - net.alchim31.maven - scala-maven-plugin - 4.6.1 - - ${project.build.sourceEncoding} - ScalaThenJava - - -Xmx1024m - - 2.12.15 - - - - scala-compile-first - process-resources - - add-source - compile - - - - scala-test-compile - process-test-resources - - testCompile - - - - - - diff --git a/pmml-sparkml-xgboost/src/main/resources/META-INF/sparkml2pmml.properties b/pmml-sparkml-xgboost/src/main/resources/META-INF/sparkml2pmml.properties index d7356f09..cc08e4e1 100644 --- a/pmml-sparkml-xgboost/src/main/resources/META-INF/sparkml2pmml.properties +++ b/pmml-sparkml-xgboost/src/main/resources/META-INF/sparkml2pmml.properties @@ -1,4 +1,2 @@ -org.jpmml.sparkml.xgboost.SparseToDenseTransformer = org.jpmml.sparkml.xgboost.SparseToDenseTransformerConverter - ml.dmlc.xgboost4j.scala.spark.XGBoostClassificationModel = org.jpmml.sparkml.xgboost.XGBoostClassificationModelConverter ml.dmlc.xgboost4j.scala.spark.XGBoostRegressionModel = org.jpmml.sparkml.xgboost.XGBoostRegressionModelConverter diff --git a/pmml-sparkml-xgboost/src/test/resources/XGBoostAudit.scala b/pmml-sparkml-xgboost/src/test/resources/XGBoostAudit.scala index 8e9d134f..09c551f2 100644 --- a/pmml-sparkml-xgboost/src/test/resources/XGBoostAudit.scala +++ b/pmml-sparkml-xgboost/src/test/resources/XGBoostAudit.scala @@ -7,7 +7,7 @@ import org.apache.spark.ml.linalg.Vector import org.apache.spark.sql.functions.{lit, udf} import org.apache.spark.sql.types.StringType import org.jpmml.sparkml.{DatasetUtil, PipelineModelUtil} -import org.jpmml.sparkml.xgboost.SparseToDenseTransformer +import org.jpmml.sparkml.feature.SparseToDenseTransformer var df = DatasetUtil.loadCsv(spark, new File("csv/Audit.csv")) df = DatasetUtil.castColumn(df, "Adjusted", StringType) diff --git a/pmml-sparkml-xgboost/src/test/resources/XGBoostAuto.scala b/pmml-sparkml-xgboost/src/test/resources/XGBoostAuto.scala index c00ee10d..c8951333 100644 --- a/pmml-sparkml-xgboost/src/test/resources/XGBoostAuto.scala +++ b/pmml-sparkml-xgboost/src/test/resources/XGBoostAuto.scala @@ -5,7 +5,7 @@ import org.apache.spark.ml.Pipeline import org.apache.spark.ml.feature._ import org.apache.spark.sql.types.{FloatType, StringType} import org.jpmml.sparkml.{DatasetUtil, PipelineModelUtil} -import org.jpmml.sparkml.xgboost.SparseToDenseTransformer +import org.jpmml.sparkml.feature.SparseToDenseTransformer var df = DatasetUtil.loadCsv(spark, new File("csv/Auto.csv")) df = DatasetUtil.castColumn(df, "origin", StringType) diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 2f8c9ffd..e53ff2bc 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -76,6 +76,36 @@ + + net.alchim31.maven + scala-maven-plugin + 4.6.1 + + ${project.build.sourceEncoding} + ScalaThenJava + + -Xmx1024m + + 2.12.15 + + + + scala-compile-first + process-resources + + add-source + compile + + + + scala-test-compile + process-test-resources + + testCompile + + + + diff --git a/pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost/SparseToDenseTransformerConverter.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/SparseToDenseTransformerConverter.java similarity index 93% rename from pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost/SparseToDenseTransformerConverter.java rename to pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/SparseToDenseTransformerConverter.java index dab78953..08160456 100644 --- a/pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost/SparseToDenseTransformerConverter.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/SparseToDenseTransformerConverter.java @@ -16,14 +16,14 @@ * You should have received a copy of the GNU Affero General Public License * along with JPMML-SparkML. If not, see . */ -package org.jpmml.sparkml.xgboost; +package org.jpmml.sparkml.feature; import java.util.List; import org.jpmml.converter.Feature; import org.jpmml.sparkml.FeatureConverter; import org.jpmml.sparkml.SparkMLEncoder; -import org.jpmml.sparkml.xgboost.SparseToDenseTransformer; +import org.jpmml.sparkml.feature.SparseToDenseTransformer; public class SparseToDenseTransformerConverter extends FeatureConverter { diff --git a/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties b/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties index 6f1bedd6..33019900 100644 --- a/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties +++ b/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties @@ -26,6 +26,9 @@ org.apache.spark.ml.feature.VectorIndexerModel = org.jpmml.sparkml.feature.Vecto org.apache.spark.ml.feature.VectorSizeHint = org.jpmml.sparkml.feature.VectorSizeHintConverter org.apache.spark.ml.feature.VectorSlicer = org.jpmml.sparkml.feature.VectorSlicerConverter +# Custom features +org.jpmml.sparkml.feature.SparseToDenseTransformer = org.jpmml.sparkml.feature.SparseToDenseTransformerConverter + # Prediction models org.apache.spark.ml.classification.DecisionTreeClassificationModel = org.jpmml.sparkml.model.DecisionTreeClassificationModelConverter org.apache.spark.ml.classification.GBTClassificationModel = org.jpmml.sparkml.model.GBTClassificationModelConverter diff --git a/pmml-sparkml-xgboost/src/main/scala/org/jpmml/sparkml/xgboost/SparseToDenseTransformer.scala b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/SparseToDenseTransformer.scala similarity index 98% rename from pmml-sparkml-xgboost/src/main/scala/org/jpmml/sparkml/xgboost/SparseToDenseTransformer.scala rename to pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/SparseToDenseTransformer.scala index 8383cbd2..a887f412 100644 --- a/pmml-sparkml-xgboost/src/main/scala/org/jpmml/sparkml/xgboost/SparseToDenseTransformer.scala +++ b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/SparseToDenseTransformer.scala @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Affero General Public License * along with JPMML-SparkML. If not, see . */ -package org.jpmml.sparkml.xgboost +package org.jpmml.sparkml.feature import org.apache.spark.ml.Transformer import org.apache.spark.ml.linalg.{DenseVector, SparseVector, Vector} From 4fcf2696ddbd8c7c132bb25354c73a021a46798b Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 17 Dec 2023 23:08:51 +0200 Subject: [PATCH 12/39] Improved build configuration --- pmml-sparkml/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index e53ff2bc..4ed64e03 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -79,7 +79,7 @@ net.alchim31.maven scala-maven-plugin - 4.6.1 + 4.8.1 ${project.build.sourceEncoding} ScalaThenJava From 2e0e355d396e2804b105401b783d2e7870a0ccda Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Tue, 19 Dec 2023 06:48:12 +0200 Subject: [PATCH 13/39] Updated JPMML-XGBoost dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1f94bc02..c836c0d6 100644 --- a/pom.xml +++ b/pom.xml @@ -110,7 +110,7 @@ org.jpmml pmml-xgboost - 1.8.0 + 1.8.1 From 568e1280707e8cadceeacef822d2e6016ea27217 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Tue, 19 Dec 2023 12:14:52 +0200 Subject: [PATCH 14/39] Added a unit test --- .../feature/SparseToDenseTransformerTest.java | 107 ++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java new file mode 100644 index 00000000..04414aee --- /dev/null +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java @@ -0,0 +1,107 @@ +/* + * Copyright (c) 2023 Villu Ruusmann + * + * This file is part of JPMML-SparkML + * + * JPMML-SparkML is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * JPMML-SparkML is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with JPMML-SparkML. If not, see . + */ +package org.jpmml.sparkml.feature; + +import java.util.Arrays; +import java.util.List; + +import org.apache.spark.ml.Transformer; +import org.apache.spark.ml.linalg.DenseVector; +import org.apache.spark.ml.linalg.SparseVector; +import org.apache.spark.ml.linalg.Vector; +import org.apache.spark.ml.linalg.VectorUDT; +import org.apache.spark.sql.Dataset; +import org.apache.spark.sql.Row; +import org.apache.spark.sql.RowFactory; +import org.apache.spark.sql.SparkSession; +import org.apache.spark.sql.types.Metadata; +import org.apache.spark.sql.types.MetadataBuilder; +import org.apache.spark.sql.types.StructField; +import org.apache.spark.sql.types.StructType; +import org.jpmml.sparkml.SparkSessionUtil; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class SparseToDenseTransformerTest { + + @Test + public void transform(){ + Metadata metadata = new MetadataBuilder() + .build(); + + StructType schema = new StructType() + .add(new StructField("featureVec", new VectorUDT(), false, metadata)); + + List rows = Arrays.asList( + RowFactory.create(new SparseVector(3, new int[]{1}, new double[]{1.0})), + RowFactory.create(new DenseVector(new double[]{0.0d, 0.0d, 1.0d})), + RowFactory.create(new SparseVector(3, new int[]{0}, new double[]{1.0})) + ); + + Dataset ds = sparkSession.createDataFrame(rows, schema); + + Transformer transformer = new SparseToDenseTransformer() + .setInputCol("featureVec") + .setOutputCol("denseFeatureVec"); + + Dataset transformedDs = transformer.transform(ds); + + assertNotNull(transformedDs.col("featureVec")); + assertNotNull(transformedDs.col("denseFeatureVec")); + + List transformedRows = transformedDs.select("featureVec", "denseFeatureVec") + .collectAsList(); + + for(int i = 0; i < 3; i++){ + Row transformedRow = transformedRows.get(i); + + Vector vector = (Vector)transformedRow.get(0); + Vector denseVector = (Vector)transformedRow.get(1); + + assertEquals(i == 1 ? 3 : 1, vector.numActives()); + assertEquals(1, vector.numNonzeros()); + assertEquals(3, vector.size()); + + assertTrue(denseVector instanceof DenseVector); + + assertEquals(3, denseVector.numActives()); + assertEquals(1, denseVector.numNonzeros()); + assertEquals(3, denseVector.size()); + } + } + + @BeforeClass + static + public void createSparkSession(){ + SparseToDenseTransformerTest.sparkSession = SparkSessionUtil.createSparkSession(); + } + + @AfterClass + static + public void destroySparkSession(){ + SparseToDenseTransformerTest.sparkSession = SparkSessionUtil.destroySparkSession(SparseToDenseTransformerTest.sparkSession); + } + + public static SparkSession sparkSession = null; +} \ No newline at end of file From 74f55daa97caa92af015586e7127edd97f32650a Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Tue, 19 Dec 2023 14:25:53 +0200 Subject: [PATCH 15/39] Extracted SparkMLTest abstract base class --- .../sparkml/ExpressionTranslatorTest.java | 21 +--------- .../org/jpmml/sparkml/PMMLBuilderTest.java | 17 -------- .../java/org/jpmml/sparkml/SparkMLTest.java | 41 +++++++++++++++++++ .../feature/SQLTransformerConverterTest.java | 23 ++--------- .../feature/SparseToDenseTransformerTest.java | 23 ++--------- 5 files changed, 49 insertions(+), 76 deletions(-) create mode 100644 pmml-sparkml/src/test/java/org/jpmml/sparkml/SparkMLTest.java diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/ExpressionTranslatorTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/ExpressionTranslatorTest.java index 25116a21..18e41855 100644 --- a/pmml-sparkml/src/test/java/org/jpmml/sparkml/ExpressionTranslatorTest.java +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/ExpressionTranslatorTest.java @@ -22,7 +22,6 @@ import java.util.List; import java.util.Objects; -import org.apache.spark.sql.SparkSession; import org.apache.spark.sql.catalyst.InternalRow; import org.apache.spark.sql.catalyst.expressions.Expression; import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan; @@ -43,8 +42,6 @@ import org.jpmml.evaluator.FieldValueUtil; import org.jpmml.evaluator.VirtualEvaluationContext; import org.jpmml.model.ReflectionUtil; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.Test; import scala.collection.JavaConversions; @@ -52,7 +49,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -public class ExpressionTranslatorTest { +public class ExpressionTranslatorTest extends SparkMLTest { @Test public void translateLogicalExpression(){ @@ -295,7 +292,7 @@ private Object evaluate(String sqlExpression){ static private Expression translateInternal(String sqlStatement){ - LogicalPlan logicalPlan = DatasetUtil.createAnalyzedLogicalPlan(ExpressionTranslatorTest.sparkSession, ExpressionTranslatorTest.schema, sqlStatement); + LogicalPlan logicalPlan = DatasetUtil.createAnalyzedLogicalPlan(SparkMLTest.sparkSession, ExpressionTranslatorTest.schema, sqlStatement); List expressions = JavaConversions.seqAsJavaList(logicalPlan.expressions()); if(expressions.size() != 1){ @@ -376,20 +373,6 @@ private void checkExpression(org.dmg.pmml.Expression expected, String string){ assertTrue(ReflectionUtil.equals(expected, actual)); } - @BeforeClass - static - public void createSparkSession(){ - ExpressionTranslatorTest.sparkSession = SparkSessionUtil.createSparkSession(); - } - - @AfterClass - static - public void destroySparkSession(){ - ExpressionTranslatorTest.sparkSession = SparkSessionUtil.destroySparkSession(ExpressionTranslatorTest.sparkSession); - } - - public static SparkSession sparkSession = null; - private static final StructType schema = new StructType() .add("flag", DataTypes.BooleanType) .add("x1", DataTypes.DoubleType) diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/PMMLBuilderTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/PMMLBuilderTest.java index 9721551e..19e074b6 100644 --- a/pmml-sparkml/src/test/java/org/jpmml/sparkml/PMMLBuilderTest.java +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/PMMLBuilderTest.java @@ -24,10 +24,7 @@ import org.apache.spark.ml.PipelineModel; import org.apache.spark.ml.classification.LogisticRegressionModel; import org.apache.spark.ml.linalg.DenseVector; -import org.apache.spark.sql.SparkSession; import org.apache.spark.sql.types.StructType; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.fail; @@ -56,18 +53,4 @@ public void construct(){ throw iae; } } - - @BeforeClass - static - public void createSparkSession(){ - PMMLBuilderTest.sparkSession = SparkSessionUtil.createSparkSession(); - } - - @AfterClass - static - public void destroySparkSession(){ - PMMLBuilderTest.sparkSession = SparkSessionUtil.destroySparkSession(PMMLBuilderTest.sparkSession); - } - - public static SparkSession sparkSession = null; } \ No newline at end of file diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/SparkMLTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/SparkMLTest.java new file mode 100644 index 00000000..4b9e20a0 --- /dev/null +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/SparkMLTest.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2023 Villu Ruusmann + * + * This file is part of JPMML-SparkML + * + * JPMML-SparkML is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * JPMML-SparkML is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with JPMML-SparkML. If not, see . + */ +package org.jpmml.sparkml; + +import org.apache.spark.sql.SparkSession; +import org.junit.AfterClass; +import org.junit.BeforeClass; + +abstract +public class SparkMLTest { + + @BeforeClass + static + public void createSparkSession(){ + SparkMLTest.sparkSession = SparkSessionUtil.createSparkSession(); + } + + @AfterClass + static + public void destroySparkSession(){ + SparkMLTest.sparkSession = SparkSessionUtil.destroySparkSession(SparkMLTest.sparkSession); + } + + public static SparkSession sparkSession = null; +} \ No newline at end of file diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SQLTransformerConverterTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SQLTransformerConverterTest.java index 5373e918..64f3312f 100644 --- a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SQLTransformerConverterTest.java +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SQLTransformerConverterTest.java @@ -24,7 +24,6 @@ import java.util.LinkedHashSet; import java.util.List; -import org.apache.spark.sql.SparkSession; import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan; import org.apache.spark.sql.types.DataTypes; import org.apache.spark.sql.types.StructType; @@ -33,14 +32,12 @@ import org.jpmml.sparkml.ConverterFactory; import org.jpmml.sparkml.DatasetUtil; import org.jpmml.sparkml.SparkMLEncoder; -import org.jpmml.sparkml.SparkSessionUtil; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.jpmml.sparkml.SparkMLTest; import org.junit.Test; import static org.junit.Assert.assertTrue; -public class SQLTransformerConverterTest { +public class SQLTransformerConverterTest extends SparkMLTest { @Test public void encodeLogicalPlan(){ @@ -73,7 +70,7 @@ private void checkFields(String sqlStatement, Collection dataFieldNames, SparkMLEncoder encoder = new SparkMLEncoder(SQLTransformerConverterTest.schema, converterFactory); - LogicalPlan logicalPlan = DatasetUtil.createAnalyzedLogicalPlan(SQLTransformerConverterTest.sparkSession, SQLTransformerConverterTest.schema, sqlStatement); + LogicalPlan logicalPlan = DatasetUtil.createAnalyzedLogicalPlan(SparkMLTest.sparkSession, SQLTransformerConverterTest.schema, sqlStatement); SQLTransformerConverter.encodeLogicalPlan(encoder, logicalPlan); @@ -96,20 +93,6 @@ private void checkFields(String sqlStatement, Collection dataFieldNames, assertTrue(derivedFieldNames.toString(), derivedFieldNames.isEmpty()); } - @BeforeClass - static - public void createSparkSession(){ - SQLTransformerConverterTest.sparkSession = SparkSessionUtil.createSparkSession(); - } - - @AfterClass - static - public void destroySparkSession(){ - SQLTransformerConverterTest.sparkSession = SparkSessionUtil.destroySparkSession(SQLTransformerConverterTest.sparkSession); - } - - public static SparkSession sparkSession = null; - private static final StructType schema = new StructType() .add("Sepal_Length", DataTypes.DoubleType) .add("Sepal_Width", DataTypes.DoubleType) diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java index 04414aee..380a2512 100644 --- a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java @@ -29,21 +29,18 @@ import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.RowFactory; -import org.apache.spark.sql.SparkSession; import org.apache.spark.sql.types.Metadata; import org.apache.spark.sql.types.MetadataBuilder; import org.apache.spark.sql.types.StructField; import org.apache.spark.sql.types.StructType; -import org.jpmml.sparkml.SparkSessionUtil; -import org.junit.AfterClass; -import org.junit.BeforeClass; +import org.jpmml.sparkml.SparkMLTest; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -public class SparseToDenseTransformerTest { +public class SparseToDenseTransformerTest extends SparkMLTest { @Test public void transform(){ @@ -59,7 +56,7 @@ public void transform(){ RowFactory.create(new SparseVector(3, new int[]{0}, new double[]{1.0})) ); - Dataset ds = sparkSession.createDataFrame(rows, schema); + Dataset ds = SparkMLTest.sparkSession.createDataFrame(rows, schema); Transformer transformer = new SparseToDenseTransformer() .setInputCol("featureVec") @@ -90,18 +87,4 @@ public void transform(){ assertEquals(3, denseVector.size()); } } - - @BeforeClass - static - public void createSparkSession(){ - SparseToDenseTransformerTest.sparkSession = SparkSessionUtil.createSparkSession(); - } - - @AfterClass - static - public void destroySparkSession(){ - SparseToDenseTransformerTest.sparkSession = SparkSessionUtil.destroySparkSession(SparseToDenseTransformerTest.sparkSession); - } - - public static SparkSession sparkSession = null; } \ No newline at end of file From 5dd5b9f75073eb848d176a6cdba07feb3408d457 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sat, 23 Dec 2023 09:26:53 +0200 Subject: [PATCH 16/39] Added support for the 'InvalidCategoryTransformer' feature type --- README.md | 1 + .../InvalidCategoryTransformerConverter.java | 139 +++++++++++++++ .../META-INF/sparkml2pmml.properties | 1 + .../feature/InvalidCategoryTransformer.scala | 93 ++++++++++ .../feature/SparseToDenseTransformer.scala | 6 +- .../InvalidCategoryTransformerTest.java | 162 ++++++++++++++++++ .../feature/SparseToDenseTransformerTest.java | 8 +- 7 files changed, 402 insertions(+), 8 deletions(-) create mode 100644 pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java create mode 100644 pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala create mode 100644 pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java diff --git a/README.md b/README.md index 11c568e6..83058e4c 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,7 @@ Java library and command-line application for converting Apache Spark ML pipelin JPMML-SparkML * Feature transformers: + * `org.jpmml.sparkml.feature.InvalidCategoryTransformer` * `org.jpmml.sparkml.feature.SparseToDenseTransformer`
diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java new file mode 100644 index 00000000..d7325936 --- /dev/null +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2023 Villu Ruusmann + * + * This file is part of JPMML-SparkML + * + * JPMML-SparkML is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * JPMML-SparkML is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with JPMML-SparkML. If not, see . + */ +package org.jpmml.sparkml.feature; + +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +import com.google.common.collect.ListMultimap; +import org.dmg.pmml.Apply; +import org.dmg.pmml.Constant; +import org.dmg.pmml.DataField; +import org.dmg.pmml.DerivedField; +import org.dmg.pmml.Expression; +import org.dmg.pmml.Field; +import org.dmg.pmml.InvalidValueTreatmentMethod; +import org.dmg.pmml.Model; +import org.jpmml.converter.CategoricalFeature; +import org.jpmml.converter.Decorator; +import org.jpmml.converter.Feature; +import org.jpmml.converter.InvalidValueDecorator; +import org.jpmml.sparkml.FeatureConverter; +import org.jpmml.sparkml.SparkMLEncoder; + +public class InvalidCategoryTransformerConverter extends FeatureConverter { + + public InvalidCategoryTransformerConverter(InvalidCategoryTransformer transformer){ + super(transformer); + } + + @Override + public List encodeFeatures(SparkMLEncoder encoder){ + InvalidCategoryTransformer transformer = getTransformer(); + + Feature feature = encoder.getOnlyFeature(transformer.getInputCol()); + + if(feature instanceof CategoricalFeature){ + CategoricalFeature categoricalFeature = (CategoricalFeature)feature; + + Field field = categoricalFeature.getField(); + List values = categoricalFeature.getValues(); + + Object invalidCategory; + + if(!values.isEmpty()){ + invalidCategory = values.get(values.size() - 1); + } else + + { + throw new IllegalArgumentException(); + } // End if + + if(Objects.equals(invalidCategory, "-999") || Objects.equals(invalidCategory, "__unknown")){ + values = values.subList(0, values.size() - 1); + } else + + { + throw new IllegalArgumentException(); + } // End if + + if(field instanceof DataField){ + DataField dataField = (DataField)field; + + replaceDecorator(dataField, new InvalidValueDecorator(InvalidValueTreatmentMethod.AS_MISSING, null), encoder); + } else + + if(field instanceof DerivedField){ + DerivedField derivedField = (DerivedField)field; + + Apply apply = (Apply)derivedField.getExpression(); + + List expressions = apply.getExpressions(); + + if(!expressions.isEmpty()){ + Constant constant = (Constant)expressions.remove(expressions.size() - 1); + + if(!Objects.equals(invalidCategory, constant.getValue())){ + throw new IllegalArgumentException(); + } + } else + + { + throw new IllegalArgumentException(); + } + } else + + { + throw new IllegalArgumentException(); + } + + return Collections.singletonList(new CategoricalFeature(encoder, field, values)); + } else + + { + throw new IllegalArgumentException(); + } + } + + static + private void replaceDecorator(Field field, Decorator decorator, SparkMLEncoder encoder){ + Map> modelDecorators = encoder.getDecorators(); + + ListMultimap decorators = modelDecorators.get(null); + if(decorators != null){ + List fieldDecorators = decorators.get(field.requireName()); + + if(fieldDecorators != null && !fieldDecorators.isEmpty()){ + + for(Iterator it = fieldDecorators.iterator(); it.hasNext(); ){ + Decorator fieldDecorator = it.next(); + + if(Objects.equals(fieldDecorator.getClass(), decorator.getClass())){ + it.remove(); + } + } + } + } + + decorators.put(field.requireName(), decorator); + } +} \ No newline at end of file diff --git a/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties b/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties index 33019900..f9f4f748 100644 --- a/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties +++ b/pmml-sparkml/src/main/resources/META-INF/sparkml2pmml.properties @@ -27,6 +27,7 @@ org.apache.spark.ml.feature.VectorSizeHint = org.jpmml.sparkml.feature.VectorSiz org.apache.spark.ml.feature.VectorSlicer = org.jpmml.sparkml.feature.VectorSlicerConverter # Custom features +org.jpmml.sparkml.feature.InvalidCategoryTransformer = org.jpmml.sparkml.feature.InvalidCategoryTransformerConverter org.jpmml.sparkml.feature.SparseToDenseTransformer = org.jpmml.sparkml.feature.SparseToDenseTransformerConverter # Prediction models diff --git a/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala new file mode 100644 index 00000000..e442c96d --- /dev/null +++ b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2023 Villu Ruusmann + * + * This file is part of JPMML-SparkML + * + * JPMML-SparkML is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * JPMML-SparkML is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with JPMML-SparkML. If not, see . + */ +package org.jpmml.sparkml.feature + +import org.apache.spark.ml.Transformer +import org.apache.spark.ml.attribute.NominalAttribute +import org.apache.spark.ml.param.ParamMap +import org.apache.spark.ml.param.shared.{HasInputCol, HasOutputCol} +import org.apache.spark.ml.util.{DefaultParamsReadable, DefaultParamsWritable, Identifiable} +import org.apache.spark.sql.{Dataset, Row} +import org.apache.spark.sql.functions.udf +import org.apache.spark.sql.types.{StructField, StructType} + +class InvalidCategoryTransformer(override val uid: String) extends Transformer with HasInputCol with HasOutputCol with DefaultParamsWritable { + + def this() = this(Identifiable.randomUID("invalidCat")) + + def setInputCol(value: String): this.type = set(inputCol, value) + + def setOutputCol(value: String): this.type = set(outputCol, value) + + override + def copy(extra: ParamMap): InvalidCategoryTransformer = defaultCopy(extra) + + override + def transformSchema(schema: StructType): StructType = { + val inputColName = $(inputCol) + val outputColName = $(outputCol) + + val inputFields = schema.fields + + require(!inputFields.exists(_.name == outputColName), s"Output column $outputColName already exists") + + val outputField = transformField(schema, inputColName, outputColName) + + StructType(inputFields :+ outputField) + } + + override + def transform(dataset: Dataset[_]): Dataset[Row] = { + val inputColName = $(inputCol) + val outputColName = $(outputCol) + + val transformedSchema = transformSchema(dataset.schema, logging = true) + + val inputField = transformedSchema(inputColName) + val outputField = transformedSchema(outputColName) + + val inputMlAttr = NominalAttribute.fromStructField(inputField).asInstanceOf[NominalAttribute] + require(inputMlAttr.values.isDefined) + + val inputLabels = inputMlAttr.values.get + require(inputLabels.last == "__unknown") + + val outputLabels = inputLabels.slice(0, inputLabels.size - 1) + val outputMlAttr = NominalAttribute.defaultAttr + .withName(outputColName) + .withValues(outputLabels.asInstanceOf[Array[String]]) + .toMetadata() + + val converter = udf { x: Double => if (x >= 0 && x < outputLabels.size) x else Double.NaN } + + dataset.withColumn(outputColName, converter(dataset(inputColName)).as(outputColName, outputMlAttr)) + } + + private def transformField(schema: StructType, inputColName: String, outputColName: String): StructField = { + val inputField = schema(inputColName) + + val inputMlAttr = NominalAttribute.fromStructField(inputField).asInstanceOf[NominalAttribute] + + var outputMlAttr = NominalAttribute.defaultAttr + .withName(outputColName) + .toMetadata() + + StructField(outputColName, inputField.dataType, inputField.nullable, outputMlAttr) + } +} \ No newline at end of file diff --git a/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/SparseToDenseTransformer.scala b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/SparseToDenseTransformer.scala index a887f412..95203a6a 100644 --- a/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/SparseToDenseTransformer.scala +++ b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/SparseToDenseTransformer.scala @@ -43,6 +43,7 @@ class SparseToDenseTransformer(override val uid: String) extends Transformer wit def transformSchema(schema: StructType): StructType = { val inputColName = $(inputCol) val outputColName = $(outputCol) + val inputFields = schema.fields require(!inputFields.exists(_.name == outputColName), s"Output column $outputColName already exists") @@ -55,11 +56,14 @@ class SparseToDenseTransformer(override val uid: String) extends Transformer wit override def transform(dataset: Dataset[_]): Dataset[Row] = { + val inputColName = $(inputCol) + val outputColName = $(outputCol) + transformSchema(dataset.schema, logging = true) val converter = udf { vec: Vector => vec.toDense } - dataset.withColumn($(outputCol), converter(dataset($(inputCol)))) + dataset.withColumn(outputColName, converter(dataset(inputColName))) } } diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java new file mode 100644 index 00000000..d672f0fc --- /dev/null +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java @@ -0,0 +1,162 @@ +/* + * Copyright (c) 2023 Villu Ruusmann + * + * This file is part of JPMML-SparkML + * + * JPMML-SparkML is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * JPMML-SparkML is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with JPMML-SparkML. If not, see . + */ +package org.jpmml.sparkml.feature; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + +import org.apache.spark.ml.Pipeline; +import org.apache.spark.ml.PipelineModel; +import org.apache.spark.ml.PipelineStage; +import org.apache.spark.ml.attribute.Attribute; +import org.apache.spark.ml.attribute.AttributeKeys; +import org.apache.spark.ml.attribute.AttributeType; +import org.apache.spark.ml.attribute.NominalAttribute; +import org.apache.spark.ml.feature.StringIndexer; +import org.apache.spark.sql.Dataset; +import org.apache.spark.sql.Row; +import org.apache.spark.sql.RowFactory; +import org.apache.spark.sql.types.DataTypes; +import org.apache.spark.sql.types.Metadata; +import org.apache.spark.sql.types.StructField; +import org.apache.spark.sql.types.StructType; +import org.jpmml.sparkml.SparkMLTest; +import org.junit.Test; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +public class InvalidCategoryTransformerTest extends SparkMLTest { + + @Test + public void transform(){ + StructType schema = new StructType() + .add("fruit", DataTypes.StringType, true) + .add("color", DataTypes.StringType, true) + .add("rating", DataTypes.DoubleType, false); + + List rows = Arrays.asList( + RowFactory.create("apple", "red", 2d), + RowFactory.create("orange", "orange", 3d), + RowFactory.create("banana", "yellow", 3d), + RowFactory.create("banana", "green", 1d), + RowFactory.create("apple", "green", 2d) + ); + + Dataset ds = SparkMLTest.sparkSession.createDataFrame(rows, schema); + + List stages = new ArrayList<>(); + + StringIndexer stringIndexer = new StringIndexer() + .setStringOrderType("alphabetAsc") + .setInputCols(new String[]{"fruit", "color", "rating"}) + .setOutputCols(new String[]{"fruitIdx", "colorIdx", "ratingIdx"}) + .setHandleInvalid("keep"); + + stages.add(stringIndexer); + + String[] indexedCols = stringIndexer.getOutputCols(); + for(String indexedCol : indexedCols){ + InvalidCategoryTransformer invalidCategoryTransformer = new InvalidCategoryTransformer() + .setInputCol(indexedCol) + .setOutputCol(indexedCol + "Transformed"); + + stages.add(invalidCategoryTransformer); + } + + Pipeline pipeline = new Pipeline() + .setStages(stages.toArray(new PipelineStage[stages.size()])); + + PipelineModel pipelineModel = pipeline.fit(ds); + + Dataset transformedDs = pipelineModel.transform(ds); + + StructType transformedSchema = transformedDs.schema(); + + NominalAttribute fruitIdxAttr = (NominalAttribute)getAttribute(transformedSchema, "fruitIdx"); + NominalAttribute colorIdxAttr = (NominalAttribute)getAttribute(transformedSchema, "colorIdx"); + NominalAttribute ratingIdxAttr = (NominalAttribute)getAttribute(transformedSchema, "ratingIdx"); + + assertArrayEquals(new String[]{"apple", "banana", "orange", "__unknown"}, (fruitIdxAttr.values()).get()); + assertArrayEquals(new String[]{"green", "orange", "red", "yellow", "__unknown"}, (colorIdxAttr.values()).get()); + assertArrayEquals(new String[]{"1.0", "2.0", "3.0", "__unknown"}, (ratingIdxAttr.values()).get()); + + NominalAttribute fruitIdxTransformedAttr = (NominalAttribute)getAttribute(transformedSchema, "fruitIdxTransformed"); + NominalAttribute colorIdxTransformedAttr = (NominalAttribute)getAttribute(transformedSchema, "colorIdxTransformed"); + NominalAttribute ratingIdxTransformedAttr = (NominalAttribute)getAttribute(transformedSchema, "ratingIdxTransformed"); + + assertArrayEquals(new String[]{"apple", "banana", "orange"}, (fruitIdxTransformedAttr.values()).get()); + assertArrayEquals(new String[]{"green", "orange", "red", "yellow"}, (colorIdxTransformedAttr.values()).get()); + assertArrayEquals(new String[]{"1.0", "2.0", "3.0"}, (ratingIdxTransformedAttr.values()).get()); + + List testRows = Arrays.asList( + RowFactory.create(null, "yellow", 0d), + RowFactory.create("apple", "", 1d), + RowFactory.create("banana", "red", Double.NaN) + ); + + Dataset testDs = SparkMLTest.sparkSession.createDataFrame(testRows, schema); + + Dataset transformedTestDs = pipelineModel.transform(testDs); + + List transformedTestRows = transformedTestDs + .select("fruitIdxTransformed", "colorIdxTransformed", "ratingIdxTransformed") + .collectAsList(); + + assertEquals(3, transformedTestRows.size()); + + assertArrayEquals(new Object[]{Double.NaN, 3d, Double.NaN}, getValues(transformedTestRows.get(0))); + assertArrayEquals(new Object[]{0d, Double.NaN, 0d}, getValues(transformedTestRows.get(1))); + assertArrayEquals(new Object[]{1d, 2d, Double.NaN}, getValues(transformedTestRows.get(2))); + } + + static + private Attribute getAttribute(StructType schema, String name){ + StructField structField = schema.apply(name); + + Metadata metadata = structField.metadata(); + + String mlAttr = AttributeKeys.ML_ATTR(); + + if(metadata.contains(mlAttr)){ + Metadata mlAttrMetadata = metadata.getMetadata(mlAttr); + + if(!Objects.equals(mlAttrMetadata.getString("type"), AttributeType.Nominal().name())){ + throw new IllegalArgumentException(); + } + + return NominalAttribute.fromStructField(structField); + } + + return null; + } + + static + private Object[] getValues(Row row){ + Object[] result = new Object[row.size()]; + + for(int i = 0, max = row.size(); i < max; i++){ + result[i] = row.get(i); + } + + return result; + } +} \ No newline at end of file diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java index 380a2512..39989207 100644 --- a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java @@ -29,9 +29,6 @@ import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.RowFactory; -import org.apache.spark.sql.types.Metadata; -import org.apache.spark.sql.types.MetadataBuilder; -import org.apache.spark.sql.types.StructField; import org.apache.spark.sql.types.StructType; import org.jpmml.sparkml.SparkMLTest; import org.junit.Test; @@ -44,11 +41,8 @@ public class SparseToDenseTransformerTest extends SparkMLTest { @Test public void transform(){ - Metadata metadata = new MetadataBuilder() - .build(); - StructType schema = new StructType() - .add(new StructField("featureVec", new VectorUDT(), false, metadata)); + .add("featureVec", new VectorUDT(), false); List rows = Arrays.asList( RowFactory.create(new SparseVector(3, new int[]{1}, new double[]{1.0})), From f3f729a3e6e20545d143faebc5e33049dd9bc2fe Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sat, 23 Dec 2023 11:08:14 +0200 Subject: [PATCH 17/39] Improved support for the 'InvalidCategoryTransformer' feature type --- .../InvalidCategoryTransformerConverter.java | 28 +++--- .../feature/InvalidCategoryTransformer.scala | 89 +++++++++++++------ .../InvalidCategoryTransformerTest.java | 26 +++--- .../feature/SparseToDenseTransformerTest.java | 13 ++- 4 files changed, 106 insertions(+), 50 deletions(-) diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java index d7325936..abe43282 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerConverter.java @@ -18,7 +18,7 @@ */ package org.jpmml.sparkml.feature; -import java.util.Collections; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -37,10 +37,11 @@ import org.jpmml.converter.Decorator; import org.jpmml.converter.Feature; import org.jpmml.converter.InvalidValueDecorator; -import org.jpmml.sparkml.FeatureConverter; +import org.jpmml.sparkml.FeatureConverter.InOutMode; +import org.jpmml.sparkml.MultiFeatureConverter; import org.jpmml.sparkml.SparkMLEncoder; -public class InvalidCategoryTransformerConverter extends FeatureConverter { +public class InvalidCategoryTransformerConverter extends MultiFeatureConverter { public InvalidCategoryTransformerConverter(InvalidCategoryTransformer transformer){ super(transformer); @@ -50,9 +51,18 @@ public InvalidCategoryTransformerConverter(InvalidCategoryTransformer transforme public List encodeFeatures(SparkMLEncoder encoder){ InvalidCategoryTransformer transformer = getTransformer(); - Feature feature = encoder.getOnlyFeature(transformer.getInputCol()); + InOutMode inputMode = getInputMode(); + + List result = new ArrayList<>(); + + String[] inputCols = inputMode.getInputCols(transformer); + for(String inputCol : inputCols){ + Feature feature = encoder.getOnlyFeature(inputCol); + + if(!(feature instanceof CategoricalFeature)){ + throw new IllegalArgumentException(); + } - if(feature instanceof CategoricalFeature){ CategoricalFeature categoricalFeature = (CategoricalFeature)feature; Field field = categoricalFeature.getField(); @@ -106,12 +116,10 @@ public List encodeFeatures(SparkMLEncoder encoder){ throw new IllegalArgumentException(); } - return Collections.singletonList(new CategoricalFeature(encoder, field, values)); - } else - - { - throw new IllegalArgumentException(); + result.add(new CategoricalFeature(encoder, field, values)); } + + return result; } static diff --git a/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala index e442c96d..d306a781 100644 --- a/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala +++ b/pmml-sparkml/src/main/scala/org/jpmml/sparkml/feature/InvalidCategoryTransformer.scala @@ -20,14 +20,14 @@ package org.jpmml.sparkml.feature import org.apache.spark.ml.Transformer import org.apache.spark.ml.attribute.NominalAttribute -import org.apache.spark.ml.param.ParamMap -import org.apache.spark.ml.param.shared.{HasInputCol, HasOutputCol} +import org.apache.spark.ml.param.{ParamMap, ParamValidators} +import org.apache.spark.ml.param.shared.{HasInputCol, HasInputCols, HasOutputCol, HasOutputCols} import org.apache.spark.ml.util.{DefaultParamsReadable, DefaultParamsWritable, Identifiable} -import org.apache.spark.sql.{Dataset, Row} +import org.apache.spark.sql.{Column, Dataset, Row} import org.apache.spark.sql.functions.udf import org.apache.spark.sql.types.{StructField, StructType} -class InvalidCategoryTransformer(override val uid: String) extends Transformer with HasInputCol with HasOutputCol with DefaultParamsWritable { +class InvalidCategoryTransformer(override val uid: String) extends Transformer with HasInputCol with HasInputCols with HasOutputCol with HasOutputCols with DefaultParamsWritable { def this() = this(Identifiable.randomUID("invalidCat")) @@ -35,48 +35,81 @@ class InvalidCategoryTransformer(override val uid: String) extends Transformer w def setOutputCol(value: String): this.type = set(outputCol, value) + def setInputCols(value: Array[String]): this.type = set(inputCols, value) + + def setOutputCols(value: Array[String]): this.type = set(outputCols, value) + override def copy(extra: ParamMap): InvalidCategoryTransformer = defaultCopy(extra) override def transformSchema(schema: StructType): StructType = { - val inputColName = $(inputCol) - val outputColName = $(outputCol) + val (inputColNames, outputColNames) = getInOutCols() val inputFields = schema.fields + val outputFields = new Array[StructField](outputColNames.length) + + for(i <- 0 until outputColNames.length){ + val inputColName = inputColNames(i) + val outputColName = outputColNames(i) - require(!inputFields.exists(_.name == outputColName), s"Output column $outputColName already exists") + require(!inputFields.exists(_.name == outputColName), s"Output column $outputColName already exists") - val outputField = transformField(schema, inputColName, outputColName) + outputFields(i) = transformField(schema, inputColName, outputColName) + } - StructType(inputFields :+ outputField) + StructType(inputFields ++ outputFields) } override def transform(dataset: Dataset[_]): Dataset[Row] = { - val inputColName = $(inputCol) - val outputColName = $(outputCol) + val (inputColNames, outputColNames) = getInOutCols() val transformedSchema = transformSchema(dataset.schema, logging = true) - val inputField = transformedSchema(inputColName) - val outputField = transformedSchema(outputColName) + var result = dataset.asInstanceOf[Dataset[Row]] - val inputMlAttr = NominalAttribute.fromStructField(inputField).asInstanceOf[NominalAttribute] - require(inputMlAttr.values.isDefined) + for(i <- 0 until outputColNames.length){ + val inputColName = inputColNames(i) + val outputColName = outputColNames(i) - val inputLabels = inputMlAttr.values.get - require(inputLabels.last == "__unknown") + val inputField = transformedSchema(inputColName) + val outputField = transformedSchema(outputColName) - val outputLabels = inputLabels.slice(0, inputLabels.size - 1) - val outputMlAttr = NominalAttribute.defaultAttr - .withName(outputColName) - .withValues(outputLabels.asInstanceOf[Array[String]]) - .toMetadata() + val inputMlAttr = NominalAttribute.fromStructField(inputField).asInstanceOf[NominalAttribute] + require(inputMlAttr.values.isDefined) + + val inputLabels = inputMlAttr.values.get + require(inputLabels.last == "__unknown") + + val outputLabels = inputLabels.slice(0, inputLabels.size - 1) + val outputMlAttr = NominalAttribute.defaultAttr + .withName(outputColName) + .withValues(outputLabels.asInstanceOf[Array[String]]) + .toMetadata() + + val converter = udf { x: Double => if (x >= 0 && x < outputLabels.size) x else Double.NaN } - val converter = udf { x: Double => if (x >= 0 && x < outputLabels.size) x else Double.NaN } + val outputColumn = converter(dataset(inputColName)).as(outputColName, outputMlAttr) - dataset.withColumn(outputColName, converter(dataset(inputColName)).as(outputColName, outputMlAttr)) + result = result.withColumn(outputColName, outputColumn) + } + + result + } + + private def getInOutCols(): (Array[String], Array[String]) = { + ParamValidators.checkSingleVsMultiColumnParams(this, Seq(outputCol), Seq(outputCols)) + + if(isSet(inputCol)){ + (Array($(inputCol)), Array($(outputCol))) + } else + + { + require($(inputCols).length == $(outputCols).length) + + ($(inputCols), $(outputCols)) + } } private def transformField(schema: StructType, inputColName: String, outputColName: String): StructField = { @@ -90,4 +123,10 @@ class InvalidCategoryTransformer(override val uid: String) extends Transformer w StructField(outputColName, inputField.dataType, inputField.nullable, outputMlAttr) } -} \ No newline at end of file +} + +object InvalidCategoryTransformer extends DefaultParamsReadable[InvalidCategoryTransformer] { + + override + def load(path: String): InvalidCategoryTransformer = super.load(path) +} diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java index d672f0fc..8c061372 100644 --- a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/InvalidCategoryTransformerTest.java @@ -18,7 +18,6 @@ */ package org.jpmml.sparkml.feature; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -38,6 +37,8 @@ import org.apache.spark.sql.types.Metadata; import org.apache.spark.sql.types.StructField; import org.apache.spark.sql.types.StructType; +import org.dmg.pmml.PMML; +import org.jpmml.sparkml.PMMLBuilder; import org.jpmml.sparkml.SparkMLTest; import org.junit.Test; @@ -63,30 +64,29 @@ public void transform(){ Dataset ds = SparkMLTest.sparkSession.createDataFrame(rows, schema); - List stages = new ArrayList<>(); - StringIndexer stringIndexer = new StringIndexer() .setStringOrderType("alphabetAsc") .setInputCols(new String[]{"fruit", "color", "rating"}) .setOutputCols(new String[]{"fruitIdx", "colorIdx", "ratingIdx"}) .setHandleInvalid("keep"); - stages.add(stringIndexer); - - String[] indexedCols = stringIndexer.getOutputCols(); - for(String indexedCol : indexedCols){ - InvalidCategoryTransformer invalidCategoryTransformer = new InvalidCategoryTransformer() - .setInputCol(indexedCol) - .setOutputCol(indexedCol + "Transformed"); + InvalidCategoryTransformer multiInvalidColumnTransformer = new InvalidCategoryTransformer() + .setInputCols(new String[]{"fruitIdx", "colorIdx"}) + .setOutputCols(new String[]{"fruitIdxTransformed", "colorIdxTransformed"}); - stages.add(invalidCategoryTransformer); - } + InvalidCategoryTransformer singleInvalidCategoryTransformer = new InvalidCategoryTransformer() + .setInputCol("ratingIdx") + .setOutputCol("ratingIdxTransformed"); Pipeline pipeline = new Pipeline() - .setStages(stages.toArray(new PipelineStage[stages.size()])); + .setStages(new PipelineStage[]{stringIndexer, multiInvalidColumnTransformer, singleInvalidCategoryTransformer}); PipelineModel pipelineModel = pipeline.fit(ds); + @SuppressWarnings("unused") + PMML pmml = new PMMLBuilder(schema, pipelineModel) + .build(); + Dataset transformedDs = pipelineModel.transform(ds); StructType transformedSchema = transformedDs.schema(); diff --git a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java index 39989207..f367179b 100644 --- a/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java +++ b/pmml-sparkml/src/test/java/org/jpmml/sparkml/feature/SparseToDenseTransformerTest.java @@ -21,6 +21,9 @@ import java.util.Arrays; import java.util.List; +import org.apache.spark.ml.Pipeline; +import org.apache.spark.ml.PipelineModel; +import org.apache.spark.ml.PipelineStage; import org.apache.spark.ml.Transformer; import org.apache.spark.ml.linalg.DenseVector; import org.apache.spark.ml.linalg.SparseVector; @@ -56,12 +59,18 @@ public void transform(){ .setInputCol("featureVec") .setOutputCol("denseFeatureVec"); - Dataset transformedDs = transformer.transform(ds); + Pipeline pipeline = new Pipeline() + .setStages(new PipelineStage[]{transformer}); + + PipelineModel pipelineModel = pipeline.fit(ds); + + Dataset transformedDs = pipelineModel.transform(ds); assertNotNull(transformedDs.col("featureVec")); assertNotNull(transformedDs.col("denseFeatureVec")); - List transformedRows = transformedDs.select("featureVec", "denseFeatureVec") + List transformedRows = transformedDs + .select("featureVec", "denseFeatureVec") .collectAsList(); for(int i = 0; i < 3; i++){ From 21e86c33ad6d2cba4c1bc59a7cbe9c066f8bed67 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sat, 23 Dec 2023 15:29:44 +0200 Subject: [PATCH 18/39] Expanded commit 7e4d5fb618 --- .../sparkml/xgboost/testing/XGBoostTest.java | 17 +- .../src/test/resources/csv/XGBoostAudit.csv | 3798 ++++++++--------- .../src/test/resources/csv/XGBoostAuto.csv | 784 ++-- .../test/resources/pipeline/XGBoostAudit.zip | Bin 92219 -> 84216 bytes .../test/resources/pipeline/XGBoostAuto.zip | Bin 105622 -> 101857 bytes 5 files changed, 2307 insertions(+), 2292 deletions(-) diff --git a/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java b/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java index 8d3ed467..5f2ad0f0 100644 --- a/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java +++ b/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java @@ -21,13 +21,16 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.function.Predicate; import com.google.common.base.Equivalence; +import org.dmg.pmml.Model; import org.dmg.pmml.PMML; import org.dmg.pmml.VerificationField; import org.dmg.pmml.Visitor; import org.dmg.pmml.VisitorAction; +import org.jpmml.converter.testing.Datasets; import org.jpmml.converter.testing.Fields; import org.jpmml.converter.testing.OptionsUtil; import org.jpmml.evaluator.ResultField; @@ -74,8 +77,20 @@ public List> getOptionsMatrix(){ public PMML getPMML() throws Exception { PMML pmml = super.getPMML(); + String dataset = getDataset(); + Visitor visitor = new AbstractVisitor(){ + @Override + public VisitorAction visit(Model model){ + + if(Objects.equals(dataset, Datasets.AUDIT)){ + model.setModelVerification(null); + } + + return super.visit(model); + } + @Override public VisitorAction visit(VerificationField verificationField){ verificationField @@ -96,7 +111,7 @@ public VisitorAction visit(VerificationField verificationField){ @Test public void evaluateAudit() throws Exception { - evaluate("XGBoost", "Audit", excludeFields(Fields.AUDIT_PROBABILITY_FALSE)); + evaluate("XGBoost", "Audit", excludeFields(Fields.AUDIT_PROBABILITY_FALSE), new FloatEquivalence(64 + 8)); } @Test diff --git a/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAudit.csv b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAudit.csv index bb3b9227..758de8a4 100644 --- a/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAudit.csv +++ b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAudit.csv @@ -1,1900 +1,1900 @@ Adjusted,probability(0),probability(1) -0,0.99105775,0.008942221 -0,0.9991921,8.0789573E-4 -0,0.985464,0.014536004 -1,0.14763182,0.8523682 -1,0.13785505,0.86214495 -0,0.9992837,7.163573E-4 -1,0.022485316,0.9775147 -0,0.9392009,0.06079911 -0,0.97199696,0.02800305 -0,0.9999605,3.9500028E-5 -0,0.9994853,5.1468913E-4 -0,0.9727663,0.027233735 -0,0.9999909,9.109593E-6 -0,0.9997434,2.565934E-4 -1,0.016395628,0.9836044 -0,0.9954753,0.004524706 -0,0.9915595,0.008440509 -0,0.9811909,0.018809073 -0,0.9215619,0.07843812 -0,0.74300027,0.25699976 -0,0.97646534,0.023534676 -0,0.97202677,0.027973246 -0,0.99972814,2.718284E-4 -0,0.9884176,0.0115824 -0,0.99907106,9.289644E-4 -0,0.99757177,0.0024282201 -0,0.9948467,0.005153295 -1,0.25970685,0.74029315 -1,0.095053375,0.9049466 -0,0.86604106,0.1339589 -0,0.99074244,0.009257576 -0,0.9870912,0.0129088145 -0,0.9991209,8.791307E-4 -0,0.99909544,9.045325E-4 -0,0.9956717,0.004328293 -0,0.9990798,9.201948E-4 -0,0.932226,0.067774005 -1,0.25323182,0.7467682 -0,0.8760994,0.1239006 -0,0.985267,0.014733036 -1,0.05022925,0.94977075 -0,0.98938906,0.0106109455 -0,0.69933033,0.30066964 -0,0.9897504,0.010249589 -0,0.98538816,0.014611859 -1,0.2697944,0.7302056 -0,0.9830124,0.016987642 -1,0.2900229,0.7099771 -0,0.9966042,0.0033958228 -1,0.27364928,0.7263507 -0,0.9992205,7.795295E-4 -1,0.17463732,0.8253627 -1,0.049812376,0.9501876 -0,0.9999901,9.908364E-6 -0,0.92832947,0.07167051 -1,0.25258952,0.7474105 -0,0.9997649,2.3508628E-4 -0,0.9968068,0.0031931933 -0,0.9861968,0.013803184 -0,0.9010649,0.098935105 -0,0.8722063,0.12779374 -0,0.8508412,0.14915878 -0,0.9888148,0.011185233 -0,0.6751554,0.32484463 -0,0.9703914,0.029608637 -0,0.98584396,0.014156067 -1,0.10797912,0.8920209 -0,0.9955528,0.00444721 -0,0.99865705,0.0013429443 -0,0.97890097,0.021099042 -0,0.7000574,0.29994258 -1,0.2764414,0.7235586 -0,0.9974391,0.002560922 -0,0.9100029,0.0899971 -1,0.109216034,0.89078397 -0,0.9999832,1.681489E-5 -0,0.99997306,2.6947731E-5 -1,0.016835272,0.9831647 -0,0.97477394,0.025226038 -0,0.9881954,0.011804591 -0,0.999789,2.1099104E-4 -0,0.9619536,0.03804641 -0,0.9999096,9.042652E-5 -1,0.15814626,0.84185374 -0,0.9997033,2.9673323E-4 -0,0.8933015,0.10669854 -0,0.99997395,2.6026808E-5 -1,0.2794,0.7206 -0,0.99684393,0.003156043 -0,0.98829377,0.011706258 -0,0.7544248,0.24557516 -0,0.8175802,0.18241979 -0,0.9995741,4.2585877E-4 -1,0.093723,0.906277 -0,0.6999594,0.30004063 -0,0.8795776,0.12042244 -0,0.8086302,0.19136979 -0,0.7856907,0.21430926 -1,0.027783334,0.97221667 -0,0.866771,0.133229 -1,0.13229376,0.86770624 -0,0.9405098,0.059490204 -1,0.098683655,0.90131634 -1,0.30108005,0.69891995 -0,0.9221176,0.07788238 -0,0.6261671,0.37383288 -0,0.998089,0.0019109725 -0,0.82991433,0.17008564 -0,0.99707764,0.0029223324 -1,0.38079536,0.61920464 -0,0.98129565,0.018704353 -0,0.9968221,0.003177872 -1,0.03813517,0.9618648 -0,0.99239886,0.007601117 -0,0.9705391,0.029460879 -1,0.24037558,0.7596244 -0,0.97814417,0.021855803 -0,0.9999885,1.1507705E-5 -1,0.3285287,0.6714713 -1,0.38353455,0.61646545 -0,0.99988794,1.1202988E-4 -0,0.99995434,4.5638128E-5 -1,0.12393719,0.8760628 -0,0.96262175,0.037378255 -1,0.14070904,0.85929096 -0,0.9983717,0.0016283077 -0,0.999911,8.896293E-5 -1,0.13979518,0.8602048 -0,0.9643018,0.03569816 -0,0.9791838,0.020816218 -0,0.99907875,9.212383E-4 -1,0.13445067,0.8655493 -1,0.03682375,0.96317625 -0,0.6739602,0.32603976 -0,0.7983097,0.20169035 -0,0.9911661,0.008833864 -0,0.9986359,0.0013640858 -0,0.99976623,2.3377736E-4 -0,0.9988475,0.0011525013 -0,0.9978121,0.0021878819 -0,0.9481178,0.0518822 -0,0.99960333,3.966569E-4 -0,0.52001023,0.47998974 -0,0.99902326,9.76736E-4 -0,0.94558275,0.05441725 -0,0.9661128,0.03388721 -0,0.66346383,0.33653617 -0,0.9510152,0.048984807 -0,0.9892348,0.010765203 -0,0.5578734,0.44212657 -0,0.85527825,0.14472175 -1,0.17971832,0.8202817 -0,0.9944686,0.0055313916 -0,0.98667234,0.01332765 -0,0.9832972,0.016702794 -1,0.24967569,0.7503243 -1,0.36277074,0.63722926 -1,0.3134994,0.6865006 -1,0.14225471,0.8577453 -0,0.9690106,0.030989408 -0,0.8713413,0.12865871 -1,0.39150017,0.6084998 -1,0.23143041,0.7685696 -1,0.09283638,0.9071636 -0,0.9999262,7.379964E-5 -1,0.0075665712,0.9924334 -0,0.9989443,0.0010557219 -0,0.9553687,0.044631276 -1,0.26944083,0.7305592 -0,0.9935788,0.006421211 -0,0.99429226,0.0057077175 -0,0.99998003,1.9982648E-5 -0,0.9999529,4.7067686E-5 -0,0.9954706,0.0045294445 -0,0.9999849,1.5053404E-5 -0,0.9455442,0.05445581 -0,0.9547504,0.04524961 -0,0.9756093,0.024390703 -1,0.26280725,0.73719275 -1,0.21331418,0.7866858 -0,0.99647903,0.0035209733 -0,0.9925283,0.007471654 -0,0.9972268,0.0027732474 -1,0.36085135,0.63914865 -0,0.92790896,0.07209102 -0,0.99840605,0.0015939561 -0,0.98074794,0.01925207 -0,0.99995273,4.723888E-5 -1,0.09333712,0.9066629 -0,0.9496172,0.05038278 -0,0.99940836,5.9166463E-4 -1,0.47325724,0.52674276 -0,0.9965497,0.0034502593 -0,0.9997607,2.393345E-4 -0,0.82887405,0.17112595 -0,0.98814183,0.011858193 -0,0.9925599,0.007440104 -1,0.1942482,0.8057518 -0,0.9993648,6.3521E-4 -0,0.99997294,2.708007E-5 -1,0.23195213,0.76804787 -0,0.9813405,0.01865945 -1,0.11714399,0.882856 -0,0.9999844,1.5633213E-5 -0,0.8374948,0.16250521 -0,0.9995301,4.6990594E-4 -1,0.011810303,0.9881897 -0,0.9950052,0.004994788 -0,0.9944959,0.005504075 -0,0.77616936,0.22383063 -0,0.9977387,0.0022612626 -0,0.9224602,0.07753981 -0,0.9985581,0.0014418865 -0,0.99942935,5.706607E-4 -0,0.6650728,0.3349272 -0,0.99985075,1.4923228E-4 -0,0.9993781,6.2193174E-4 -0,0.9992931,7.0691E-4 -0,0.9999109,8.9096895E-5 -0,0.79682624,0.20317374 -1,0.09883052,0.9011695 -0,0.89666134,0.10333866 -0,0.98668754,0.013312489 -0,0.9944542,0.005545792 -1,0.25912333,0.7408767 -0,0.99997014,2.9848223E-5 -0,0.8398817,0.16011828 -0,0.7827921,0.21720788 -0,0.9486298,0.051370215 -0,0.8129326,0.18706739 -1,0.38347244,0.61652756 -0,0.9725681,0.027431933 -0,0.99678725,0.0032127225 -0,0.9107138,0.0892862 -0,0.9972683,0.0027316578 -0,0.90212893,0.097871065 -1,0.19363421,0.8063658 -1,0.21005297,0.78994703 -0,0.95495063,0.045049347 -0,0.99794084,0.002059165 -1,0.10556823,0.89443177 -1,0.29248112,0.7075189 -0,0.9931708,0.006829205 -0,0.95971906,0.040280964 -1,0.26522857,0.73477143 -1,0.040738106,0.9592619 -0,0.93107295,0.06892705 -0,0.99315387,0.006846102 -1,0.051208317,0.9487917 -0,0.9500636,0.049936417 -0,0.7759652,0.22403479 -0,0.99881,0.001190004 -0,0.82036734,0.1796327 -0,0.9987621,0.0012379069 -0,0.99797386,0.002026117 -1,0.017739475,0.9822605 -0,0.99037886,0.009621122 -0,0.9935796,0.0064203595 -1,0.27053267,0.72946733 -1,0.15327924,0.84672076 -0,0.743165,0.25683498 -0,0.99179775,0.008202281 -0,0.97938615,0.02061385 -0,0.99893415,0.0010658528 -0,0.9998284,1.7161571E-4 -0,0.964351,0.035649016 -0,0.99531984,0.0046801455 -0,0.9053425,0.09465747 -0,0.9753329,0.024667105 -0,0.99998754,1.2448991E-5 -1,0.21365345,0.78634655 -1,0.41147655,0.58852345 -0,0.98936296,0.010637049 -0,0.51428986,0.4857101 -0,0.9865911,0.0134089 -0,0.9269563,0.07304372 -1,0.08108288,0.9189171 -0,0.59419435,0.40580565 -1,0.19397521,0.8060248 -1,0.067290545,0.93270946 -1,0.1943512,0.8056488 -0,0.75353575,0.24646422 -0,0.6551611,0.34483892 -0,0.5434371,0.45656285 -0,0.831322,0.168678 -0,0.9999591,4.091213E-5 -0,0.9996559,3.4407916E-4 -1,0.30424827,0.6957517 -0,0.9985988,0.001401206 -0,0.99527204,0.004727945 -0,0.9899526,0.010047392 -0,0.99970835,2.916302E-4 -0,0.6613561,0.3386439 -0,0.970166,0.029833961 -0,0.9582509,0.041749142 -0,0.9998874,1.1261908E-4 -0,0.9537355,0.04626452 -0,0.98890406,0.011095916 -1,0.22536355,0.77463645 -0,0.9997267,2.733026E-4 -0,0.99998164,1.8377106E-5 -0,0.96647024,0.033529762 -1,0.12626278,0.8737372 -0,0.9979571,0.0020428922 -0,0.9996271,3.728811E-4 -1,0.026206017,0.973794 -0,0.9981712,0.0018287671 -0,0.997507,0.002493024 -0,0.9978161,0.0021838935 -0,0.944395,0.05560499 -0,0.99961174,3.8827205E-4 -0,0.98436,0.015640022 -1,0.11855757,0.8814424 -0,0.9852077,0.014792333 -0,0.99946254,5.3746486E-4 -0,0.99749374,0.0025062715 -0,0.9992554,7.4456516E-4 -0,0.87850714,0.12149286 -0,0.9978692,0.002130778 -0,0.8169848,0.18301524 -0,0.99508744,0.004912545 -1,0.037123084,0.9628769 -0,0.9955829,0.0044171303 -0,0.99355334,0.006446664 -0,0.9906745,0.0093255285 -1,0.037228167,0.96277183 -0,0.9999573,4.269683E-5 -0,0.9923234,0.007676604 -0,0.9912968,0.008703173 -0,0.99325645,0.0067435615 -0,0.97320855,0.026791448 -1,0.045722365,0.95427763 -0,0.8012865,0.19871347 -0,0.9344536,0.065546416 -0,0.9875561,0.012443874 -0,0.97406924,0.025930738 -1,0.179878,0.820122 -0,0.9772446,0.022755407 -1,0.16371322,0.8362868 -0,0.9427655,0.057234496 -1,0.0053495765,0.9946504 -0,0.9999116,8.837098E-5 -0,0.8761336,0.12386638 -0,0.9171493,0.082850695 -0,0.9975745,0.002425476 -0,0.9997447,2.5531222E-4 -0,0.93039596,0.06960402 -0,0.99959534,4.0466854E-4 -0,0.99271184,0.0072881533 -0,0.93508166,0.06491833 -0,0.91001004,0.089989945 -0,0.94249374,0.05750629 -0,0.99795574,0.002044273 -0,0.9992277,7.723122E-4 -0,0.95193046,0.048069533 -0,0.5759551,0.4240449 -0,0.874825,0.12517497 -0,0.9909918,0.009008242 -0,0.9885769,0.011423098 -0,0.9995087,4.913475E-4 -0,0.94426626,0.055733763 -1,0.27967972,0.7203203 -0,0.9992872,7.128253E-4 -0,0.9530898,0.046910238 -0,0.9529276,0.047072433 -0,0.9998421,1.5787146E-4 -0,0.93380815,0.066191845 -0,0.91951156,0.08048844 -0,0.87038827,0.12961172 -1,0.3265069,0.6734931 -0,0.9994923,5.077304E-4 -0,0.9446941,0.055305894 -1,0.13074112,0.8692589 -0,0.9990603,9.3975494E-4 -0,0.64064205,0.35935795 -0,0.9818803,0.018119702 -0,0.99743736,0.0025626193 -0,0.99297434,0.0070256838 -0,0.9999884,1.1611195E-5 -0,0.99769753,0.0023024422 -0,0.8645345,0.13546553 -0,0.99696165,0.0030383407 -0,0.99957716,4.228415E-4 -1,0.43070048,0.5692995 -1,0.04698801,0.953012 -1,0.13882071,0.8611793 -0,0.9932428,0.0067572203 -0,0.90454865,0.09545133 -1,0.39715338,0.6028466 -0,0.989236,0.0107640205 -0,0.999913,8.699971E-5 -0,0.9419949,0.058005065 -0,0.9921892,0.0078107803 -1,0.290039,0.709961 -0,0.999706,2.940564E-4 -1,0.11251664,0.88748336 -0,0.840279,0.159721 -0,0.95920444,0.040795557 -0,0.9892301,0.010769912 -0,0.9982157,0.0017843201 -0,0.9950217,0.004978314 -1,0.035084605,0.9649154 -0,0.94651437,0.053485613 -0,0.9993866,6.133722E-4 -0,0.9947008,0.0052992376 -0,0.9137829,0.0862171 -0,0.9993506,6.493828E-4 -0,0.9690994,0.030900585 -0,0.91592157,0.084078446 -0,0.9494223,0.050577674 -0,0.90898204,0.091017954 -0,0.7137464,0.28625357 -0,0.9477846,0.052215375 -0,0.81859374,0.18140627 -0,0.9999102,8.982475E-5 -0,0.9768826,0.023117395 -0,0.99869484,0.0013051741 -0,0.99137676,0.008623269 -0,0.77238405,0.22761594 -0,0.99163043,0.008369579 -0,0.9917479,0.008252113 -1,0.09068984,0.90931016 -1,0.07862538,0.9213746 -1,0.1630351,0.8369649 -1,0.1958099,0.8041901 -0,0.9990368,9.63216E-4 -0,0.9248693,0.07513073 -1,0.22766048,0.7723395 -0,0.7992247,0.20077531 -0,0.99182487,0.008175145 -0,0.9655039,0.034496102 -0,0.7669899,0.2330101 -0,0.8770373,0.12296273 -1,0.4209581,0.5790419 -1,0.04798001,0.95202 -0,0.925652,0.07434798 -0,0.86482394,0.13517603 -0,0.999954,4.6039808E-5 -0,0.8190811,0.18091886 -0,0.7675763,0.23242374 -0,0.99003357,0.009966448 -0,0.99988884,1.111484E-4 -0,0.6864469,0.31355307 -1,0.19532979,0.8046702 -1,0.0687871,0.9312129 -0,0.9999788,2.123181E-5 -1,0.16334563,0.83665437 -1,0.017201602,0.9827984 -0,0.99610627,0.0038937388 -0,0.9990188,9.811957E-4 -0,0.9978437,0.0021563044 -0,0.9937488,0.006251201 -0,0.86300576,0.13699421 -0,0.987626,0.012373996 -0,0.94977313,0.05022685 -0,0.96955293,0.030447073 -0,0.98005515,0.019944843 -1,0.09370035,0.90629965 -1,0.17979074,0.82020926 -0,0.99991995,8.006082E-5 -1,0.28650093,0.71349907 -0,0.87686723,0.123132765 -1,0.31632662,0.6836734 -1,0.107676625,0.8923234 -0,0.9092191,0.09078092 -1,0.28748977,0.7125102 -0,0.998319,0.0016810034 -0,0.9949765,0.0050234688 -0,0.946742,0.053258006 -1,0.06717187,0.9328281 -0,0.9921086,0.007891425 -0,0.9813298,0.018670205 -0,0.97435766,0.025642354 -0,0.9996762,3.2375302E-4 -0,0.90236545,0.09763457 -1,0.04062569,0.9593743 -1,0.41701424,0.58298576 -1,0.097515404,0.9024846 -1,0.30923623,0.6907638 -0,0.9998922,1.0784636E-4 -0,0.988486,0.011514025 -0,0.999976,2.4014254E-5 -0,0.9844616,0.015538402 -0,0.85726905,0.14273092 -1,0.0044504404,0.99554956 -1,0.4696145,0.5303855 -0,0.9868836,0.0131164 -0,0.9726264,0.027373606 -0,0.982505,0.017495003 -0,0.9808469,0.019153146 -0,0.8414014,0.1585986 -0,0.95270544,0.047294542 -0,0.9991832,8.168486E-4 -1,0.032891214,0.9671088 -1,0.49384952,0.5061505 -1,0.13365448,0.8663455 -1,0.46188033,0.5381197 -0,0.9996835,3.164885E-4 -0,0.999389,6.1100913E-4 -0,0.9772794,0.022720588 -0,0.59313214,0.40686786 -0,0.998547,0.0014529935 -0,0.9992193,7.80707E-4 -0,0.9916036,0.008396374 -0,0.99892426,0.0010757493 -1,0.23037022,0.7696298 -0,0.99994916,5.0844043E-5 -0,0.9978417,0.0021582968 -0,0.99944425,5.5576354E-4 -1,0.06053698,0.939463 -1,0.061634958,0.93836504 -0,0.99213135,0.00786865 -0,0.9993948,6.0520147E-4 -1,0.06404835,0.93595165 -0,0.99994177,5.8225713E-5 -0,0.9779619,0.022038111 -0,0.99721974,0.0027802493 -0,0.99569654,0.0043034744 -0,0.9097136,0.090286344 -1,0.039824903,0.9601751 -1,0.13178968,0.8682103 -0,0.95640177,0.043598223 -0,0.9879884,0.0120116165 -0,0.89353484,0.10646516 -0,0.99985605,1.439544E-4 -0,0.6449086,0.3550914 -1,0.31461525,0.68538475 -0,0.9976738,0.0023262138 -0,0.9812472,0.018752825 -0,0.854396,0.14560398 -0,0.99779016,0.0022098466 -0,0.937208,0.062792026 -1,0.058093905,0.9419061 -0,0.9999551,4.4855173E-5 -0,0.9999389,6.111926E-5 -0,0.994779,0.0052210223 -1,0.41427654,0.58572346 -1,0.32986772,0.6701323 -0,0.9886205,0.011379473 -0,0.9975666,0.002433406 -0,0.9872982,0.012701798 -0,0.98409486,0.015905153 -1,0.14965528,0.8503447 -0,0.88373965,0.11626036 -1,0.07035935,0.92964065 -0,0.9963025,0.003697537 -0,0.9996159,3.8407728E-4 -1,0.1676063,0.8323937 -0,0.9752542,0.02474581 -1,0.097111285,0.9028887 -0,0.76695,0.23305 -0,0.9759785,0.024021521 -0,0.9282396,0.0717604 -0,0.9998871,1.128981E-4 -0,0.7969649,0.20303509 -0,0.8884856,0.111514404 -0,0.7249675,0.27503252 -0,0.72504556,0.2749544 -0,0.846277,0.15372303 -0,0.9701898,0.029810201 -0,0.9929876,0.00701242 -0,0.85893464,0.14106537 -1,0.020437002,0.979563 -1,0.003362894,0.9966371 -1,0.22797483,0.77202517 -0,0.8152548,0.18474519 -1,0.27354604,0.72645396 -0,0.9987505,0.0012494868 -0,0.9619637,0.03803626 -0,0.88983315,0.11016685 -0,0.9662904,0.033709563 -1,0.16121346,0.83878654 -0,0.99992657,7.344447E-5 -0,0.9940673,0.0059327167 -0,0.99732584,0.002674135 -1,0.071888685,0.9281113 -0,0.99939144,6.0856063E-4 -0,0.9977051,0.002294877 -0,0.9979265,0.0020735206 -0,0.94037175,0.05962825 -0,0.99990714,9.286612E-5 -0,0.9999245,7.552066E-5 -0,0.99603534,0.003964663 -0,0.8985825,0.1014175 -0,0.9906412,0.009358794 -0,0.98157537,0.018424641 -0,0.8995125,0.10048745 -0,0.9816312,0.018368786 -0,0.9967521,0.0032479265 -0,0.9923621,0.007637915 -0,0.9999785,2.1514945E-5 -1,0.0038497448,0.99615026 -0,0.89136195,0.10863806 -0,0.9255052,0.07449477 -0,0.99989307,1.06956686E-4 -0,0.9673207,0.032679304 -1,0.21544945,0.78455055 -1,0.15550143,0.8444986 -0,0.8880798,0.111920156 -1,0.018208206,0.9817918 -0,0.99874955,0.0012504542 -0,0.99070764,0.009292367 -0,0.9982704,0.0017295938 -0,0.8016285,0.1983715 -0,0.99428844,0.0057115555 -0,0.86824864,0.13175137 -0,0.9989839,0.0010160741 -0,0.94204247,0.057957545 -0,0.8763017,0.12369831 -0,0.9887413,0.011258698 -0,0.9925285,0.0074714846 -1,0.20489526,0.79510474 -1,0.16278172,0.8372183 -0,0.9964298,0.0035702123 -0,0.9611849,0.038815062 -0,0.9645895,0.03541055 -0,0.9971371,0.0028628989 -0,0.9957418,0.004258211 -1,0.14750266,0.85249734 -0,0.9993975,6.025097E-4 -0,0.975442,0.02455799 -0,0.9840897,0.01591034 -0,0.9395377,0.060462277 -0,0.9418764,0.058123592 -1,0.032876015,0.967124 -0,0.9980533,0.0019466644 -0,0.99654394,0.0034560338 -0,0.9999889,1.1076507E-5 -0,0.9990076,9.923886E-4 -0,0.89135295,0.108647026 -0,0.9752191,0.024780938 -0,0.99977374,2.2627942E-4 -0,0.9290255,0.07097452 -0,0.6619691,0.33803087 -0,0.98729694,0.012703089 -1,0.13137239,0.8686276 -0,0.89894515,0.101054855 -0,0.8847186,0.1152814 -0,0.99923086,7.691585E-4 -0,0.941596,0.058404054 -0,0.8165507,0.18344931 -1,0.08714229,0.9128577 -0,0.9999323,6.768306E-5 -0,0.99902713,9.7289606E-4 -0,0.93880415,0.061195854 -0,0.9495597,0.05044028 -0,0.9954243,0.0045757014 -0,0.9942455,0.0057544843 -0,0.72976553,0.27023444 -1,0.07363504,0.92636496 -0,0.9915596,0.008440382 -0,0.9998957,1.04289975E-4 -1,0.08983928,0.9101607 -1,0.04862511,0.9513749 -0,0.99964833,3.5167372E-4 -0,0.99134547,0.008654526 -1,0.00514555,0.99485445 -1,0.11169511,0.8883049 -0,0.93893236,0.061067622 -0,0.9472545,0.05274552 -0,0.96669656,0.033303447 -0,0.9934419,0.0065580984 -0,0.999525,4.750175E-4 -0,0.9812857,0.018714314 -0,0.9808141,0.019185929 -0,0.9987573,0.0012426996 -1,0.0689044,0.9310956 -0,0.971273,0.028727008 -1,0.19576037,0.80423963 -0,0.968832,0.031167991 -0,0.9958056,0.0041943993 -0,0.9397601,0.06023993 -0,0.8016285,0.1983715 -0,0.99940467,5.95335E-4 -0,0.99984133,1.5864786E-4 -0,0.999891,1.0904217E-4 -0,0.94705755,0.05294248 -1,0.043147743,0.95685226 -0,0.9586345,0.04136553 -0,0.9953656,0.004634366 -0,0.9995088,4.9121893E-4 -1,0.22353047,0.7764695 -0,0.99907017,9.298615E-4 -0,0.9254672,0.074532814 -0,0.8676902,0.13230976 -1,0.20684195,0.79315805 -0,0.9855755,0.014424508 -0,0.9999711,2.8922443E-5 -1,0.11727619,0.8827238 -1,0.4061426,0.5938574 -1,0.30572677,0.69427323 -0,0.975345,0.024655003 -0,0.98217404,0.017825948 -0,0.9994602,5.3978025E-4 -0,0.99953496,4.6505898E-4 -1,0.15555078,0.8444492 -0,0.97163785,0.028362144 -0,0.98952335,0.0104766665 -0,0.9988955,0.0011044508 -0,0.8340369,0.16596313 -1,0.0339697,0.9660303 -0,0.6672087,0.3327913 -0,0.92227846,0.077721536 -0,0.9232947,0.07670528 -1,0.3151009,0.6848991 -0,0.97865933,0.021340646 -1,0.2071569,0.7928431 -0,0.8906212,0.109378815 -1,0.021268606,0.9787314 -1,0.18475372,0.8152463 -0,0.54741484,0.45258516 -0,0.7674535,0.23254652 -0,0.9989132,0.0010867966 -0,0.8559885,0.14401151 -1,0.020780861,0.97921914 -1,0.012486994,0.987513 -0,0.9998945,1.0552864E-4 -0,0.99940395,5.960319E-4 -0,0.9977499,0.002250048 -0,0.97767663,0.022323387 -0,0.91211736,0.08788265 -0,0.98016953,0.019830478 -0,0.9992734,7.2658516E-4 -0,0.9979918,0.0020081755 -0,0.9968497,0.0031502591 -0,0.8172108,0.1827892 -0,0.9129453,0.087054715 -0,0.9999653,3.4708417E-5 -1,0.15318799,0.846812 -0,0.9501358,0.049864165 -0,0.9342482,0.06575181 -0,0.9145228,0.085477166 -0,0.99738467,0.0026153254 -0,0.8877833,0.11221674 -0,0.9995461,4.5391702E-4 -0,0.5677389,0.4322611 -0,0.8257584,0.17424162 -1,0.1901865,0.8098135 -0,0.926684,0.07331596 -1,0.074202895,0.9257971 -0,0.9799477,0.020052342 -0,0.9996736,3.263745E-4 -1,0.052223265,0.94777673 -1,0.08906233,0.91093767 -0,0.9986378,0.0013621917 -0,0.9950146,0.004985375 -0,0.99526155,0.0047384757 -0,0.9623317,0.037668303 -0,0.99662006,0.003379913 -0,0.529832,0.47016802 -0,0.99940246,5.975469E-4 -0,0.9996164,3.8362006E-4 -0,0.99995154,4.8456695E-5 -0,0.9999909,9.108958E-6 -0,0.66361564,0.33638436 -0,0.7466616,0.2533384 -1,0.15025079,0.8497492 -0,0.6155789,0.38442108 -0,0.99994254,5.748531E-5 -0,0.8989479,0.1010521 -0,0.9740828,0.025917197 -1,0.062247813,0.9377522 -0,0.9276426,0.0723574 -0,0.99864215,0.0013578566 -0,0.99967587,3.2413442E-4 -0,0.9999722,2.7760545E-5 -1,0.15424395,0.84575605 -1,0.1446597,0.8553403 -1,0.03800577,0.96199423 -0,0.9991917,8.0830813E-4 -1,0.075185835,0.92481416 -0,0.94543284,0.05456714 -0,0.8188275,0.1811725 -0,0.930976,0.06902405 -0,0.96394217,0.036057837 -0,0.8744906,0.12550938 -0,0.5818126,0.41818738 -0,0.9994992,5.008164E-4 -0,0.9984847,0.0015153512 -0,0.6448545,0.3551455 -0,0.99857,0.0014299502 -0,0.9998784,1.2158745E-4 -0,0.998319,0.001681037 -0,0.99982166,1.7833812E-4 -1,0.19010925,0.80989075 -0,0.92341435,0.076585665 -0,0.7214026,0.2785974 -1,0.05092448,0.9490755 -0,0.99996835,3.164922E-5 -0,0.9999401,5.9903352E-5 -0,0.95253336,0.047466658 -1,0.18886656,0.81113344 -1,0.08141595,0.91858405 -0,0.9994819,5.1810045E-4 -0,0.99920607,7.9394056E-4 -0,0.999988,1.1982066E-5 -0,0.9244622,0.07553781 -0,0.9616257,0.03837428 -0,0.9999055,9.4480456E-5 -1,0.098553956,0.90144604 -0,0.9929625,0.007037546 -0,0.9994289,5.710593E-4 -1,0.050433278,0.9495667 -0,0.99975264,2.4737694E-4 -1,0.499192,0.500808 -0,0.88163555,0.118364476 -0,0.9804175,0.019582536 -0,0.99641854,0.0035814475 -1,0.09543145,0.90456855 -0,0.9123601,0.08763991 -0,0.9672188,0.032781173 -0,0.99340504,0.0065949364 -1,0.22876942,0.7712306 -1,0.28054905,0.71945095 -1,0.07734567,0.92265433 -1,0.28508562,0.7149144 -1,0.15766221,0.8423378 -0,0.9874228,0.012577171 -0,0.9728458,0.027154198 -0,0.99995154,4.846349E-5 -1,0.15345341,0.8465466 -0,0.98804855,0.011951472 -0,0.93275946,0.06724056 -0,0.9693517,0.030648295 -0,0.99986404,1.3592847E-4 -1,0.19928455,0.80071545 -1,0.11754745,0.88245255 -0,0.99509287,0.0049071563 -0,0.9556391,0.044360884 -0,0.9998912,1.08750275E-4 -0,0.98638874,0.013611275 -0,0.9997018,2.9821566E-4 -0,0.9998218,1.7819126E-4 -1,0.025369704,0.9746303 -0,0.8387922,0.16120777 -0,0.832512,0.16748796 -0,0.9999877,1.225114E-5 -0,0.9865148,0.013485215 -0,0.8922896,0.1077104 -0,0.9976638,0.002336215 -0,0.9999788,2.123181E-5 -1,0.12736166,0.87263834 -0,0.99992913,7.0878334E-5 -0,0.99636203,0.0036379409 -0,0.99970174,2.9826938E-4 -0,0.9998472,1.5284673E-4 -1,0.010146439,0.98985356 -0,0.95371145,0.046288576 -1,0.29262078,0.7073792 -1,0.055291176,0.9447088 -0,0.6244856,0.37551442 -0,0.944832,0.055167984 -1,0.038274765,0.96172523 -0,0.99955493,4.4504402E-4 -0,0.9730729,0.026927117 -0,0.9200917,0.07990829 -1,0.1871996,0.8128004 -1,0.4068169,0.5931831 -0,0.9874458,0.012554234 -0,0.6052116,0.39478835 -1,0.07412422,0.9258758 -0,0.86139596,0.13860407 -1,0.09367883,0.90632117 -1,0.05412209,0.9458779 -0,0.97632277,0.023677226 -1,0.20829022,0.7917098 -1,0.13508058,0.8649194 -0,0.99985754,1.4247355E-4 -0,0.98024285,0.019757172 -1,0.36461812,0.6353819 -0,0.9980787,0.0019213055 -0,0.99822867,0.0017713464 -0,0.98507273,0.014927265 -0,0.88573384,0.11426615 -0,0.99447227,0.0055277073 -0,0.90194184,0.09805817 -0,0.99604034,0.0039596288 -0,0.96127784,0.038722128 -0,0.86231303,0.137687 -0,0.9987687,0.0012313231 -0,0.9956472,0.004352814 -0,0.97421235,0.025787678 -0,0.9968781,0.0031219383 -0,0.89022017,0.10977984 -1,0.30731082,0.6926892 -0,0.9905263,0.009473652 -0,0.8796176,0.12038243 -0,0.96663374,0.03336624 -0,0.9829792,0.017020792 -0,0.9808871,0.019112913 -1,0.017399013,0.982601 -1,0.011892796,0.9881072 -0,0.99959964,4.00383E-4 -1,0.025395632,0.97460437 -0,0.9968821,0.003117918 -1,0.30722362,0.6927764 -1,0.0041342974,0.9958657 -0,0.6242949,0.3757051 -0,0.9993207,6.7931117E-4 -0,0.974988,0.025012046 -0,0.99843466,0.0015653074 -0,0.99928904,7.109461E-4 -0,0.51891744,0.4810826 -0,0.9999909,9.108958E-6 -0,0.95500666,0.044993326 -0,0.9137397,0.0862603 -1,0.045476854,0.95452315 -1,0.2337091,0.7662909 -0,0.8291005,0.1708995 -0,0.9998543,1.4564868E-4 -0,0.9999545,4.546671E-5 -0,0.9998297,1.7026823E-4 -0,0.99922615,7.738675E-4 -0,0.98698777,0.013012257 -0,0.9951346,0.0048654038 -1,0.10589981,0.8941002 -1,0.3181051,0.6818949 -1,0.013877392,0.9861226 -0,0.9996933,3.0671761E-4 -0,0.9815909,0.018409057 -1,0.44941598,0.550584 -0,0.99997663,2.3370627E-5 -0,0.9564112,0.04358881 -0,0.95338345,0.04661658 -0,0.999156,8.439979E-4 -1,0.017757773,0.9822422 -1,0.0430876,0.9569124 -0,0.82116723,0.17883274 -0,0.99847025,0.0015297806 -1,0.09111881,0.9088812 -1,0.13913834,0.86086166 -0,0.999469,5.3104275E-4 -0,0.9995249,4.7512705E-4 -1,0.28994167,0.71005833 -1,0.15752017,0.8424798 -0,0.9816513,0.018348696 -0,0.99997,2.9960214E-5 -0,0.7064518,0.2935482 -0,0.8320797,0.1679203 -0,0.99998033,1.9693274E-5 -0,0.70803916,0.29196084 -0,0.86672807,0.13327193 -0,0.9999899,1.00542375E-5 -0,0.9701471,0.029852921 -0,0.919088,0.080912024 -0,0.8097301,0.1902699 -0,0.99994963,5.0377283E-5 -0,0.9666351,0.033364877 -0,0.96414244,0.035857536 -0,0.98535424,0.01464578 -1,0.044602036,0.95539796 -0,0.9999909,9.108958E-6 -0,0.9988292,0.001170806 -1,0.32071733,0.67928267 -1,0.2168622,0.7831378 -1,0.010686338,0.98931366 -0,0.8640163,0.13598372 -0,0.9984577,0.0015423549 -1,0.033073664,0.96692634 -0,0.99928445,7.155743E-4 -0,0.9233437,0.076656274 -0,0.9559585,0.0440415 -1,0.12200135,0.87799865 -0,0.9980141,0.0019859332 -1,0.11828339,0.8817166 -0,0.7826609,0.21733911 -0,0.5602983,0.4397017 -1,0.06268108,0.9373189 -0,0.9995753,4.2469872E-4 -0,0.9721036,0.027896378 -0,0.9937865,0.0062134997 -1,0.38380092,0.6161991 -0,0.9937025,0.0062975395 -0,0.89362586,0.10637414 -0,0.9995057,4.9427734E-4 -0,0.92031246,0.07968751 -0,0.78454584,0.21545416 -0,0.9963691,0.0036308717 -0,0.7228304,0.27716962 -0,0.99786353,0.0021364712 -0,0.9814957,0.0185043 -1,0.3483132,0.6516868 -0,0.95809376,0.04190621 -0,0.8260513,0.17394872 -0,0.9948834,0.005116595 -0,0.9838927,0.016107347 -0,0.9980533,0.0019466626 -1,0.16128206,0.83871794 -0,0.9830373,0.016962714 -1,0.115635574,0.8843644 -0,0.99615103,0.003848985 -0,0.9989552,0.0010448163 -0,0.9071602,0.09283979 -1,0.010543764,0.98945624 -0,0.99993527,6.471552E-5 -0,0.99875,0.0012500308 -0,0.8629291,0.13707092 -0,0.99510884,0.0048911814 -1,0.040691078,0.9593089 -0,0.71369976,0.28630024 -0,0.99749637,0.0025036216 -0,0.99154645,0.008453533 -0,0.9998844,1.1559295E-4 -0,0.9915288,0.008471206 -0,0.9976292,0.0023707896 -1,0.31533986,0.68466014 -1,0.07816422,0.9218358 -1,0.4836132,0.5163868 -0,0.99945235,5.476771E-4 -0,0.99763745,0.0023625328 -1,0.26063085,0.73936915 -0,0.99259776,0.0074022226 -1,0.11089897,0.889101 -1,0.22738177,0.77261823 -0,0.9991128,8.8719226E-4 -1,0.18495274,0.81504726 -0,0.99866635,0.0013336443 -0,0.9679296,0.032070417 -1,0.056777596,0.9432224 -0,0.9038725,0.096127525 -0,0.9987729,0.001227076 -1,0.27179062,0.7282094 -0,0.6441207,0.35587928 -0,0.9986079,0.0013921394 -1,0.20500308,0.7949969 -0,0.999859,1.4103095E-4 -0,0.99240935,0.0075906673 -0,0.9811809,0.018819073 -0,0.7187748,0.28122517 -1,0.20123571,0.7987643 -0,0.99562734,0.0043726293 -0,0.9997979,2.0211094E-4 -0,0.9989192,0.0010807831 -0,0.9864334,0.013566622 -0,0.7372147,0.2627853 -0,0.9700759,0.029924113 -1,0.012475729,0.9875243 -0,0.9903559,0.009644113 -0,0.85116273,0.14883727 -1,0.22297382,0.7770262 -0,0.9983059,0.0016940645 -0,0.94662833,0.053371653 -1,0.23275942,0.7672406 -0,0.98309004,0.016909935 -0,0.69405127,0.30594873 -0,0.99909127,9.0872473E-4 -0,0.99521494,0.004785054 -0,0.9354886,0.06451139 -0,0.9423145,0.057685494 -0,0.99640983,0.0035901878 -0,0.9996551,3.4487687E-4 -0,0.9999128,8.720877E-5 -0,0.99764955,0.0023504405 -0,0.9999661,3.3922406E-5 -0,0.9962877,0.0037123074 -0,0.982913,0.017086968 -1,0.22731674,0.77268326 -0,0.9991032,8.968376E-4 -0,0.7585978,0.24140221 -0,0.913226,0.08677402 -1,0.21634972,0.7836503 -1,0.11852211,0.8814779 -0,0.99991876,8.12484E-5 -1,0.048448026,0.951552 -0,0.99956125,4.387663E-4 -0,0.5326766,0.4673234 -0,0.89531654,0.10468346 -0,0.9932101,0.0067899516 -1,0.4403773,0.5596227 -0,0.9900574,0.00994258 -0,0.99995303,4.699046E-5 -0,0.78966284,0.21033713 -0,0.9789692,0.021030793 -0,0.99972695,2.7306794E-4 -0,0.9971083,0.0028917142 -0,0.91657746,0.083422534 -1,0.14780545,0.85219455 -1,0.007090032,0.99290997 -0,0.9983966,0.0016033967 -1,0.11801416,0.88198584 -0,0.99992365,7.633637E-5 -0,0.9999264,7.361486E-5 -0,0.999891,1.0904217E-4 -0,0.93169844,0.06830158 -0,0.99988985,1.1016045E-4 -1,0.023036182,0.9769638 -0,0.96018046,0.039819557 -0,0.91329074,0.08670929 -0,0.959585,0.04041497 -0,0.9867911,0.013208935 -1,0.121995926,0.8780041 -0,0.99935436,6.456508E-4 -0,0.82337236,0.17662764 -0,0.99748075,0.0025192231 -0,0.9949326,0.005067383 -0,0.9997636,2.3636286E-4 -0,0.72630525,0.27369478 -0,0.99994546,5.451811E-5 -1,0.112089396,0.8879106 -0,0.9205982,0.07940178 -1,0.08616388,0.9138361 -0,0.57519436,0.42480564 -0,0.9989473,0.0010526949 -0,0.9981415,0.0018584852 -1,0.33670914,0.66329086 -0,0.999947,5.2983345E-5 -0,0.9720195,0.027980534 -0,0.98635113,0.013648848 -0,0.9999882,1.1772691E-5 -0,0.8782914,0.12170858 -0,0.9684505,0.031549506 -0,0.9848898,0.015110192 -0,0.9645112,0.035488803 -1,0.07687199,0.923128 -0,0.9999437,5.6332876E-5 -0,0.99763894,0.0023610475 -0,0.9680828,0.031917192 -0,0.99098086,0.009019124 -0,0.9929405,0.0070594884 -0,0.9995937,4.0632824E-4 -0,0.99991924,8.073849E-5 -0,0.87519646,0.12480353 -0,0.9890446,0.010955376 -1,0.35336417,0.64663583 -1,0.43096244,0.56903756 -1,0.05873692,0.9412631 -1,0.22741061,0.7725894 -0,0.99537086,0.004629107 -0,0.611912,0.38808796 -0,0.9097369,0.09026312 -0,0.9715149,0.028485147 -0,0.99021494,0.009785064 -0,0.9977655,0.0022345367 -1,0.06869775,0.93130225 -0,0.9986603,0.0013396861 -1,0.09726882,0.9027312 -0,0.9755365,0.024463473 -1,0.049912572,0.9500874 -0,0.9984466,0.0015534334 -0,0.99939424,6.057613E-4 -0,0.7122127,0.2877873 -0,0.99070454,0.009295449 -1,0.14294755,0.85705245 -0,0.99678725,0.0032127425 -0,0.9976528,0.0023471643 -0,0.99981564,1.8434794E-4 -0,0.91786844,0.08213157 -0,0.9999808,1.9204992E-5 -1,0.2511502,0.7488498 -0,0.99973994,2.6005448E-4 -0,0.9992839,7.1607303E-4 -0,0.9999022,9.778401E-5 -0,0.7357021,0.2642979 -1,0.33262593,0.6673741 -0,0.9990523,9.4773096E-4 -0,0.9811817,0.018818315 -0,0.9921947,0.007805272 -0,0.99942154,5.78455E-4 -1,0.119701326,0.8802987 -0,0.69524634,0.30475363 -0,0.8482324,0.15176761 -0,0.9070492,0.09295079 -0,0.830212,0.16978799 -0,0.9940862,0.0059137708 -0,0.9930192,0.0069807745 -0,0.7386515,0.26134846 -0,0.9958204,0.0041796155 -0,0.9998755,1.245127E-4 -0,0.9526025,0.04739749 -0,0.99983144,1.685796E-4 -1,0.06306255,0.93693745 -0,0.9983547,0.0016453242 -1,0.44130123,0.5586988 -0,0.96333975,0.036660235 -0,0.99141467,0.008585343 -0,0.99991983,8.0177946E-5 -0,0.99185836,0.008141607 -1,0.051763237,0.94823676 -1,0.081457555,0.91854244 -1,0.2554981,0.7445019 -0,0.9965332,0.0034667708 -0,0.9518075,0.04819247 -0,0.99065,0.009350027 -0,0.98689556,0.013104449 -1,0.02081424,0.97918576 -0,0.7297385,0.27026156 -0,0.9803599,0.019640082 -0,0.9998218,1.7819126E-4 -0,0.9997027,2.9730695E-4 -0,0.999522,4.7803472E-4 -0,0.99979275,2.0721738E-4 -0,0.99998295,1.704356E-5 -0,0.6196343,0.38036576 -0,0.99991834,8.166077E-5 -0,0.99995303,4.6957088E-5 -0,0.99862105,0.0013789699 -0,0.9999864,1.3594125E-5 -0,0.62173307,0.37826696 -0,0.9999609,3.9116178E-5 -0,0.9900596,0.009940397 -0,0.99720895,0.0027910727 -0,0.9813945,0.018605452 -0,0.9969163,0.003083714 -0,0.99533635,0.004663626 -0,0.9857439,0.014256146 -0,0.8636891,0.13631088 -0,0.80070925,0.19929072 -0,0.9616318,0.038368236 -0,0.9999909,9.108958E-6 -0,0.859735,0.14026496 -0,0.76218987,0.23781016 -0,0.9978361,0.0021638884 -0,0.9560856,0.043914367 -0,0.9992539,7.460745E-4 -0,0.9968905,0.0031094856 -1,0.013438642,0.98656136 -1,0.07997757,0.9200224 -1,0.033592224,0.9664078 -0,0.93426394,0.065736085 -0,0.97354734,0.026452644 -1,0.07191557,0.92808443 -0,0.975293,0.024707029 -0,0.9999362,6.377231E-5 -0,0.987496,0.012504004 -0,0.8744941,0.12550592 -1,0.070988774,0.9290112 -0,0.9802655,0.0197345 -0,0.9989842,0.0010158094 -0,0.8290849,0.17091516 -0,0.99995905,4.0919236E-5 -0,0.8793742,0.120625794 -0,0.8403847,0.15961525 -0,0.99919903,8.0098835E-4 -0,0.90803796,0.091962054 -0,0.9967979,0.0032020754 -0,0.99984246,1.5752637E-4 -0,0.7249235,0.27507654 -1,0.23703277,0.7629672 -0,0.99996114,3.8861897E-5 -0,0.9996824,3.175966E-4 -0,0.9994345,5.655039E-4 -0,0.8915512,0.108448826 -1,0.08225721,0.9177428 -0,0.9762744,0.023725655 -0,0.8926734,0.1073266 -0,0.9998785,1.2149195E-4 -1,0.25353765,0.74646235 -1,0.11675435,0.88324565 -1,0.41929805,0.58070195 -0,0.9838443,0.016155738 -1,0.08219051,0.9178095 -0,0.999992,8.015418E-6 -0,0.9985873,0.0014127075 -1,0.10418677,0.8958132 -0,0.87294686,0.12705314 -0,0.979988,0.020012021 -0,0.95317,0.046829972 -0,0.9003573,0.09964272 -0,0.9110607,0.08893928 -1,0.16178942,0.8382106 -0,0.8579855,0.1420145 -0,0.99616605,0.003833971 -0,0.92180836,0.07819166 -1,0.23206407,0.76793593 -0,0.99141467,0.008585343 -1,0.0063557625,0.99364424 -1,0.09215212,0.9078479 -0,0.9993205,6.795073E-4 -0,0.60804325,0.39195675 -0,0.99997765,2.2350552E-5 -0,0.9999136,8.6409615E-5 -0,0.9670777,0.032922305 -0,0.9231971,0.0768029 -0,0.99532443,0.004675543 -0,0.81639117,0.18360883 -0,0.96927124,0.030728733 -0,0.9859579,0.014042102 -0,0.9973682,0.002631803 -0,0.9390455,0.060954522 -0,0.99987465,1.2537517E-4 -0,0.8743291,0.12567092 -0,0.9664985,0.03350151 -0,0.88711596,0.11288403 -1,0.2785682,0.7214318 -0,0.8512194,0.14878057 -0,0.9585122,0.04148779 -0,0.9488402,0.051159807 -0,0.92126626,0.078733765 -0,0.8624357,0.13756427 -1,0.09911835,0.90088165 -0,0.9983112,0.0016887825 -0,0.9959083,0.0040917075 -1,0.0062627792,0.9937372 -0,0.9998481,1.5184295E-4 -0,0.99991286,8.711344E-5 -0,0.95598733,0.04401264 -0,0.98413354,0.015866479 -0,0.99661636,0.0033836563 -0,0.9337503,0.0662497 -0,0.9890814,0.010918614 -0,0.92753565,0.072464325 -0,0.817996,0.182004 -0,0.9992939,7.0605596E-4 -0,0.7879199,0.21208009 -0,0.9964409,0.0035590914 -0,0.995477,0.004523003 -0,0.9905469,0.009453112 -1,0.0029380918,0.9970619 -1,0.1858105,0.8141895 -0,0.9994231,5.7689677E-4 -0,0.97988504,0.020114971 -0,0.9467493,0.053250667 -0,0.9999868,1.3185261E-5 -0,0.9999879,1.2078887E-5 -0,0.9946503,0.0053496812 -0,0.99834424,0.0016557666 -0,0.99968666,3.1336988E-4 -0,0.8685645,0.13143548 -1,0.25802565,0.74197435 -0,0.9701974,0.0298026 -0,0.9406838,0.059316207 -0,0.9661764,0.03382363 -0,0.99984133,1.5869507E-4 -1,0.4400878,0.5599122 -0,0.9705118,0.029488187 -0,0.9977329,0.0022671507 -0,0.99979633,2.0365967E-4 -1,0.10851616,0.89148384 -0,0.954083,0.04591698 -0,0.5544697,0.44553033 -0,0.9442885,0.055711504 -0,0.9992828,7.1723165E-4 -0,0.99667645,0.0033235254 -0,0.9990338,9.661691E-4 -0,0.9994069,5.931437E-4 -0,0.99793017,0.0020698565 -1,0.01583296,0.98416704 -0,0.97744036,0.022559617 -0,0.9992247,7.7529094E-4 -0,0.99915075,8.4927434E-4 -0,0.94680434,0.05319565 -0,0.9997717,2.2829762E-4 -1,0.019685745,0.98031425 -0,0.9529276,0.047072433 -1,0.08128536,0.91871464 -0,0.67594486,0.32405514 -0,0.9957026,0.004297386 -1,0.01430738,0.9856926 -0,0.99995995,4.0050323E-5 -1,0.43364465,0.56635535 -0,0.99923146,7.6855515E-4 -0,0.9979041,0.002095859 -0,0.9800175,0.019982543 -0,0.9889529,0.011047112 -0,0.9293213,0.0706787 -0,0.99899334,0.0010066441 -0,0.99980646,1.9354175E-4 -0,0.9927358,0.0072641773 -0,0.99323416,0.0067658215 -0,0.99875337,0.0012466457 -1,0.17011982,0.8298802 -0,0.9984963,0.0015036867 -0,0.9715533,0.028446691 -0,0.9994964,5.0361606E-4 -0,0.96753293,0.03246709 -1,0.4816066,0.5183934 -0,0.99744636,0.0025536485 -1,0.02749008,0.9725099 -0,0.97061265,0.02938734 -1,0.028297126,0.9717029 -0,0.9979137,0.002086274 -0,0.99997073,2.9279412E-5 -0,0.9124999,0.08750009 -0,0.90984255,0.09015747 -1,0.07803565,0.92196435 -0,0.8444982,0.15550178 -0,0.99515456,0.004845419 -1,0.12496865,0.87503135 -1,0.06130904,0.93869096 -0,0.9683494,0.031650625 -0,0.99654055,0.0034594398 -0,0.81242883,0.18757117 -0,0.8771582,0.12284177 -0,0.9991698,8.3017163E-4 -0,0.9752811,0.024718894 -0,0.9970601,0.0029398578 -0,0.9997737,2.2632947E-4 -0,0.99893385,0.0010661549 -0,0.96358466,0.03641533 -0,0.8840273,0.115972675 -0,0.9825839,0.017416108 -0,0.9792577,0.020742277 -0,0.99927986,7.2011503E-4 -0,0.96556973,0.03443028 -0,0.8668425,0.1331575 -0,0.9999875,1.2515581E-5 -0,0.9997454,2.5455412E-4 -0,0.99654245,0.0034575462 -1,0.091335416,0.9086646 -0,0.54792255,0.45207745 -1,0.15030628,0.8496937 -1,0.07862604,0.92137396 -0,0.8914394,0.108560614 -1,0.03436035,0.96563965 -0,0.9719241,0.0280759 -0,0.7633094,0.23669057 -0,0.9956471,0.0043529193 -0,0.9537494,0.046250604 -0,0.9849637,0.015036293 -0,0.9669056,0.03309442 -0,0.9965383,0.0034616957 -1,0.22583729,0.7741627 -0,0.99862814,0.0013718578 -0,0.98054487,0.019455142 -1,0.050720215,0.9492798 -0,0.9369583,0.06304172 -0,0.9985066,0.0014934181 -0,0.9956573,0.004342683 -0,0.97332203,0.026677946 -0,0.984945,0.015054991 -0,0.9612963,0.038703665 -0,0.79864675,0.20135324 -0,0.8153719,0.18462811 -1,0.08982164,0.91017836 -0,0.97397906,0.026020927 -1,0.29653418,0.7034658 -1,0.43248224,0.56751776 -0,0.9164157,0.08358429 -0,0.999954,4.5992285E-5 -1,0.42478275,0.57521725 -0,0.99797785,0.0020221698 -0,0.98775,0.012250007 -0,0.9150808,0.084919214 -1,0.08506054,0.91493946 -0,0.98925465,0.010745341 -0,0.987994,0.012005993 -0,0.994094,0.0059060054 -0,0.9840611,0.015938878 -0,0.99469656,0.005303444 -0,0.9937392,0.006260809 -1,0.25187927,0.7481207 -0,0.9998585,1.4147811E-4 -0,0.99637663,0.0036233652 -0,0.59979284,0.40020716 -0,0.9991864,8.136054E-4 -0,0.99418575,0.0058142543 -0,0.99989414,1.0586396E-4 -0,0.64277697,0.357223 -0,0.9999486,5.13677E-5 -0,0.97748303,0.022516944 -0,0.89205927,0.10794074 -0,0.8387831,0.1612169 -0,0.92665565,0.07334435 -0,0.9508902,0.04910983 -0,0.8762387,0.123761296 -0,0.8987438,0.10125617 -0,0.9608353,0.039164707 -0,0.9751567,0.024843294 -0,0.8036055,0.19639449 -0,0.9955268,0.0044731954 -0,0.99939466,6.053616E-4 -0,0.68762195,0.31237802 -0,0.9961971,0.0038028718 -1,0.2984072,0.7015928 -0,0.9856873,0.0143126715 -0,0.9996772,3.227979E-4 -1,0.13632804,0.86367196 -1,0.18488646,0.81511354 -1,0.41025728,0.5897427 -0,0.82838976,0.17161025 -0,0.9598571,0.04014291 -0,0.9992868,7.132466E-4 -1,0.2604738,0.7395262 -0,0.8945203,0.10547969 -0,0.99902,9.800311E-4 -0,0.5236706,0.4763294 -1,0.025281787,0.9747182 -0,0.9904522,0.009547826 -0,0.9999659,3.4115368E-5 -0,0.9977756,0.00222439 -0,0.9176256,0.082374394 -0,0.99159056,0.00840943 -1,0.17017466,0.82982534 -1,0.042401135,0.95759887 -0,0.9090953,0.090904735 -0,0.99228364,0.007716369 -0,0.9858485,0.0141515015 -1,0.062099338,0.93790066 -0,0.9603175,0.03968249 -0,0.9976464,0.0023536347 -0,0.9989133,0.0010867014 -0,0.99997014,2.9849674E-5 -1,0.08123392,0.9187661 -0,0.99732757,0.0026724073 -1,0.12381858,0.8761814 -0,0.9568209,0.04317907 -1,0.20681524,0.79318476 -0,0.9999075,9.253224E-5 -0,0.68213123,0.31786877 -1,0.24190646,0.75809354 -0,0.9770841,0.022915872 -0,0.99922955,7.704213E-4 -1,0.13479608,0.8652039 -0,0.8865159,0.11348407 -0,0.8355664,0.16443358 -0,0.9820845,0.017915457 -1,0.3963862,0.6036138 -0,0.99548495,0.004515049 -0,0.98700374,0.012996277 -0,0.99991477,8.520825E-5 -0,0.9911748,0.0088251745 -0,0.9098823,0.09011768 -1,0.10922122,0.8907788 -1,0.36335993,0.6366401 -0,0.99954164,4.583684E-4 -0,0.99945456,5.4543465E-4 -0,0.99854773,0.0014522811 -0,0.9554722,0.04452785 -0,0.9014218,0.09857819 -0,0.9974651,0.0025349292 -0,0.99790156,0.0020984425 -0,0.99959266,4.0734996E-4 -1,0.42274553,0.5772545 -1,0.08444387,0.91555613 -0,0.97737396,0.022626072 -0,0.9937086,0.0062913895 -0,0.94843173,0.05156824 -0,0.9995123,4.8768023E-4 -1,0.018698275,0.9813017 -0,0.9499584,0.050041616 -0,0.9954162,0.004583803 -0,0.9987184,0.0012815942 -0,0.98789465,0.012105368 -0,0.99591464,0.0040853876 -0,0.73287535,0.26712465 -1,0.14613229,0.8538677 -0,0.99868035,0.0013196492 -1,0.25920242,0.7407976 -0,0.6316471,0.3683529 -0,0.99996114,3.8861897E-5 -0,0.98908645,0.010913538 -0,0.97229296,0.027707063 -0,0.9717497,0.028250294 -1,0.24455684,0.75544316 -0,0.9999385,6.1515646E-5 -0,0.9988268,0.0011731777 -0,0.99918705,8.129428E-4 -0,0.9876285,0.012371456 -1,0.37077922,0.6292208 -0,0.75891805,0.24108194 -0,0.94921565,0.050784357 -0,0.99825454,0.0017454878 -0,0.99876195,0.0012380678 -1,0.076069415,0.9239306 -0,0.86535937,0.13464063 -0,0.9992949,7.050947E-4 -0,0.9825957,0.017404346 -0,0.87697625,0.123023756 -0,0.9941346,0.0058654193 -1,0.42936027,0.5706397 -1,0.07364279,0.9263572 -0,0.9948348,0.0051652216 -0,0.99874425,0.0012557715 -0,0.9740984,0.025901644 -0,0.9974625,0.0025375083 -1,0.10107291,0.8989271 -0,0.99794585,0.0020541716 -1,0.011437416,0.9885626 -0,0.9207269,0.079273075 -0,0.95803374,0.041966237 -0,0.93836904,0.061630942 -0,0.9998499,1.5005903E-4 -1,0.38965505,0.61034495 -1,0.107094705,0.8929053 -0,0.99810225,0.0018977426 -0,0.9928762,0.007123853 -1,0.40313423,0.5968658 -0,0.9963857,0.0036143267 -0,0.998378,0.0016220085 -0,0.9179061,0.0820939 -0,0.9886475,0.011352463 -0,0.9713964,0.02860364 -0,0.9999106,8.9415735E-5 -0,0.88304627,0.11695372 -0,0.9403339,0.05966611 -0,0.999976,2.4014254E-5 -0,0.84975255,0.15024747 -0,0.99694943,0.0030505587 -0,0.87651473,0.12348528 -0,0.999296,7.039899E-4 -0,0.9999029,9.709467E-5 -0,0.9990732,9.267786E-4 -0,0.999935,6.504194E-5 -0,0.99405736,0.0059426464 -0,0.98801726,0.01198274 -0,0.99964064,3.5938545E-4 -0,0.9954384,0.004561606 -0,0.9934132,0.00658681 -0,0.98884135,0.011158673 -0,0.7930606,0.2069394 -0,0.88250726,0.117492735 -0,0.99995184,4.816222E-5 -0,0.9501776,0.0498224 -0,0.98713195,0.012868066 -0,0.99936384,6.361554E-4 -0,0.98747,0.012530009 -1,0.03478402,0.965216 -1,0.08726406,0.91273594 -0,0.99882054,0.0011794576 -0,0.97701746,0.022982562 -0,0.9784642,0.021535812 -0,0.74058187,0.25941816 -0,0.7170764,0.28292358 -0,0.99997723,2.2741342E-5 -0,0.99997175,2.8235854E-5 -1,0.14828056,0.85171944 -0,0.9243652,0.07563476 -0,0.6300414,0.36995858 -0,0.9833406,0.016659353 -0,0.99025273,0.009747297 -1,0.048398614,0.9516014 -0,0.9916258,0.008374195 -0,0.9957286,0.0042713764 -1,0.16980559,0.8301944 -0,0.9951478,0.0048521697 -0,0.99979204,2.0798916E-4 -0,0.7220137,0.2779863 -0,0.94404745,0.055952553 -0,0.99935377,6.4623164E-4 -0,0.94181526,0.05818475 -0,0.985799,0.014201014 -0,0.9944182,0.005581783 -0,0.9995072,4.928408E-4 -0,0.96216047,0.037839547 -0,0.9976241,0.0023758712 -0,0.99031645,0.009683523 -1,0.017414927,0.9825851 -0,0.9744476,0.02555241 -0,0.99365467,0.006345307 -0,0.8872016,0.11279841 -0,0.9998038,1.9621896E-4 -0,0.9973853,0.0026146837 -0,0.76722586,0.23277414 -0,0.7958745,0.20412555 -0,0.99733543,0.0026645912 -0,0.910698,0.089302 -0,0.84898937,0.15101065 -0,0.9078403,0.092159666 -0,0.9983047,0.0016952899 -0,0.9737388,0.02626119 -0,0.9861453,0.013854694 -0,0.9184615,0.08153852 -0,0.99866897,0.0013310087 -0,0.9756807,0.024319315 -0,0.9142041,0.085795894 -1,0.09763092,0.9023691 -0,0.98014706,0.019852923 -0,0.90575963,0.09424038 -1,0.16732806,0.83267194 -0,0.84700364,0.15299636 -0,0.8659805,0.13401946 -0,0.9997689,2.3110794E-4 -0,0.96272117,0.037278857 -0,0.9999364,6.360038E-5 -0,0.9954057,0.004594313 -0,0.9754569,0.024543086 -1,0.22733039,0.7726696 -1,0.23199248,0.7680075 -0,0.8154046,0.18459539 -0,0.8770975,0.12290249 -1,0.007953644,0.99204636 -1,0.21871209,0.7812879 -0,0.97778887,0.022211127 -1,0.14828235,0.85171765 -0,0.7383441,0.26165596 -1,0.4536121,0.5463879 -0,0.5842768,0.41572317 -0,0.9998205,1.7953174E-4 -0,0.99977213,2.2785898E-4 -0,0.9398266,0.060173366 -0,0.9798324,0.020167606 -0,0.99994206,5.792968E-5 -1,0.17916715,0.82083285 -0,0.99904394,9.560361E-4 -0,0.9991954,8.045745E-4 -0,0.98344713,0.016552875 -0,0.992102,0.007897994 -0,0.9932314,0.0067686033 -0,0.99362737,0.0063726283 -0,0.9759566,0.024043407 -0,0.95971376,0.040286224 -0,0.83107644,0.16892357 -0,0.795455,0.20454504 -0,0.9444884,0.055511575 -0,0.9980489,0.0019510828 -0,0.99943334,5.666807E-4 -1,0.077028036,0.92297196 -0,0.9933787,0.00662128 -1,0.2152515,0.7847485 -0,0.9249221,0.075077884 -1,0.33898264,0.66101736 -1,0.2583925,0.7416075 -0,0.89009714,0.109902844 -0,0.9996997,3.0028666E-4 -0,0.9630023,0.036997646 -1,0.008030951,0.99196905 -0,0.99368125,0.0063187378 -0,0.99993616,6.382299E-5 -0,0.9895292,0.010470821 -0,0.99954486,4.5513775E-4 -0,0.5836729,0.4163271 -1,0.21643311,0.7835669 -0,0.9875003,0.012499672 -0,0.9995914,4.0860928E-4 -0,0.9990628,9.3723735E-4 -0,0.99769217,0.0023078565 -1,0.029695988,0.970304 -0,0.9999026,9.7397526E-5 -0,0.90272295,0.09727704 -0,0.86020696,0.13979304 -0,0.98169243,0.018307537 -1,0.1835149,0.8164851 -0,0.9964499,0.003550101 -0,0.9758061,0.024193855 -0,0.97991586,0.020084145 -0,0.93877953,0.06122045 -1,0.33852202,0.661478 -1,0.018452644,0.98154736 -0,0.9880813,0.011918723 -0,0.7147758,0.28522423 -0,0.8484861,0.15151387 -0,0.99803287,0.0019671605 -1,0.1439532,0.8560468 -1,0.24670225,0.75329775 -1,0.31421417,0.68578583 -0,0.96751446,0.03248557 -0,0.9998682,1.3176892E-4 -0,0.962186,0.037814025 -0,0.99986476,1.3523872E-4 -0,0.9731621,0.026837893 -1,0.25301242,0.7469876 -0,0.9997347,2.652981E-4 -0,0.96807367,0.031926308 -0,0.98608077,0.013919215 -0,0.99813586,0.0018641594 -1,0.11231053,0.8876895 -1,0.044980884,0.9550191 -0,0.99973994,2.6007212E-4 -1,0.011608303,0.9883917 -0,0.97880995,0.021190017 -0,0.9315597,0.068440326 -1,0.18843216,0.81156784 -0,0.99979097,2.0905882E-4 -1,0.034380138,0.96561986 -0,0.9999537,4.6329304E-5 -0,0.9667885,0.033211503 -0,0.9997919,2.0805244E-4 -0,0.89403296,0.10596705 -0,0.87128973,0.12871024 -0,0.9998233,1.7673401E-4 -0,0.79540414,0.20459586 -0,0.9638569,0.036143117 -0,0.90143913,0.09856088 -0,0.9932719,0.006728118 -0,0.994936,0.005064004 -0,0.9886288,0.011371171 -1,0.459709,0.540291 -0,0.9705529,0.0294471 -0,0.9398557,0.060144316 -1,0.019592345,0.98040766 -1,0.10170454,0.89829546 -0,0.94745755,0.052542455 -0,0.7958613,0.2041387 -0,0.9971979,0.0028020819 -0,0.99955714,4.428371E-4 -0,0.7565347,0.2434653 -1,0.18281734,0.81718266 -0,0.86366343,0.1363366 -0,0.9853609,0.014639066 -0,0.9674319,0.032568112 -1,0.09519249,0.9048075 -0,0.99987423,1.2574381E-4 -0,0.866555,0.133445 -1,0.032120228,0.9678798 -0,0.9998342,1.6582898E-4 -0,0.9843154,0.015684579 -0,0.9607681,0.0392319 -0,0.76919717,0.23080282 -1,0.202066,0.797934 -1,0.18292773,0.8170723 -0,0.9843748,0.015625164 -0,0.9963028,0.0036972435 -0,0.98464084,0.015359182 -1,0.11000174,0.88999826 -0,0.7825208,0.21747926 -0,0.59159875,0.40840128 -0,0.99937737,6.2263897E-4 -0,0.9838564,0.016143637 -1,0.117425084,0.8825749 -0,0.9998591,1.4092622E-4 -0,0.9995902,4.0979378E-4 -0,0.98251325,0.017486768 -0,0.7999084,0.2000916 -0,0.91298497,0.087015025 -0,0.9599488,0.04005123 -1,0.35219353,0.64780647 -1,0.2743587,0.7256413 -0,0.9976435,0.00235654 -0,0.7981032,0.20189679 -0,0.83329,0.16671002 -0,0.9999651,3.490868E-5 -0,0.8807172,0.119282775 -0,0.921037,0.07896298 -0,0.9986217,0.0013783225 -0,0.9993173,6.827351E-4 -0,0.9465371,0.0534629 -1,0.22260243,0.7773976 -0,0.9617821,0.03821791 -0,0.9121195,0.08788051 -0,0.83958113,0.16041885 -1,0.29523867,0.7047613 -0,0.96567494,0.034325086 -1,0.31955945,0.68044055 -0,0.78272855,0.21727145 -0,0.99316275,0.006837276 -1,0.36855656,0.63144344 -1,0.021596193,0.9784038 -0,0.98930943,0.01069055 -0,0.8998827,0.1001173 -0,0.8460636,0.15393636 -0,0.8434309,0.15656914 -0,0.9996733,3.2670912E-4 -0,0.67802626,0.32197374 -1,0.102452695,0.8975473 -0,0.7533424,0.24665758 -1,0.14702475,0.85297525 -1,0.2351712,0.7648288 -0,0.8812085,0.118791535 -0,0.990199,0.009800979 -0,0.97934276,0.020657234 -0,0.999774,2.2601656E-4 -0,0.9985091,0.0014909166 -0,0.99948245,5.1752693E-4 -0,0.64859366,0.35140634 -0,0.9969086,0.0030913872 -0,0.7640976,0.23590244 -1,0.14856285,0.85143715 -1,0.2801342,0.7198658 -0,0.96739197,0.032608062 -0,0.8404822,0.15951784 -0,0.823447,0.17655298 -0,0.72091734,0.27908266 -1,0.24851644,0.75148356 -0,0.93643194,0.06356806 -0,0.9868173,0.013182708 -1,0.24533635,0.75466365 -0,0.9985875,0.0014124849 -1,0.09153962,0.9084604 -0,0.99748886,0.0025111565 -1,0.2908073,0.7091927 -0,0.9997879,2.12062E-4 -1,0.019586265,0.98041373 -0,0.5848326,0.4151674 -0,0.9997094,2.906005E-4 -0,0.99965847,3.4152725E-4 -0,0.99961764,3.8238452E-4 -0,0.9127842,0.087215796 -0,0.6756857,0.3243143 -0,0.99822515,0.0017748465 -0,0.9271213,0.0728787 -1,0.39339817,0.60660183 -0,0.982676,0.017323945 -1,0.14886189,0.8511381 -1,0.18329722,0.8167028 -0,0.76519406,0.23480593 -0,0.99975926,2.4074638E-4 -0,0.99295074,0.0070492784 -1,0.41391826,0.58608174 -0,0.8180468,0.18195322 -0,0.9999434,5.6618424E-5 -0,0.95928603,0.040713947 -0,0.9570375,0.04296251 -0,0.9964925,0.003507471 -1,0.05266565,0.94733435 -0,0.99669033,0.003309689 -0,0.99042404,0.009575987 -0,0.9999602,3.9830436E-5 -0,0.99564844,0.004351533 -0,0.99989283,1.0719633E-4 -0,0.99597436,0.004025647 -0,0.94084424,0.059155744 -1,0.097405195,0.9025948 -0,0.99991137,8.861646E-5 -0,0.7143104,0.28568956 -0,0.9769033,0.02309668 -0,0.97985595,0.020144034 -0,0.6000141,0.3999859 -0,0.99748844,0.0025115495 -0,0.99972755,2.724537E-4 +0,0.9982847,0.0017152955 +0,0.9979409,0.002059074 +0,0.9938855,0.006114453 +1,0.18932539,0.8106746 +1,0.14090359,0.8590964 +0,0.99584603,0.0041539944 +1,0.038064897,0.9619351 +0,0.8957375,0.10426246 +0,0.9538721,0.04612791 +0,0.99986,1.3998643E-4 +0,0.994189,0.0058109746 +0,0.98608196,0.013918037 +0,0.99998206,1.7942646E-5 +0,0.999831,1.6900273E-4 +1,0.015329123,0.9846709 +0,0.9935341,0.0064658853 +0,0.9932235,0.0067765 +0,0.9834392,0.0165608 +0,0.88485855,0.11514144 +0,0.7309534,0.2690466 +0,0.99343044,0.0065695844 +0,0.969606,0.030394029 +0,0.99787474,0.0021252383 +0,0.98425883,0.01574118 +0,0.9990329,9.6709287E-4 +0,0.9969268,0.0030732288 +0,0.9944213,0.0055787005 +1,0.2053237,0.7946763 +1,0.04308945,0.95691055 +0,0.79119754,0.20880248 +0,0.98415035,0.015849622 +0,0.94123894,0.058761038 +0,0.99944526,5.5474875E-4 +0,0.99862814,0.0013718787 +0,0.9959344,0.004065594 +0,0.9995755,4.245119E-4 +0,0.883585,0.11641503 +1,0.25055164,0.74944836 +0,0.9144117,0.08558828 +0,0.98664016,0.013359861 +1,0.09746802,0.902532 +0,0.99634993,0.003650079 +0,0.79308224,0.2069178 +0,0.97601765,0.02398234 +0,0.99847454,0.0015254843 +1,0.27269322,0.7273068 +0,0.9900729,0.009927102 +1,0.3046823,0.6953177 +0,0.9922694,0.007730591 +1,0.16160166,0.83839834 +0,0.99881434,0.0011856327 +1,0.07458967,0.92541033 +1,0.024893165,0.97510684 +0,0.9999911,8.8605575E-6 +0,0.86776537,0.13223462 +1,0.1869222,0.8130778 +0,0.99957293,4.2707656E-4 +0,0.99839807,0.0016019173 +0,0.99195313,0.008046855 +0,0.88141644,0.11858359 +0,0.85172105,0.14827892 +0,0.8148627,0.1851373 +0,0.9945621,0.0054379287 +0,0.73377246,0.26622754 +0,0.975168,0.024831994 +0,0.9886827,0.011317339 +1,0.094099104,0.9059009 +0,0.99503446,0.0049655307 +0,0.99562204,0.0043779593 +0,0.9660496,0.033950392 +0,0.7875543,0.21244568 +1,0.19693553,0.80306447 +0,0.9980489,0.0019510718 +0,0.83922553,0.16077444 +1,0.07463086,0.92536914 +0,0.99996334,3.6681144E-5 +0,0.9999407,5.929477E-5 +1,0.050027788,0.9499722 +0,0.95322704,0.04677297 +0,0.9871996,0.012800415 +0,0.9991209,8.791118E-4 +0,0.98185104,0.018148985 +0,0.99993294,6.707395E-5 +1,0.06568104,0.93431896 +0,0.99912924,8.707606E-4 +0,0.9137726,0.08622742 +0,0.99998015,1.98682E-5 +1,0.41140842,0.5885916 +0,0.99515176,0.0048482134 +0,0.9767878,0.023212185 +0,0.7722143,0.22778572 +0,0.8816633,0.11833668 +0,0.99982065,1.7936763E-4 +1,0.11310685,0.88689315 +0,0.79030395,0.20969604 +0,0.76305795,0.23694207 +0,0.82363355,0.17636646 +0,0.69322944,0.3067706 +1,0.01140213,0.98859787 +0,0.9359471,0.064052865 +1,0.16635722,0.8336428 +0,0.8537509,0.14624912 +1,0.07723576,0.92276424 +1,0.37376124,0.62623876 +0,0.9162904,0.08370962 +0,0.78458405,0.21541597 +0,0.9996085,3.9149166E-4 +0,0.80684155,0.19315843 +0,0.9935614,0.0064386427 +1,0.333777,0.666223 +0,0.9769277,0.02307231 +0,0.99041384,0.00958615 +1,0.05161369,0.9483863 +0,0.9985295,0.0014704871 +0,0.9640264,0.035973597 +1,0.25750202,0.742498 +0,0.99543667,0.0045633405 +0,0.9999733,2.670187E-5 +1,0.2189976,0.7810024 +1,0.46563172,0.5343683 +0,0.9999111,8.887483E-5 +0,0.9999018,9.823776E-5 +1,0.09222865,0.90777135 +0,0.96962446,0.030375553 +1,0.1757555,0.8242445 +0,0.9987738,0.0012261607 +0,0.99989146,1.0855892E-4 +1,0.09416062,0.9058394 +0,0.9777786,0.022221383 +0,0.90933084,0.09066914 +0,0.997853,0.0021470268 +1,0.2268647,0.7731353 +1,0.012545347,0.98745465 +0,0.6835276,0.3164724 +0,0.7755016,0.22449842 +0,0.97498155,0.025018476 +0,0.99918336,8.166455E-4 +0,0.9999437,5.6298504E-5 +0,0.9928168,0.0071832044 +0,0.9967673,0.0032327152 +0,0.97059095,0.029409058 +0,0.99914724,8.527653E-4 +1,0.39337158,0.6066284 +0,0.9983825,0.0016174859 +0,0.90766764,0.09233239 +0,0.97848177,0.021518229 +0,0.73490494,0.26509506 +0,0.9330537,0.06694634 +0,0.99253124,0.0074687693 +0,0.6245018,0.37549815 +0,0.86296034,0.13703965 +1,0.08458239,0.9154176 +0,0.9942155,0.00578449 +0,0.96718675,0.032813262 +0,0.96380454,0.03619546 +1,0.25760496,0.74239504 +1,0.2709481,0.7290519 +1,0.3622167,0.6377833 +1,0.19409221,0.8059078 +0,0.9805981,0.019401936 +0,0.8335287,0.1664713 +0,0.53949904,0.46050096 +1,0.22973967,0.77026033 +1,0.16476905,0.83523095 +0,0.999962,3.805401E-5 +1,0.02396202,0.976038 +0,0.99900615,9.938722E-4 +0,0.9152236,0.08477643 +1,0.28725404,0.71274596 +0,0.99480045,0.0051995474 +0,0.99846196,0.0015380438 +0,0.9999827,1.7268998E-5 +0,0.99998677,1.324913E-5 +0,0.99338514,0.006614892 +0,0.99993056,6.945988E-5 +0,0.9423393,0.057660695 +0,0.9701822,0.029817797 +0,0.9508921,0.0491079 +1,0.32287335,0.67712665 +1,0.31299138,0.6870086 +0,0.9911986,0.008801407 +0,0.9925428,0.0074571874 +0,0.98541594,0.014584052 +1,0.34749722,0.6525028 +0,0.9150084,0.08499159 +0,0.99606323,0.0039367736 +0,0.9677124,0.032287586 +0,0.999964,3.5992587E-5 +1,0.052362204,0.9476378 +0,0.9172859,0.08271411 +0,0.99944794,5.52047E-4 +0,0.630213,0.369787 +0,0.994016,0.0059840074 +0,0.9997969,2.0308356E-4 +0,0.8967896,0.103210375 +0,0.99033207,0.009667961 +0,0.99088347,0.009116527 +1,0.26027298,0.739727 +0,0.99879056,0.0012094388 +0,0.99995804,4.1982104E-5 +1,0.2348221,0.7651779 +0,0.97040474,0.029595269 +1,0.11859703,0.88140297 +0,0.9998,1.999576E-4 +0,0.7918383,0.20816168 +0,0.9974888,0.0025111877 +1,0.046363175,0.9536368 +0,0.9934087,0.006591326 +0,0.9959162,0.00408382 +0,0.77531266,0.22468732 +0,0.9915686,0.008431359 +0,0.89604455,0.103955425 +0,0.9975059,0.002494069 +0,0.99707466,0.0029253617 +0,0.59650123,0.40349874 +0,0.9999097,9.028908E-5 +0,0.99939024,6.0977874E-4 +0,0.9987295,0.0012704815 +0,0.99971193,2.8807038E-4 +0,0.8961898,0.10381018 +1,0.10687566,0.89312434 +0,0.81300664,0.18699336 +0,0.989553,0.010447028 +0,0.993677,0.006323002 +1,0.4683516,0.5316484 +0,0.9999087,9.133804E-5 +0,0.7794364,0.22056358 +0,0.84099305,0.15900692 +0,0.89574087,0.1042591 +0,0.8532161,0.1467839 +1,0.41545272,0.5845473 +0,0.9891094,0.010890599 +0,0.99075466,0.009245326 +0,0.91004217,0.08995782 +0,0.99947673,5.23242E-4 +0,0.9003097,0.09969034 +1,0.10607314,0.89392686 +1,0.14294976,0.85705024 +0,0.965209,0.03479102 +0,0.997452,0.002548001 +1,0.14527577,0.8547242 +1,0.34627837,0.65372163 +0,0.9969673,0.0030327057 +0,0.93950737,0.060492616 +0,0.5368933,0.4631067 +1,0.07507974,0.92492026 +0,0.9578599,0.042140126 +0,0.9495598,0.05044018 +1,0.03149289,0.9685071 +0,0.9420373,0.057962697 +0,0.67992854,0.3200715 +0,0.9994961,5.038694E-4 +0,0.91117835,0.088821664 +0,0.999713,2.8701246E-4 +0,0.99783975,0.0021602623 +1,0.0068588853,0.9931411 +0,0.9844626,0.015537389 +0,0.98017204,0.01982796 +1,0.22087508,0.7791249 +1,0.13752842,0.8624716 +0,0.6509831,0.34901693 +0,0.9937695,0.006230483 +0,0.9696991,0.030300908 +0,0.998063,0.0019369924 +0,0.999947,5.301311E-5 +0,0.92071354,0.07928647 +0,0.97888154,0.021118458 +0,0.9541339,0.045866076 +0,0.9837354,0.0162646 +0,0.99998486,1.5120465E-5 +1,0.15152162,0.8484784 +0,0.55831563,0.4416844 +0,0.98895144,0.011048575 +1,0.46880347,0.53119653 +0,0.98961705,0.010382938 +0,0.8764833,0.123516686 +1,0.1299364,0.8700636 +0,0.5611304,0.43886957 +1,0.13966888,0.8603311 +1,0.08281922,0.9171808 +1,0.107997596,0.8920024 +0,0.57380444,0.42619556 +0,0.73402905,0.26597092 +0,0.67200243,0.3279976 +0,0.89030015,0.10969984 +0,0.999845,1.5498105E-4 +0,0.99956447,4.3555498E-4 +1,0.13826072,0.8617393 +0,0.9983547,0.0016453367 +0,0.9900233,0.009976706 +0,0.9958281,0.004171898 +0,0.99980694,1.9308813E-4 +0,0.67128056,0.32871944 +0,0.9160834,0.08391663 +0,0.9643639,0.035636116 +0,0.99990034,9.9656354E-5 +0,0.94167584,0.058324166 +0,0.98862356,0.011376415 +1,0.29191387,0.70808613 +0,0.99956584,4.3418573E-4 +0,0.99998295,1.7057415E-5 +0,0.9652271,0.034772854 +1,0.104643345,0.89535666 +0,0.99466234,0.005337681 +0,0.9994618,5.381623E-4 +1,0.026014924,0.9739851 +0,0.99923307,7.6692365E-4 +0,0.9973671,0.0026329109 +0,0.99721646,0.0027835325 +0,0.963361,0.03663895 +0,0.99941283,5.871861E-4 +0,0.9934817,0.006518305 +1,0.056857765,0.94314224 +0,0.9330366,0.0669634 +0,0.9989346,0.0010653797 +0,0.99725115,0.0027488505 +0,0.9986716,0.0013283797 +0,0.8417644,0.15823561 +0,0.99876225,0.0012377447 +0,0.88236195,0.117638044 +0,0.99646777,0.0035322525 +1,0.06032008,0.9396799 +0,0.9952073,0.004792692 +0,0.9939922,0.0060077887 +0,0.9867153,0.013284697 +1,0.036653996,0.963346 +0,0.9999222,7.7801335E-5 +0,0.9888129,0.0111871 +0,0.99005127,0.0099487165 +0,0.98808885,0.011911131 +0,0.93405324,0.06594675 +1,0.024404168,0.97559583 +0,0.7983991,0.20160094 +0,0.93889266,0.061107337 +0,0.95597214,0.04402788 +0,0.98852724,0.0114727495 +1,0.18941146,0.81058854 +0,0.97392255,0.026077477 +1,0.1681695,0.8318305 +0,0.9198052,0.080194786 +1,0.0041984916,0.9958015 +0,0.99938005,6.199574E-4 +0,0.9329996,0.06700039 +0,0.8889692,0.11103081 +0,0.99740446,0.0025955292 +0,0.9998442,1.5579343E-4 +0,0.9240897,0.07591026 +0,0.99926764,7.3235395E-4 +0,0.9954942,0.004505787 +0,0.9089748,0.091025196 +0,0.95441794,0.045582026 +0,0.94184244,0.058157552 +0,0.9974168,0.0025832017 +0,0.99615645,0.003843526 +0,0.8859288,0.114071175 +0,0.75512904,0.24487096 +0,0.89664173,0.1033583 +0,0.99111617,0.00888382 +0,0.99400026,0.005999724 +0,0.9997565,2.4350853E-4 +0,0.9474523,0.052547712 +1,0.24257547,0.75742453 +0,0.99971837,2.8160308E-4 +0,0.96258813,0.037411846 +0,0.9350398,0.06496017 +0,0.9994579,5.4207747E-4 +0,0.9679032,0.03209681 +0,0.92046744,0.079532586 +0,0.7573897,0.24261029 +1,0.25512052,0.7448795 +0,0.99845093,0.0015490582 +0,0.96970266,0.030297343 +1,0.16575664,0.83424336 +0,0.9992306,7.6936773E-4 +1,0.37875158,0.6212484 +0,0.9833266,0.016673403 +0,0.99844337,0.0015566495 +0,0.9958252,0.004174847 +0,0.99998814,1.1839796E-5 +0,0.9957318,0.004268202 +0,0.73400164,0.26599836 +0,0.9987714,0.0012285501 +0,0.9996086,3.9141293E-4 +1,0.35294425,0.64705575 +1,0.05623126,0.94376874 +1,0.14352459,0.8564754 +0,0.99400187,0.0059981635 +0,0.82809526,0.17190474 +1,0.4540804,0.5459196 +0,0.99007624,0.009923733 +0,0.99984133,1.586506E-4 +0,0.93489337,0.065106645 +0,0.99837506,0.0016249231 +1,0.24551916,0.75448084 +0,0.9995005,4.995065E-4 +1,0.06676406,0.93323594 +0,0.86510915,0.13489084 +0,0.9832817,0.01671833 +0,0.9946001,0.0053998786 +0,0.9968953,0.0031046737 +0,0.9869046,0.013095351 +1,0.024228156,0.97577184 +0,0.9285795,0.07142047 +0,0.99882096,0.0011790325 +0,0.99545693,0.0045430893 +0,0.8376071,0.16239291 +0,0.9994772,5.228165E-4 +0,0.93048537,0.06951465 +0,0.9519453,0.048054688 +0,0.92865175,0.071348235 +0,0.90912235,0.090877645 +0,0.6988466,0.3011534 +0,0.91562134,0.08437866 +0,0.7070756,0.29292437 +0,0.99995327,4.6735728E-5 +0,0.97595835,0.02404164 +0,0.9984895,0.0015105034 +0,0.9910137,0.008986282 +0,0.79419553,0.20580444 +0,0.98474056,0.015259444 +0,0.9962525,0.0037475063 +1,0.11093086,0.88906914 +1,0.04336053,0.95663947 +1,0.17997456,0.82002544 +1,0.24927074,0.75072926 +0,0.99817365,0.0018263262 +0,0.8590112,0.14098881 +1,0.22827256,0.77172744 +0,0.8433438,0.15665619 +0,0.9910471,0.008952945 +0,0.9816495,0.01835049 +0,0.7680266,0.23197342 +0,0.949574,0.050425977 +1,0.41733462,0.5826654 +1,0.061206818,0.9387932 +0,0.88296866,0.11703133 +0,0.9391334,0.0608666 +0,0.9998695,1.3047038E-4 +0,0.8427815,0.1572185 +0,0.7726941,0.2273059 +0,0.99572575,0.004274278 +0,0.99991846,8.1532846E-5 +0,0.71670437,0.28329566 +1,0.091362774,0.9086372 +1,0.04555106,0.95444894 +0,0.99997157,2.8459313E-5 +1,0.10836822,0.8916318 +1,0.013008118,0.9869919 +0,0.9966766,0.003323396 +0,0.9992658,7.34224E-4 +0,0.9936332,0.006366783 +0,0.9884934,0.011506646 +0,0.87513304,0.124866985 +0,0.9953661,0.0046338774 +0,0.9560428,0.04395719 +0,0.9866991,0.013300901 +0,0.9009141,0.09908593 +1,0.04739231,0.9526077 +1,0.18198854,0.81801146 +0,0.9999349,6.511597E-5 +1,0.31416214,0.68583786 +0,0.883543,0.11645699 +1,0.1614356,0.8385644 +1,0.062538266,0.93746173 +0,0.9920969,0.007903103 +1,0.3458467,0.6541533 +0,0.9996565,3.4347762E-4 +0,0.9899085,0.010091472 +0,0.931222,0.068777956 +1,0.03642118,0.9635788 +0,0.9837664,0.016233608 +0,0.9431282,0.056871764 +0,0.95802796,0.041972015 +0,0.99989915,1.00865574E-4 +0,0.85444695,0.14555307 +1,0.091307044,0.90869296 +1,0.40341055,0.59658945 +1,0.045194685,0.9548053 +1,0.26006222,0.7399378 +0,0.99990684,9.316175E-5 +0,0.9756675,0.024332505 +0,0.9999312,6.877586E-5 +0,0.9673378,0.032662224 +0,0.7732413,0.22675875 +1,0.012529671,0.9874703 +0,0.54368323,0.45631677 +0,0.99514395,0.004856037 +0,0.97923297,0.020767046 +0,0.9775551,0.022444887 +0,0.99220586,0.0077941534 +0,0.87510496,0.124895036 +0,0.9710099,0.028990071 +0,0.99935323,6.4674177E-4 +1,0.022907138,0.97709286 +0,0.5380794,0.46192062 +1,0.24863386,0.75136614 +1,0.46508342,0.5349166 +0,0.9996628,3.3716377E-4 +0,0.99950635,4.9366214E-4 +0,0.9577475,0.04225247 +0,0.81356233,0.18643765 +0,0.99928653,7.1349065E-4 +0,0.9985996,0.0014004009 +0,0.9891639,0.010836139 +0,0.9993444,6.556195E-4 +1,0.1916942,0.8083058 +0,0.9998938,1.06199856E-4 +0,0.9969024,0.003097623 +0,0.99938655,6.134599E-4 +1,0.072464705,0.9275353 +1,0.11487347,0.88512653 +0,0.99743015,0.0025698605 +0,0.99912554,8.744447E-4 +1,0.060617805,0.9393822 +0,0.9998573,1.4266823E-4 +0,0.994053,0.005946986 +0,0.99796563,0.002034392 +0,0.9949627,0.0050373226 +0,0.91701585,0.08298417 +1,0.03278941,0.9672106 +1,0.114032924,0.8859671 +0,0.9322052,0.067794785 +0,0.99490815,0.0050918553 +0,0.9146358,0.0853642 +0,0.9998104,1.8958993E-4 +0,0.8051713,0.19482869 +1,0.41602963,0.58397037 +0,0.9979077,0.0020923247 +0,0.9850289,0.014971095 +0,0.92502654,0.07497347 +0,0.99362665,0.0063733472 +0,0.8813831,0.11861686 +1,0.058190286,0.9418097 +0,0.99995375,4.6235822E-5 +0,0.99960065,3.993273E-4 +0,0.984733,0.01526699 +1,0.4176376,0.5823624 +1,0.29770374,0.70229626 +0,0.9836444,0.01635558 +0,0.9957849,0.0042150933 +0,0.9694887,0.030511318 +0,0.9843006,0.01569936 +1,0.2819838,0.7180162 +0,0.7594694,0.24053064 +1,0.05014062,0.9498594 +0,0.99767435,0.0023256706 +0,0.99958986,4.101633E-4 +1,0.16280329,0.8371967 +0,0.9653007,0.03469935 +1,0.100331485,0.8996685 +0,0.7643554,0.2356446 +0,0.99442893,0.005571055 +0,0.9064585,0.09354152 +0,0.9992235,7.76559E-4 +0,0.900496,0.099504024 +0,0.89643335,0.10356667 +0,0.6420643,0.35793573 +0,0.8216351,0.17836487 +0,0.899114,0.10088597 +0,0.9698824,0.030117584 +0,0.98064846,0.019351559 +0,0.88678473,0.11321529 +1,0.029142022,0.970858 +1,0.014700294,0.9852997 +1,0.27202922,0.7279708 +0,0.8520451,0.14795487 +1,0.29507416,0.70492584 +0,0.99373776,0.0062622596 +0,0.94029665,0.05970336 +0,0.9303985,0.069601454 +0,0.9719874,0.02801259 +1,0.15635717,0.84364283 +0,0.99991006,8.997297E-5 +0,0.99666524,0.003334738 +0,0.9941008,0.005899161 +1,0.056044996,0.943955 +0,0.9994403,5.59688E-4 +0,0.9944817,0.005518331 +0,0.99750805,0.002491957 +0,0.87965506,0.120344944 +0,0.9999462,5.3810276E-5 +0,0.99970645,2.9355497E-4 +0,0.9967668,0.0032332113 +0,0.9297135,0.070286505 +0,0.9912584,0.008741599 +0,0.99248713,0.0075128567 +0,0.91243446,0.08756557 +0,0.97551626,0.024483725 +0,0.99019384,0.009806159 +0,0.9921931,0.0078068865 +0,0.9997342,2.6576998E-4 +1,0.00634104,0.99365896 +0,0.8173859,0.18261407 +0,0.8872111,0.112788916 +0,0.9998622,1.3780817E-4 +0,0.92406166,0.07593837 +1,0.17717195,0.82282805 +1,0.1385516,0.8614484 +0,0.8732747,0.12672533 +1,0.038419068,0.96158093 +0,0.9987472,0.0012527723 +0,0.9878193,0.0121806655 +0,0.99783766,0.002162359 +0,0.79288316,0.20711684 +0,0.9892086,0.010791441 +0,0.9475679,0.052432135 +0,0.9991964,8.0358953E-4 +0,0.9301896,0.069810405 +0,0.9237031,0.07629695 +0,0.9695262,0.03047383 +0,0.9884083,0.0115917 +1,0.18848467,0.81151533 +1,0.14283156,0.85716844 +0,0.9972791,0.0027208882 +0,0.9740509,0.025949111 +0,0.96106523,0.03893479 +0,0.9947132,0.0052868077 +0,0.9871715,0.012828544 +1,0.22176349,0.7782365 +0,0.9982437,0.0017563023 +0,0.956973,0.043026973 +0,0.98788506,0.012114952 +0,0.96386886,0.036131132 +0,0.94456565,0.055434316 +1,0.09051645,0.90948355 +0,0.99738735,0.0026126762 +0,0.99915564,8.4436923E-4 +0,0.9999826,1.7380007E-5 +0,0.9975948,0.0024052272 +0,0.9036123,0.09638768 +0,0.9901948,0.009805191 +0,0.99992007,7.9944024E-5 +0,0.8884779,0.11152205 +0,0.60992545,0.39007455 +0,0.9596215,0.0403785 +1,0.105914176,0.8940858 +0,0.8991325,0.10086749 +0,0.8353267,0.1646733 +0,0.99820334,0.0017966613 +0,0.95272034,0.047279645 +0,0.7689721,0.23102789 +1,0.07502484,0.92497516 +0,0.9999768,2.3161885E-5 +0,0.9968942,0.0031058164 +0,0.9553803,0.04461967 +0,0.93971527,0.06028476 +0,0.9961646,0.0038353973 +0,0.9976666,0.0023334248 +0,0.6839696,0.31603035 +1,0.05495745,0.94504255 +0,0.9951625,0.0048375227 +0,0.9999167,8.330469E-5 +1,0.14585441,0.8541456 +1,0.08897191,0.9110281 +0,0.99943334,5.666702E-4 +0,0.9884137,0.011586304 +1,0.0062890053,0.993711 +1,0.08801019,0.9119898 +0,0.93685544,0.063144535 +0,0.96872765,0.031272378 +0,0.8958583,0.10414173 +0,0.9867283,0.013271677 +0,0.99910766,8.923328E-4 +0,0.9723871,0.027612949 +0,0.97071445,0.029285563 +0,0.99958605,4.1395368E-4 +1,0.18736476,0.81263524 +0,0.9705989,0.02940114 +1,0.15750527,0.8424947 +0,0.968197,0.03180301 +0,0.99825865,0.0017413219 +0,0.8457896,0.1542104 +0,0.8853815,0.114618465 +0,0.9978134,0.0021866 +0,0.99969023,3.097715E-4 +0,0.9999575,4.2515858E-5 +0,0.93676615,0.06323387 +1,0.052999377,0.9470006 +0,0.98029166,0.019708332 +0,0.99860626,0.0013937273 +0,0.9995088,4.911895E-4 +1,0.2894864,0.7105136 +0,0.9998045,1.9549268E-4 +0,0.9041119,0.09588808 +0,0.87778056,0.12221944 +1,0.13273525,0.86726475 +0,0.97916466,0.020835334 +0,0.999987,1.29901455E-5 +1,0.1992014,0.8007986 +1,0.44736528,0.5526347 +1,0.27296573,0.7270343 +0,0.9769067,0.023093281 +0,0.9659531,0.034046892 +0,0.9996444,3.556101E-4 +0,0.99988806,1.1194626E-4 +1,0.17471462,0.8252854 +0,0.98996055,0.010039455 +0,0.9939289,0.006071068 +0,0.99624014,0.003759864 +0,0.8183741,0.18162589 +1,0.051882625,0.9481174 +0,0.68312716,0.3168728 +0,0.9305338,0.06946619 +0,0.9142512,0.08574876 +0,0.58790874,0.41209123 +0,0.9856928,0.014307222 +1,0.31934446,0.68065554 +0,0.94795936,0.052040614 +1,0.021455169,0.97854483 +1,0.14450818,0.8554918 +0,0.6135261,0.38647392 +0,0.73794764,0.26205236 +0,0.9983984,0.0016016031 +0,0.94124234,0.058757633 +1,0.023387194,0.9766128 +1,0.014067471,0.9859325 +0,0.9997235,2.7648878E-4 +0,0.99829656,0.00170347 +0,0.99497664,0.0050233775 +0,0.9739669,0.02603308 +0,0.9312638,0.06873619 +0,0.9885981,0.011401913 +0,0.9986176,0.0013823964 +0,0.994958,0.0050420184 +0,0.99615437,0.003845661 +0,0.74495995,0.25504002 +0,0.90381265,0.096187346 +0,0.9999795,2.0521658E-5 +1,0.2097454,0.7902546 +0,0.9359937,0.0640063 +0,0.96093965,0.039060373 +0,0.901603,0.098397 +0,0.9986612,0.0013387913 +0,0.94009846,0.059901513 +0,0.9996462,3.538226E-4 +0,0.53754276,0.46245724 +0,0.66913223,0.33086774 +1,0.15851277,0.8414872 +0,0.86596066,0.13403933 +1,0.046468318,0.9535317 +0,0.9652208,0.034779217 +0,0.9996809,3.1915307E-4 +1,0.04306662,0.9569334 +1,0.063346565,0.93665344 +0,0.9997971,2.0290143E-4 +0,0.98675805,0.013241949 +0,0.99598897,0.004011059 +0,0.9548352,0.045164824 +0,0.99497026,0.0050297333 +0,0.61403847,0.38596156 +0,0.9992952,7.04828E-4 +0,0.9994061,5.9390825E-4 +0,0.9999828,1.7239001E-5 +0,0.9999882,1.182621E-5 +0,0.6379343,0.36206567 +0,0.85525835,0.14474168 +1,0.20338768,0.7966123 +0,0.69346225,0.30653778 +0,0.99995285,4.7135472E-5 +0,0.85534644,0.14465353 +0,0.9552501,0.04474989 +1,0.077228665,0.92277133 +0,0.8277925,0.17220749 +0,0.99849254,0.0015074859 +0,0.99880564,0.0011943716 +0,0.9999632,3.6767437E-5 +1,0.10847521,0.8915248 +1,0.10821968,0.8917803 +1,0.10227394,0.89772606 +0,0.9995882,4.117939E-4 +1,0.08615738,0.9138426 +0,0.93942684,0.060573146 +0,0.86342514,0.13657486 +0,0.9441023,0.055897683 +0,0.9824075,0.0175925 +0,0.8439109,0.15608911 +0,0.55822074,0.44177926 +0,0.9997067,2.9330514E-4 +0,0.99704766,0.0029523475 +0,0.5835444,0.41645563 +0,0.9992728,7.2717323E-4 +0,0.99993205,6.797348E-5 +0,0.9984407,0.0015593242 +0,0.9999097,9.0276175E-5 +1,0.19337577,0.80662423 +0,0.9498407,0.050159264 +0,0.6398319,0.3601681 +1,0.029438794,0.9705612 +0,0.9999635,3.6505822E-5 +0,0.9998578,1.4221418E-4 +0,0.94642717,0.05357286 +1,0.22534478,0.7746552 +1,0.112442374,0.8875576 +0,0.9996673,3.3270384E-4 +0,0.99902725,9.727733E-4 +0,0.9999922,7.7802215E-6 +0,0.9456983,0.054301653 +0,0.96537495,0.03462508 +0,0.9999675,3.2469048E-5 +1,0.09167832,0.9083217 +0,0.98953617,0.010463856 +0,0.9995254,4.7456243E-4 +1,0.081558764,0.91844124 +0,0.9998816,1.18373784E-4 +1,0.3918028,0.6081972 +0,0.8628663,0.13713372 +0,0.9960249,0.003975097 +0,0.99530756,0.004692431 +1,0.09152472,0.9084753 +0,0.8640223,0.13597767 +0,0.9743752,0.025624799 +0,0.98472273,0.015277274 +1,0.15418917,0.84581083 +1,0.23467696,0.76532304 +1,0.06889975,0.93110025 +1,0.33481956,0.66518044 +1,0.19016242,0.8098376 +0,0.9811632,0.018836787 +0,0.98691666,0.013083327 +0,0.99996465,3.534725E-5 +1,0.15967882,0.8403212 +0,0.9752874,0.024712596 +0,0.934719,0.06528099 +0,0.9867182,0.013281847 +0,0.99996376,3.625478E-5 +1,0.25037885,0.74962115 +1,0.22944647,0.7705535 +0,0.9864081,0.013591877 +0,0.96916896,0.030831018 +0,0.9997893,2.1070358E-4 +0,0.9948736,0.0051263887 +0,0.99964195,3.5806507E-4 +0,0.9998951,1.0487637E-4 +1,0.07765806,0.92234194 +0,0.8015226,0.19847737 +0,0.73828477,0.26171523 +0,0.99997777,2.2233819E-5 +0,0.9875697,0.012430316 +0,0.87028694,0.12971304 +0,0.9975986,0.0024014304 +0,0.99997157,2.8459313E-5 +1,0.123333275,0.8766667 +0,0.9998874,1.12614245E-4 +0,0.99528426,0.0047157253 +0,0.99991834,8.165774E-5 +0,0.99995404,4.592667E-5 +1,0.010017335,0.98998266 +0,0.9496782,0.05032181 +1,0.2702164,0.7297836 +1,0.080919385,0.9190806 +0,0.5497776,0.45022237 +0,0.9304314,0.06956859 +1,0.051560163,0.94843984 +0,0.99965173,3.482666E-4 +0,0.9636085,0.03639151 +0,0.9369969,0.063003115 +1,0.18687975,0.81312025 +1,0.35620272,0.6437973 +0,0.99105084,0.008949134 +0,0.56274945,0.43725055 +1,0.08344215,0.91655785 +0,0.9492769,0.050723065 +1,0.089292705,0.9107073 +1,0.06951445,0.93048555 +0,0.96518415,0.03481586 +1,0.22909176,0.77090824 +1,0.05584854,0.94415146 +0,0.99998647,1.3522545E-5 +0,0.97944856,0.02055143 +0,0.5010911,0.49890888 +0,0.9979675,0.002032533 +0,0.99749213,0.0025078407 +0,0.9871659,0.012834064 +0,0.960582,0.039418004 +0,0.9937565,0.0062435344 +0,0.9413928,0.058607195 +0,0.9922796,0.007720397 +0,0.9452725,0.0547275 +0,0.8647087,0.13529126 +0,0.99887484,0.0011251454 +0,0.9948297,0.005170289 +0,0.97851074,0.021489277 +0,0.99479043,0.0052095386 +0,0.8498744,0.15012561 +1,0.40717506,0.59282494 +0,0.99288267,0.00711731 +0,0.9495239,0.05047606 +0,0.93176216,0.068237856 +0,0.97092116,0.029078865 +0,0.9711976,0.02880238 +1,0.03400743,0.96599257 +1,0.012994289,0.9870057 +0,0.99951786,4.8216814E-4 +1,0.08351475,0.91648525 +0,0.9981124,0.0018876044 +1,0.3332197,0.6667803 +1,0.031728923,0.9682711 +1,0.4987983,0.5012017 +0,0.9959601,0.0040399134 +0,0.95062655,0.049373474 +0,0.9970368,0.002963157 +0,0.99979085,2.0916769E-4 +0,0.6049556,0.3950444 +0,0.99998724,1.277743E-5 +0,0.9812126,0.018787375 +0,0.8762816,0.123718366 +1,0.101512134,0.89848787 +1,0.2302978,0.7697022 +0,0.9290659,0.07093414 +0,0.99994045,5.9517402E-5 +0,0.9999397,6.029329E-5 +0,0.999911,8.896963E-5 +0,0.99833846,0.0016615133 +0,0.9559951,0.044004917 +0,0.9912725,0.00872752 +1,0.10640621,0.8935938 +1,0.3982044,0.6017956 +1,0.015548468,0.98445153 +0,0.99975264,2.4736562E-4 +0,0.9939515,0.006048525 +1,0.4527442,0.5472558 +0,0.9999748,2.5185735E-5 +0,0.9731879,0.026812093 +0,0.9666126,0.03338743 +0,0.9982529,0.0017470588 +1,0.0626294,0.9373706 +1,0.04274863,0.95725137 +0,0.62849027,0.37150973 +0,0.9961343,0.0038657205 +1,0.048603892,0.9513961 +1,0.16490048,0.8350995 +0,0.9996278,3.7218945E-4 +0,0.9973244,0.002675616 +1,0.3352508,0.6647492 +1,0.22920382,0.7707962 +0,0.95324075,0.046759263 +0,0.99995834,4.1670548E-5 +0,0.6591539,0.34084612 +0,0.94388765,0.056112338 +0,0.99998546,1.4548695E-5 +0,0.6099738,0.39002618 +0,0.8472681,0.15273188 +0,0.99999124,8.785854E-6 +0,0.969326,0.03067395 +0,0.9218743,0.0781257 +0,0.8110796,0.18892038 +0,0.9999529,4.7066118E-5 +0,0.95817196,0.041828047 +0,0.9360626,0.06393743 +0,0.9891006,0.010899417 +1,0.060807705,0.9391923 +0,0.99998724,1.277743E-5 +0,0.9969152,0.0030848037 +1,0.39365858,0.6063414 +1,0.2337377,0.7662623 +1,0.009327114,0.9906729 +0,0.94160175,0.058398258 +0,0.99794734,0.0020526776 +1,0.033878505,0.9661215 +0,0.99907327,9.267269E-4 +0,0.88201237,0.11798764 +0,0.93333524,0.06666475 +1,0.10237706,0.89762294 +0,0.996529,0.003471017 +1,0.17779678,0.8222032 +0,0.7197045,0.28029552 +0,0.5093632,0.49063683 +1,0.08256292,0.9174371 +0,0.9997651,2.3492026E-4 +0,0.9614509,0.038549144 +0,0.9561292,0.0438708 +1,0.40948635,0.59051365 +0,0.9909715,0.009028479 +0,0.81233,0.18766999 +0,0.9996539,3.4614024E-4 +0,0.8936367,0.1063633 +0,0.7673331,0.23266692 +0,0.99794585,0.0020541688 +0,0.8598242,0.14017585 +0,0.9992446,7.554016E-4 +0,0.9890553,0.010944696 +1,0.39887226,0.60112774 +0,0.9676446,0.03235544 +0,0.8183886,0.18161139 +0,0.9917276,0.0082724 +0,0.9910282,0.008971783 +0,0.9727044,0.02729558 +1,0.22131604,0.77868396 +0,0.99340963,0.0065903743 +1,0.21904165,0.78095835 +0,0.9950674,0.004932557 +0,0.999659,3.4097908E-4 +0,0.87041074,0.12958926 +1,0.0067418814,0.9932581 +0,0.99978244,2.1753757E-4 +0,0.99717295,0.0028270695 +0,0.874635,0.12536502 +0,0.98627657,0.013723443 +1,0.027535379,0.9724646 +0,0.80022824,0.19977175 +0,0.99450237,0.005497655 +0,0.9938451,0.0061549023 +0,0.9998678,1.3218762E-4 +0,0.99329567,0.006704346 +0,0.99618554,0.0038144796 +1,0.40095288,0.5990471 +1,0.121085465,0.87891454 +0,0.51905537,0.4809446 +0,0.999439,5.609877E-4 +0,0.99875057,0.0012494321 +1,0.30052394,0.69947606 +0,0.99315184,0.0068481383 +1,0.18691266,0.81308734 +1,0.14966989,0.8503301 +0,0.9992399,7.600837E-4 +1,0.08733451,0.9126655 +0,0.9986605,0.0013395088 +0,0.9637788,0.036221206 +1,0.07734251,0.9226575 +0,0.89952594,0.10047407 +0,0.99795943,0.0020405594 +1,0.26837838,0.7316216 +0,0.76098484,0.23901516 +0,0.99895173,0.001048265 +1,0.17604768,0.8239523 +0,0.9996825,3.1752724E-4 +0,0.99708563,0.002914375 +0,0.94740915,0.052590817 +0,0.8275663,0.17243366 +1,0.12939912,0.8706009 +0,0.9877316,0.0122684315 +0,0.998937,0.0010629917 +0,0.998469,0.001531001 +0,0.98795605,0.012043948 +0,0.7934394,0.20656064 +0,0.9711405,0.028859513 +1,0.028340757,0.97165924 +0,0.9763204,0.023679586 +0,0.76770693,0.23229307 +1,0.2629826,0.7370174 +0,0.9988705,0.0011294859 +0,0.9965777,0.0034223348 +1,0.14914036,0.85085964 +0,0.96561986,0.03438014 +0,0.64931923,0.35068077 +0,0.9993337,6.6629733E-4 +0,0.99563956,0.0043604523 +0,0.90210235,0.09789767 +0,0.97129405,0.028705947 +0,0.99767435,0.0023256252 +0,0.9993917,6.0830376E-4 +0,0.9997906,2.0936622E-4 +0,0.99109274,0.008907258 +0,0.9999593,4.0727267E-5 +0,0.9981508,0.0018492003 +0,0.99270946,0.0072905687 +1,0.16715336,0.83284664 +0,0.9992605,7.394905E-4 +0,0.7627493,0.23725066 +0,0.9308751,0.06912488 +1,0.2448886,0.7551114 +1,0.0954445,0.9045555 +0,0.9999685,3.1497613E-5 +1,0.10389513,0.8961049 +0,0.9996966,3.033937E-4 +0,0.52804,0.47196 +0,0.92138845,0.07861155 +0,0.99549264,0.0045073424 +1,0.37909114,0.62090886 +0,0.9818966,0.018103437 +0,0.99997956,2.0473473E-5 +0,0.63687646,0.36312354 +0,0.98471767,0.015282333 +0,0.9998377,1.6228424E-4 +0,0.9983654,0.0016345909 +0,0.9311328,0.06886718 +1,0.18855679,0.8114432 +1,0.0034361482,0.99656385 +0,0.9965977,0.0034022646 +1,0.14153963,0.85846037 +0,0.99986726,1.3272313E-4 +0,0.9999197,8.028866E-5 +0,0.9999575,4.2515858E-5 +0,0.90407807,0.09592192 +0,0.99995977,4.0221832E-5 +1,0.05201614,0.94798386 +0,0.9925483,0.0074517224 +0,0.86630887,0.13369112 +0,0.93943745,0.060562544 +0,0.99284214,0.0071578906 +1,0.1368007,0.8631993 +0,0.99905676,9.432548E-4 +0,0.63325727,0.36674273 +0,0.9929401,0.007059886 +0,0.9944756,0.0055244183 +0,0.99989116,1.0885134E-4 +0,0.826545,0.17345501 +0,0.99993473,6.527053E-5 +1,0.15665054,0.84334946 +0,0.86776537,0.13223462 +1,0.079832375,0.9201676 +0,0.5167505,0.4832495 +0,0.9964756,0.0035244129 +0,0.9994795,5.205431E-4 +1,0.22488254,0.77511746 +0,0.9999778,2.2189884E-5 +0,0.8603606,0.13963939 +0,0.9858312,0.01416879 +0,0.9999826,1.7404887E-5 +0,0.9513463,0.048653692 +0,0.9743533,0.025646668 +0,0.98682576,0.013174255 +0,0.9823443,0.017655658 +1,0.07760608,0.9223939 +0,0.9998653,1.3468997E-4 +0,0.99531144,0.0046885465 +0,0.9333392,0.0666608 +0,0.9949182,0.0050817607 +0,0.9910123,0.008987697 +0,0.99961793,3.8204307E-4 +0,0.99973714,2.628581E-4 +0,0.88167167,0.11832832 +0,0.9958922,0.00410775 +1,0.36026388,0.6397361 +1,0.40466994,0.59533006 +1,0.122595906,0.8774041 +1,0.37615317,0.6238468 +0,0.9464769,0.053523123 +0,0.5880257,0.4119743 +0,0.94759,0.05241 +0,0.9364838,0.06351619 +0,0.99214935,0.007850628 +0,0.9890316,0.010968403 +1,0.092826426,0.9071736 +0,0.9996364,3.6360323E-4 +1,0.08079833,0.9192017 +0,0.9668817,0.03311832 +1,0.064029634,0.93597037 +0,0.99702173,0.0029782378 +0,0.998558,0.001442006 +0,0.7397282,0.26027176 +0,0.982881,0.017118983 +1,0.17182177,0.8281782 +0,0.9921563,0.007843686 +0,0.9929843,0.007015714 +0,0.9996694,3.3063497E-4 +0,0.849315,0.15068503 +0,0.9999771,2.2865734E-5 +1,0.36102462,0.6389754 +0,0.9995579,4.4206085E-4 +0,0.9990521,9.4791886E-4 +0,0.9999114,8.857481E-5 +0,0.7294721,0.2705279 +1,0.19581765,0.80418235 +0,0.99932593,6.740652E-4 +0,0.97897,0.021030016 +0,0.9916277,0.00837233 +0,0.99966276,3.3725923E-4 +1,0.23160064,0.76839936 +0,0.7032622,0.29673776 +0,0.84027755,0.15972242 +0,0.9901111,0.009888904 +0,0.8421517,0.15784831 +0,0.9980916,0.0019084485 +0,0.99453455,0.0054654684 +0,0.64906454,0.35093543 +0,0.9980479,0.0019521074 +0,0.9997468,2.531752E-4 +0,0.9600129,0.039987065 +0,0.99938184,6.1818823E-4 +1,0.07707554,0.92292446 +0,0.9987391,0.0012608988 +1,0.27103466,0.72896534 +0,0.96755725,0.032442722 +0,0.98789704,0.012102974 +0,0.9999598,4.019499E-5 +0,0.99253786,0.007462133 +1,0.028288782,0.9717112 +1,0.06052184,0.93947816 +1,0.14416105,0.85583895 +0,0.9869113,0.013088678 +0,0.93486565,0.065134354 +0,0.9843828,0.015617199 +0,0.99654067,0.0034593476 +1,0.036948085,0.9630519 +0,0.7472245,0.2527755 +0,0.9658041,0.03419588 +0,0.9998951,1.0487637E-4 +0,0.9994361,5.639212E-4 +0,0.9994231,5.7691906E-4 +0,0.9994341,5.658595E-4 +0,0.9999679,3.211047E-5 +0,0.6819065,0.31809348 +0,0.9999591,4.090351E-5 +0,0.99990964,9.035601E-5 +0,0.998131,0.0018690323 +0,0.99998873,1.127321E-5 +0,0.509256,0.490744 +0,0.9999436,5.6402972E-5 +0,0.98424786,0.015752133 +0,0.9988377,0.0011622836 +0,0.95519775,0.044802275 +0,0.9976656,0.0023343884 +0,0.9844392,0.015560819 +0,0.9576579,0.042342134 +0,0.8971488,0.10285119 +0,0.77741826,0.22258174 +0,0.9920528,0.007947199 +0,0.9999891,1.0932741E-5 +0,0.8429463,0.15705371 +0,0.7292197,0.2707803 +0,0.99567634,0.0043236534 +0,0.92094314,0.079056844 +0,0.99864167,0.0013583545 +0,0.9962129,0.0037870833 +1,0.014454186,0.9855458 +1,0.12685424,0.87314576 +1,0.07448763,0.9255124 +0,0.9530418,0.046958186 +0,0.9769716,0.02302838 +1,0.03484547,0.9651545 +0,0.9655673,0.034432687 +0,0.99997246,2.7517579E-5 +0,0.9940143,0.0059856614 +0,0.89805424,0.10194575 +1,0.056492746,0.94350725 +0,0.97785264,0.022147348 +0,0.99977547,2.2454072E-4 +0,0.8758451,0.124154955 +0,0.9999115,8.850009E-5 +0,0.76480347,0.23519653 +0,0.9105399,0.08946006 +0,0.9993864,6.1358005E-4 +0,0.90649045,0.09350958 +0,0.99542,0.0045800144 +0,0.9998952,1.04763625E-4 +0,0.75639105,0.24360898 +1,0.22072011,0.7792799 +0,0.9999453,5.470507E-5 +0,0.9982168,0.0017832145 +0,0.9992172,7.8281754E-4 +0,0.92366916,0.07633085 +1,0.07297319,0.9270268 +0,0.95379704,0.046202943 +0,0.8861224,0.11387761 +0,0.999868,1.3203922E-4 +1,0.28829026,0.71170974 +1,0.18398231,0.8160177 +1,0.35401726,0.64598274 +0,0.9697164,0.030283546 +1,0.07937783,0.92062217 +0,0.9999843,1.5684403E-5 +0,0.99843615,0.0015638742 +1,0.09900582,0.9009942 +0,0.8922827,0.107717276 +0,0.9860222,0.013977848 +0,0.9637939,0.036206126 +0,0.9135351,0.086464874 +0,0.8744297,0.12557031 +1,0.25891072,0.7410893 +0,0.7956191,0.20438094 +0,0.99523085,0.004769137 +0,0.85631573,0.14368428 +1,0.2686121,0.7313879 +0,0.98789704,0.012102974 +1,0.003863752,0.99613625 +1,0.12573808,0.8742619 +0,0.9997438,2.5615707E-4 +0,0.54415745,0.45584255 +0,0.9999727,2.7321908E-5 +0,0.9999639,3.612143E-5 +0,0.8621811,0.13781886 +0,0.9563265,0.043673493 +0,0.99423045,0.0057695555 +0,0.8678404,0.13215956 +0,0.9436989,0.056301143 +0,0.9805463,0.019453691 +0,0.99194986,0.0080501335 +0,0.92260545,0.077394545 +0,0.9992728,7.2715455E-4 +0,0.9511932,0.048806794 +0,0.98387724,0.016122732 +0,0.8732656,0.1267344 +1,0.48851228,0.5114877 +0,0.7027962,0.2972038 +0,0.9412527,0.058747306 +0,0.9624693,0.037530713 +0,0.9138527,0.086147286 +0,0.86196256,0.13803744 +1,0.10072607,0.89927393 +0,0.99627006,0.0037299357 +0,0.9961525,0.0038475082 +1,0.012679458,0.98732054 +0,0.9998316,1.6839693E-4 +0,0.9999193,8.0693004E-5 +0,0.9822434,0.01775658 +0,0.98870385,0.011296176 +0,0.99798024,0.0020197462 +0,0.93876284,0.061237153 +0,0.9980181,0.0019819415 +0,0.9052879,0.09471206 +0,0.89404136,0.105958655 +0,0.9990648,9.351782E-4 +0,0.79166245,0.20833755 +0,0.9992392,7.607732E-4 +0,0.99173576,0.008264267 +0,0.9912784,0.008721565 +1,0.021599889,0.9784001 +1,0.17685682,0.8231432 +0,0.99873656,0.001263445 +0,0.97504646,0.024953552 +0,0.985469,0.014531003 +0,0.9999753,2.465016E-5 +0,0.9999713,2.873467E-5 +0,0.9975645,0.00243548 +0,0.9994374,5.626287E-4 +0,0.99972206,2.7792415E-4 +0,0.7533724,0.24662761 +1,0.275621,0.724379 +0,0.93587756,0.06412247 +0,0.82821125,0.17178877 +0,0.96906865,0.03093135 +0,0.9997583,2.4170222E-4 +1,0.42079157,0.57920843 +0,0.9167406,0.08325942 +0,0.99832976,0.0016702547 +0,0.99980783,1.9214925E-4 +1,0.08703649,0.9129635 +0,0.96516156,0.03483842 +0,0.5009939,0.4990061 +0,0.9349144,0.06508558 +0,0.99933994,6.600325E-4 +0,0.9982412,0.0017587895 +0,0.9983678,0.0016322053 +0,0.9989083,0.0010917016 +0,0.9981548,0.0018451851 +1,0.0090120435,0.99098796 +0,0.97403634,0.025963686 +0,0.99932104,6.789364E-4 +0,0.99764305,0.0023569176 +0,0.9593615,0.040638506 +0,0.9998969,1.0310468E-4 +1,0.032637358,0.96736264 +0,0.9350398,0.06496017 +1,0.1320383,0.8679617 +0,0.73032916,0.26967087 +0,0.971512,0.028487965 +1,0.009702027,0.990298 +0,0.9999538,4.621788E-5 +1,0.3740788,0.6259212 +0,0.99972796,2.7205888E-4 +0,0.9984029,0.001597094 +0,0.95016795,0.04983202 +0,0.98092645,0.01907352 +0,0.907653,0.092347026 +0,0.99404764,0.005952367 +0,0.9993969,6.030986E-4 +0,0.99314123,0.00685878 +0,0.994266,0.005734032 +0,0.99895906,0.0010409321 +1,0.19892871,0.8010713 +0,0.99260783,0.007392195 +0,0.97410864,0.025891377 +0,0.99980843,1.9156588E-4 +0,0.92631423,0.07368576 +1,0.46913338,0.5308666 +0,0.9995841,4.1593047E-4 +1,0.013748229,0.9862518 +0,0.9347662,0.06523386 +1,0.03441763,0.9655824 +0,0.9989533,0.0010467272 +0,0.9999324,6.7619E-5 +0,0.93401223,0.065987766 +0,0.9566958,0.04330419 +1,0.10412699,0.895873 +0,0.81042075,0.18957923 +0,0.9964473,0.0035526964 +1,0.08264178,0.9173582 +1,0.13733941,0.8626606 +0,0.98948264,0.010517368 +0,0.98469794,0.01530205 +0,0.87699145,0.12300854 +0,0.836244,0.16375604 +0,0.9988413,0.0011587219 +0,0.9897029,0.0102971075 +0,0.99843687,0.0015631432 +0,0.99972105,2.7895469E-4 +0,0.9990809,9.191079E-4 +0,0.9605132,0.03948685 +0,0.952575,0.04742497 +0,0.98486084,0.015139144 +0,0.9834919,0.016508121 +0,0.9991338,8.661716E-4 +0,0.9415583,0.0584417 +0,0.83970773,0.1602923 +0,0.9999601,3.990096E-5 +0,0.9998983,1.0170652E-4 +0,0.99430084,0.0056991805 +1,0.06775653,0.93224347 +1,0.473422,0.526578 +1,0.087939024,0.912061 +1,0.07138717,0.9286128 +0,0.96142995,0.038570046 +1,0.02299124,0.97700876 +0,0.9875554,0.012444607 +0,0.7721048,0.22789522 +0,0.9948265,0.005173505 +0,0.9631154,0.036884625 +0,0.981524,0.018475983 +0,0.967193,0.032807 +0,0.99705946,0.0029405064 +1,0.20402473,0.79597527 +0,0.99968827,3.1173904E-4 +0,0.9720774,0.027922574 +1,0.02186501,0.978135 +0,0.9322417,0.067758314 +0,0.9959441,0.0040558977 +0,0.9973691,0.002630918 +0,0.9689595,0.031040488 +0,0.99148595,0.008514028 +0,0.94580173,0.054198265 +0,0.8080013,0.19199869 +0,0.8935967,0.10640328 +1,0.09438974,0.90561026 +0,0.9886433,0.011356712 +1,0.4261219,0.5738781 +0,0.5507598,0.44924018 +0,0.97664,0.023360005 +0,0.99992454,7.547516E-5 +1,0.3804434,0.6195566 +0,0.9962588,0.003741233 +0,0.99342096,0.006579033 +0,0.87894154,0.12105848 +1,0.13437897,0.86562103 +0,0.993938,0.0060619507 +0,0.9918371,0.008162917 +0,0.98711556,0.012884424 +0,0.91500396,0.08499604 +0,0.99210864,0.0078913765 +0,0.99667805,0.0033219273 +1,0.30567545,0.69432455 +0,0.9998906,1.093847E-4 +0,0.9971046,0.0028954356 +1,0.42243838,0.5775616 +0,0.999543,4.5698322E-4 +0,0.996725,0.0032750007 +0,0.99995637,4.3603606E-5 +0,0.8477061,0.15229389 +0,0.9999073,9.2658505E-5 +0,0.97515523,0.024844768 +0,0.90383846,0.096161544 +0,0.72130036,0.2786996 +0,0.8289405,0.17105952 +0,0.89803505,0.10196493 +0,0.8898858,0.11011423 +0,0.86969966,0.13030034 +0,0.9383116,0.061688416 +0,0.9554543,0.044545684 +0,0.88649935,0.113500655 +0,0.9989514,0.0010486286 +0,0.99957824,4.217578E-4 +0,0.6699715,0.33002847 +0,0.9929801,0.0070198546 +1,0.23255879,0.7674412 +0,0.9920871,0.007912897 +0,0.99934995,6.500689E-4 +1,0.22280067,0.7771993 +1,0.10048926,0.89951074 +1,0.24815291,0.7518471 +0,0.7412467,0.25875333 +0,0.9359842,0.06401583 +0,0.9986862,0.0013138258 +1,0.3133365,0.6866635 +0,0.80783254,0.19216745 +0,0.9996476,3.5238903E-4 +0,0.58347243,0.41652757 +1,0.022886634,0.97711337 +0,0.9752857,0.02471428 +0,0.9999755,2.4504445E-5 +0,0.9972624,0.0027376034 +0,0.97944826,0.020551726 +0,0.9917558,0.008244239 +1,0.11934006,0.88065994 +1,0.09458113,0.9054189 +0,0.82600677,0.17399326 +0,0.9943252,0.0056747943 +0,0.9833769,0.016623084 +1,0.07403743,0.92596257 +0,0.9006742,0.099325806 +0,0.9982449,0.0017551248 +0,0.99919343,8.065865E-4 +0,0.99992615,7.38604E-5 +1,0.23465294,0.76534706 +0,0.9948155,0.005184447 +1,0.091222405,0.9087776 +0,0.9546857,0.04531429 +1,0.21731806,0.78268194 +0,0.99992615,7.3867726E-5 +0,0.6422071,0.3577929 +1,0.32470417,0.6752958 +0,0.97546554,0.024534442 +0,0.9990165,9.8347E-4 +1,0.11884308,0.8811569 +0,0.8705046,0.1294954 +0,0.90543574,0.094564244 +0,0.9762243,0.023775706 +1,0.3011095,0.6988905 +0,0.99895746,0.0010425464 +0,0.98701465,0.012985339 +0,0.9993124,6.8757357E-4 +0,0.9550958,0.0449042 +0,0.914018,0.08598203 +1,0.11745268,0.8825473 +1,0.33236158,0.6676384 +0,0.99937665,6.233156E-4 +0,0.9988838,0.0011162397 +0,0.9991202,8.79807E-4 +0,0.96932685,0.030673135 +0,0.71229744,0.2877026 +0,0.99384546,0.006154511 +0,0.9981933,0.001806668 +0,0.9994615,5.38503E-4 +0,0.50028706,0.49971294 +1,0.090237975,0.909762 +0,0.9926031,0.007396874 +0,0.9955693,0.0044306912 +0,0.9844289,0.0155711435 +0,0.9984615,0.001538525 +1,0.015089452,0.98491055 +0,0.9819326,0.018067425 +0,0.9942907,0.005709279 +0,0.9962268,0.0037731992 +0,0.98090196,0.019098056 +0,0.997511,0.0024889838 +0,0.7750747,0.2249253 +1,0.09698242,0.9030176 +0,0.9989292,0.0010707919 +1,0.35221803,0.64778197 +0,0.72546935,0.27453062 +0,0.9999453,5.4741602E-5 +0,0.9670768,0.03292324 +0,0.9760112,0.02398881 +0,0.9402324,0.059767626 +1,0.17337954,0.82662046 +0,0.99995637,4.3603606E-5 +0,0.9992897,7.103254E-4 +0,0.9994151,5.8489066E-4 +0,0.99062103,0.009378988 +1,0.29823148,0.7017685 +0,0.7937787,0.2062213 +0,0.9378833,0.06211668 +0,0.9837445,0.016255492 +0,0.99845785,0.0015421243 +1,0.17016023,0.82983977 +0,0.8124468,0.18755321 +0,0.9987546,0.0012453799 +0,0.9695549,0.030445114 +0,0.82287186,0.17712815 +0,0.995294,0.004705996 +1,0.45398974,0.54601026 +1,0.059619248,0.94038075 +0,0.9760576,0.023942426 +0,0.9979834,0.0020166123 +0,0.96545404,0.034545984 +0,0.9942619,0.005738051 +1,0.16662854,0.83337146 +0,0.99625075,0.0037492248 +1,0.015325427,0.9846746 +0,0.84825414,0.15174587 +0,0.93549126,0.064508714 +0,0.92208683,0.07791317 +0,0.99980605,1.9398183E-4 +1,0.24220932,0.7577907 +1,0.07423681,0.9257632 +0,0.9947182,0.0052818176 +0,0.9972843,0.0027156868 +1,0.27662647,0.72337353 +0,0.99797297,0.00202701 +0,0.99588937,0.0041106534 +0,0.907561,0.09243902 +0,0.9790436,0.02095637 +0,0.9593362,0.040663768 +0,0.99994004,5.9973197E-5 +0,0.81464744,0.18535255 +0,0.98609906,0.013900947 +0,0.9999312,6.877586E-5 +0,0.7224688,0.2775312 +0,0.9995543,4.4574987E-4 +0,0.79529065,0.20470937 +0,0.9999112,8.882636E-5 +0,0.99942815,5.7185965E-4 +0,0.99883616,0.0011638541 +0,0.9999845,1.5485764E-5 +0,0.995843,0.004156992 +0,0.9872985,0.012701499 +0,0.9994752,5.2481366E-4 +0,0.98923475,0.010765254 +0,0.9712207,0.02877934 +0,0.9639383,0.03606168 +0,0.83294094,0.16705906 +0,0.9207543,0.0792457 +0,0.99998003,1.9940806E-5 +0,0.9242418,0.075758204 +0,0.99529344,0.004706547 +0,0.9993723,6.2766916E-4 +0,0.98808056,0.011919424 +1,0.036659658,0.96334034 +1,0.08580637,0.91419363 +0,0.9988849,0.0011150658 +0,0.9875615,0.0124384845 +0,0.96559745,0.03440257 +0,0.7643287,0.23567125 +0,0.7798203,0.2201797 +0,0.9999733,2.6682039E-5 +0,0.9999737,2.6256263E-5 +1,0.14196378,0.8580362 +0,0.9587962,0.041203815 +0,0.6652504,0.33474958 +0,0.98476446,0.01523553 +0,0.9910234,0.008976593 +1,0.044027388,0.9559726 +0,0.9590669,0.040933046 +0,0.99707043,0.002929548 +1,0.25494784,0.74505216 +0,0.99066746,0.009332518 +0,0.999941,5.9024704E-5 +0,0.6282275,0.3717725 +0,0.9563603,0.043639727 +0,0.999621,3.7899686E-4 +0,0.96519786,0.03480214 +0,0.98440224,0.015597756 +0,0.98344415,0.016555833 +0,0.9996503,3.496867E-4 +0,0.96165836,0.038341668 +0,0.99231815,0.007681826 +0,0.9813304,0.018669594 +1,0.021264613,0.9787354 +0,0.9770633,0.022936728 +0,0.99242646,0.0075735487 +0,0.9631822,0.03681777 +0,0.9998782,1.2176647E-4 +0,0.99708974,0.002910235 +0,0.7386127,0.2613873 +0,0.86647296,0.13352704 +0,0.9974131,0.0025869124 +0,0.9074423,0.092557736 +0,0.8952883,0.104711734 +0,0.88760316,0.112396844 +0,0.9982775,0.0017225164 +0,0.97649944,0.023500543 +0,0.97710264,0.022897338 +0,0.94314885,0.05685114 +0,0.99910176,8.9823676E-4 +0,0.97600824,0.02399177 +0,0.8334956,0.16650438 +1,0.07902539,0.9209746 +0,0.99273515,0.0072648306 +0,0.85844254,0.14155747 +1,0.33362216,0.66637784 +0,0.89176583,0.10823414 +0,0.89497447,0.10502554 +0,0.9998177,1.8225083E-4 +0,0.8966342,0.103365764 +0,0.9999394,6.0599254E-5 +0,0.99483716,0.005162833 +0,0.98044837,0.019551639 +1,0.2492885,0.7507115 +1,0.1168915,0.8831085 +0,0.84585834,0.15414166 +0,0.8051912,0.1948088 +1,0.008350015,0.99165 +1,0.250764,0.749236 +0,0.9918617,0.008138308 +1,0.20436919,0.7956308 +0,0.8569817,0.14301829 +0,0.59466803,0.40533194 +0,0.6356685,0.36433145 +0,0.999905,9.5029645E-5 +0,0.99973494,2.6508037E-4 +0,0.9235766,0.07642342 +0,0.9901224,0.009877607 +0,0.9999652,3.4782373E-5 +1,0.10047948,0.8995205 +0,0.99906087,9.391369E-4 +0,0.9969637,0.0030363193 +0,0.9912032,0.008796799 +0,0.97572076,0.024279209 +0,0.9847074,0.015292563 +0,0.992147,0.007852964 +0,0.9687062,0.031293783 +0,0.943203,0.05679704 +0,0.7257173,0.2742827 +0,0.8266222,0.17337783 +0,0.9024968,0.097503215 +0,0.9970203,0.002979685 +0,0.9992825,7.175212E-4 +1,0.11483842,0.8851616 +0,0.9881032,0.0118967965 +1,0.09231526,0.90768474 +0,0.96710306,0.032896925 +1,0.35389125,0.64610875 +1,0.49125165,0.50874835 +0,0.8691844,0.13081564 +0,0.99769425,0.00230577 +0,0.9804875,0.01951245 +1,0.01744783,0.9825522 +0,0.99230576,0.0076942383 +0,0.99988544,1.1456594E-4 +0,0.9929764,0.0070235515 +0,0.9998369,1.6305233E-4 +0,0.5155306,0.48446944 +1,0.2880606,0.7119394 +0,0.98451275,0.015487244 +0,0.9995054,4.945983E-4 +0,0.9987302,0.001269824 +0,0.99045753,0.00954248 +1,0.14808583,0.85191417 +0,0.99991435,8.564595E-5 +0,0.8979958,0.102004185 +0,0.7549374,0.24506259 +0,0.9702496,0.029750383 +1,0.25104725,0.74895275 +0,0.99045837,0.009541628 +0,0.98513263,0.0148673365 +0,0.9849165,0.015083476 +0,0.9545849,0.045415126 +1,0.30285025,0.69714975 +1,0.051797807,0.9482022 +0,0.97581637,0.024183631 +0,0.7448379,0.2551621 +0,0.8017097,0.19829029 +0,0.9993995,6.005376E-4 +1,0.09110433,0.9088957 +1,0.1920324,0.8079676 +1,0.3317091,0.6682909 +0,0.93350744,0.066492535 +0,0.999971,2.9007519E-5 +0,0.9567684,0.043231618 +0,0.9999461,5.388972E-5 +0,0.99752337,0.0024766286 +1,0.22197026,0.77802974 +0,0.99913347,8.6651795E-4 +0,0.9484867,0.05151332 +0,0.9852751,0.014724926 +0,0.9939057,0.0060942746 +1,0.106698096,0.8933019 +1,0.027320802,0.9726792 +0,0.9995998,4.0018646E-4 +1,0.021658838,0.97834116 +0,0.9916026,0.008397402 +0,0.90345407,0.09654596 +1,0.1748023,0.8251977 +0,0.99990463,9.537589E-5 +1,0.07615447,0.9238455 +0,0.9999687,3.128316E-5 +0,0.97224176,0.027758246 +0,0.99980575,1.9425854E-4 +0,0.9818794,0.018120615 +0,0.9239267,0.07607329 +0,0.99865735,0.0013426271 +0,0.71438485,0.28561515 +0,0.96013755,0.03986244 +0,0.88564116,0.114358865 +0,0.99329567,0.006704346 +0,0.99263346,0.00736652 +0,0.9895548,0.010445155 +1,0.32552344,0.67447656 +0,0.9745363,0.025463687 +0,0.9696338,0.030366179 +1,0.04719454,0.95280546 +1,0.1155439,0.8844561 +0,0.95004886,0.049951132 +0,0.91906124,0.080938734 +0,0.99886006,0.0011399259 +0,0.9997921,2.0787398E-4 +0,0.74012864,0.25987136 +1,0.19357282,0.8064272 +0,0.76966506,0.23033492 +0,0.9859322,0.014067806 +0,0.9869216,0.013078403 +1,0.032850146,0.96714985 +0,0.999934,6.598655E-5 +0,0.8302255,0.16977446 +1,0.059237063,0.94076294 +0,0.9995458,4.5419188E-4 +0,0.99215466,0.007845367 +0,0.98783284,0.012167167 +0,0.8097257,0.19027428 +1,0.19595331,0.8040467 +1,0.27950418,0.7204958 +0,0.98182094,0.018179063 +0,0.9944985,0.0055014966 +0,0.9882124,0.011787614 +1,0.224275,0.775725 +0,0.89927036,0.10072964 +0,0.6128,0.3872 +0,0.9996792,3.2079764E-4 +0,0.9867051,0.013294882 +1,0.04368484,0.95631516 +0,0.9999308,6.917749E-5 +0,0.9993636,6.363989E-4 +0,0.99214613,0.007853875 +0,0.8036378,0.19636218 +0,0.897163,0.10283702 +0,0.9321021,0.06789793 +1,0.46433848,0.5356615 +1,0.21853566,0.78146434 +0,0.9990429,9.57045E-4 +0,0.65230143,0.34769854 +0,0.81003845,0.18996154 +0,0.99993557,6.4415486E-5 +0,0.90672857,0.09327144 +0,0.9244598,0.07554021 +0,0.99902195,9.78035E-4 +0,0.9998098,1.9019468E-4 +0,0.92697114,0.073028885 +1,0.19987124,0.80012876 +0,0.9862109,0.013789138 +0,0.9345281,0.06547192 +0,0.83844215,0.16155787 +1,0.39168638,0.6083136 +0,0.98884034,0.011159668 +0,0.5944686,0.40553138 +0,0.9222091,0.07779089 +0,0.98426265,0.015737347 +1,0.25167382,0.7483262 +1,0.014843345,0.98515666 +0,0.99615073,0.0038492868 +0,0.9359159,0.064084105 +0,0.8442951,0.15570492 +0,0.9071092,0.09289081 +0,0.999778,2.2200364E-4 +0,0.67755806,0.32244194 +1,0.13132066,0.86867934 +0,0.7600739,0.23992611 +1,0.2008124,0.7991876 +1,0.31297272,0.6870273 +0,0.96082824,0.039171733 +0,0.98754126,0.012458731 +0,0.98582685,0.014173172 +0,0.9994982,5.0178374E-4 +0,0.9985527,0.0014473171 +0,0.99915546,8.4453495E-4 +0,0.62051594,0.37948403 +0,0.99884397,0.0011560423 +0,0.6448142,0.3551858 +1,0.15830606,0.84169394 +1,0.30342793,0.69657207 +0,0.9830771,0.016922891 +0,0.8613997,0.13860027 +0,0.87082905,0.12917095 +0,0.76644623,0.23355375 +1,0.21922421,0.7807758 +0,0.96090925,0.03909073 +0,0.99141574,0.008584243 +1,0.27491528,0.7250847 +0,0.99868643,0.0013135436 +1,0.06411129,0.9358887 +0,0.99597263,0.0040273773 +1,0.27320212,0.7267979 +0,0.9998573,1.4268974E-4 +1,0.040819407,0.9591806 +0,0.5466462,0.45335382 +0,0.9999099,9.011388E-5 +0,0.99971443,2.8555116E-4 +0,0.99928516,7.1486173E-4 +0,0.9182896,0.08171038 +0,0.6000556,0.3999444 +0,0.9976485,0.0023515173 +0,0.92802215,0.07197788 +0,0.5374162,0.46258378 +0,0.98026997,0.019730039 +1,0.22631198,0.773688 +1,0.14658898,0.853411 +0,0.7312751,0.26872492 +0,0.999621,3.7900193E-4 +0,0.9980026,0.0019973866 +1,0.28702295,0.71297705 +0,0.8368752,0.16312483 +0,0.99984664,1.5338679E-4 +0,0.9624991,0.037500944 +0,0.97577465,0.024225328 +0,0.98900235,0.0109976735 +1,0.028707981,0.971292 +0,0.9958082,0.0041918387 +0,0.98440397,0.015596045 +0,0.99969697,3.0305778E-4 +0,0.99343085,0.0065691327 +0,0.999898,1.0195569E-4 +0,0.99813545,0.0018645553 +0,0.9694825,0.030517494 +1,0.19118118,0.8088188 +0,0.99995375,4.6234545E-5 +0,0.825855,0.17414497 +0,0.96671367,0.033286307 +0,0.94182086,0.058179133 +0,0.6390458,0.36095423 +0,0.98667467,0.013325305 +0,0.999742,2.5803372E-4 diff --git a/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuto.csv b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuto.csv index 37c2f1b7..b5b5748e 100644 --- a/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuto.csv +++ b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuto.csv @@ -1,393 +1,393 @@ mpg -18.001736 -14.96682 -17.82642 -16.071299 -17.037058 -14.973877 -14.053645 -14.006252 -13.962714 -14.9769125 -15.001788 -14.026886 -15.060863 -13.986465 -23.983715 -21.916885 -18.162281 -21.025303 -27.024317 -25.994991 -24.998793 -24.084742 -25.013168 -25.96539 -20.966784 -9.994265 -9.971647 -11.035929 -9.005005 -27.011702 -27.905136 -24.999449 -19.005457 -16.028543 -17.121923 -18.96943 -17.919857 -13.950157 -14.018913 -13.98658 -14.077858 -11.99993 -13.027406 -12.9882965 -18.009817 -22.030928 -18.956463 -18.055944 -23.099295 -27.981209 -30.008102 -30.006382 -31.008692 -34.98766 -27.000015 -25.995186 -23.987745 -25.01961 -22.994713 -20.088062 -20.965197 -13.062989 -13.950977 -14.783457 -14.027358 -16.845175 -11.041941 -12.96124 -12.080638 -13.017727 -19.049683 -15.184636 -12.982964 -13.003677 -13.971687 -18.085133 -22.027754 -20.955526 -26.001007 -22.006512 -27.890926 -22.97529 -27.989412 -27.033358 -13.01921 -14.024179 -13.092878 -13.99221 -14.887965 -12.004125 -12.997946 -13.034985 -14.055759 -12.961015 -12.04414 -12.997145 -18.062342 -15.935547 -18.20744 -17.996574 -22.77871 -26.015343 -11.004002 -11.989418 -12.927627 -12.0344515 -18.051943 -19.992586 -20.930897 -22.08868 -17.98502 -18.99194 -21.002043 -26.001997 -14.817067 -15.962081 -29.00153 -23.986584 -20.158117 -18.997154 -15.0697155 -23.807102 -20.032434 -11.062426 -20.089697 -18.998617 -15.196914 -31.02201 -26.010498 -31.991508 -24.984722 -15.967883 -16.01865 -17.961746 -15.95213 -13.050471 -14.004348 -13.997015 -13.962706 -28.880083 -25.999197 -26.016191 -31.010391 -31.968073 -27.949741 -24.127008 -26.002031 -23.941633 -26.004622 -30.914894 -19.142052 -17.949234 -14.985703 -15.026549 -15.982214 -15.014133 -15.982096 -14.006621 -17.013863 -16.008327 -15.0768175 -17.963348 -20.933767 -19.934196 -13.087321 -28.96046 -23.232689 -19.858372 -22.90322 -23.986794 -25.010073 -24.032452 -18.13016 -29.040995 -18.764267 -23.05496 -22.991045 -21.874342 -24.977495 -33.010094 -27.858467 -25.053679 -24.943283 -26.067577 -27.036932 -17.422096 -16.080616 -15.472218 -14.497535 -21.907415 -21.80224 -23.97475 -22.4388 -29.01395 -24.479687 -28.968676 -32.976917 -20.075317 -18.023563 -18.503565 -17.528698 -29.50486 -31.994583 -28.005264 -26.520208 -20.061483 -13.074151 -19.01833 -19.06604 -16.508585 -16.429224 -13.006169 -13.075677 -13.074373 -31.502268 -29.976276 -36.005302 -25.520494 -33.504124 -17.405716 -16.99991 -15.610085 -15.021789 -17.587297 -20.466112 -19.005436 -18.464212 -16.00148 -15.503396 -15.534757 -15.920156 -29.085333 -24.694426 -26.009155 -25.25057 -30.504211 -33.4853 -29.998049 -30.38713 -21.949768 -21.571898 -21.497293 -43.03149 -36.09901 -32.813904 -39.350697 -36.11108 -19.909552 -19.266186 -20.08274 -19.223228 -20.47336 -20.248209 -25.095047 -20.37175 -19.619915 -20.536621 -20.62255 -18.59113 -18.108036 -19.31251 -17.677328 -18.159986 -17.55155 -30.010414 -27.412455 -27.174545 -30.800465 -21.271776 -23.248512 -23.793036 -23.982464 -20.323528 -16.992352 -21.601675 -16.19669 -31.539707 -29.586205 -21.50885 -19.877048 -22.346077 -20.22 -20.533714 -17.041702 -17.690832 -16.573189 -18.162535 -16.890285 -15.5368595 -19.152315 -18.46022 -31.903212 -34.023838 -35.668972 -27.450525 -25.38334 -22.96174 -27.186308 -23.88509 -34.266815 -34.50639 -31.865513 -37.29402 -28.314085 -28.797157 -26.800398 -33.34393 -41.454 -38.085136 -32.065258 -37.31558 -27.934662 -26.429928 -24.299864 -19.130663 -34.302444 -29.838552 -31.284624 -36.9937 -32.319954 -46.4792 -27.935213 -40.843258 -44.325165 -43.419003 -36.385582 -30.005192 -44.59485 -33.83451 -29.813894 -32.642693 -23.683558 -34.956306 -32.420097 -27.18298 -26.601408 -25.756075 -23.51083 -30.007214 -39.078648 -38.967945 -35.16823 -32.329987 -36.98639 -37.658028 -34.109642 -34.629463 -34.39721 -29.941734 -33.021328 -33.715904 -32.295834 -32.851967 -31.566908 -28.116283 -30.674028 -25.405663 -24.20889 -22.5028 -26.59365 -20.249983 -17.647121 -27.984568 -27.115309 -33.826214 -30.982033 -29.068556 -26.988798 -24.110548 -35.952503 -37.021107 -31.052588 -38.085606 -36.014637 -35.98894 -35.982445 -33.990044 -37.952732 -32.0927 -37.875355 -24.908514 -37.943733 -26.101543 -21.972433 -32.01446 -35.93802 -26.97637 -27.02963 -43.96857 -32.021458 -28.010645 -30.923565 +17.91794 +14.977665 +17.935041 +16.149277 +16.972227 +14.935502 +14.016267 +14.024651 +13.988389 +14.976628 +15.010749 +14.023898 +15.056541 +14.0018215 +23.977528 +21.936287 +18.116508 +20.97858 +27.001268 +26.01397 +24.993546 +24.166843 +24.99977 +25.981176 +20.957802 +10.005006 +10.0396 +10.988274 +8.98775 +27.053625 +27.948605 +25.0032 +19.01905 +16.051592 +17.083109 +18.935831 +18.000843 +13.957867 +13.993757 +14.005864 +14.0587635 +12.026692 +13.01116 +12.990087 +18.003801 +22.0144 +18.966972 +18.00616 +23.021952 +27.992218 +29.99535 +29.983074 +31.003134 +35.003304 +27.01284 +25.99862 +24.01397 +25.031254 +23.005531 +20.005392 +21.042694 +13.099569 +13.883302 +14.86384 +14.005482 +16.845615 +11.048397 +12.978544 +12.061454 +13.008721 +19.014925 +15.095713 +13.062935 +13.020394 +13.973933 +18.13214 +21.983849 +20.988647 +25.99836 +21.95938 +27.924892 +22.980072 +28.01928 +27.012823 +13.028756 +14.110094 +13.094138 +13.982901 +14.912729 +11.985529 +13.016549 +13.068184 +14.063567 +12.942253 +12.0134325 +13.00842 +17.941954 +16.008038 +18.050951 +18.009764 +22.829197 +26.019491 +11.035541 +12.007079 +12.964741 +11.993719 +18.044064 +19.96961 +20.951494 +22.033825 +18.010262 +19.074118 +21.005411 +26.00185 +14.783612 +15.970435 +28.990149 +24.01604 +20.125902 +19.063162 +14.985493 +23.79086 +19.98788 +11.046814 +20.063711 +18.995314 +15.199381 +31.011766 +25.891499 +31.996243 +24.959204 +15.988178 +15.985148 +17.969746 +15.860492 +13.018159 +14.021637 +14.016426 +13.990119 +28.93237 +26.028196 +26.051088 +30.997036 +31.934532 +27.956808 +24.140007 +26.02366 +23.992392 +26.042822 +30.89309 +19.114342 +17.986372 +14.989222 +15.053225 +15.990899 +14.9681015 +15.863007 +14.0770035 +16.998062 +15.99596 +15.100462 +17.930822 +20.931831 +19.937931 +13.087133 +28.838171 +23.085806 +19.913488 +22.96169 +24.105919 +25.001665 +24.01634 +18.107643 +29.023956 +18.988543 +23.001122 +22.947432 +21.920053 +24.985899 +32.992138 +27.836687 +25.005901 +24.991589 +25.997076 +27.079206 +17.489779 +15.99915 +15.482822 +14.509825 +21.999664 +21.841742 +24.007784 +22.498772 +29.010866 +24.499367 +29.004469 +32.977398 +20.01439 +17.99061 +18.505644 +17.50438 +29.495436 +31.992493 +28.036444 +26.490946 +20.018198 +13.035506 +19.035587 +19.004229 +16.496683 +16.491095 +12.978036 +13.043816 +13.027836 +31.414831 +29.966679 +35.996708 +25.49826 +33.485207 +17.437643 +16.977577 +15.590302 +15.003961 +17.570732 +20.47582 +19.055391 +18.398937 +15.97582 +15.517224 +15.526948 +15.969269 +29.074186 +24.732935 +26.129827 +25.359325 +30.531965 +33.39695 +30.05825 +30.329538 +21.950737 +21.61963 +21.49289 +43.022064 +36.123207 +32.864647 +39.387177 +36.074245 +19.887287 +19.366066 +20.16734 +19.19659 +20.466892 +20.250174 +25.069326 +20.405231 +19.46031 +20.530981 +20.719927 +18.586346 +18.119072 +19.232435 +17.677748 +18.128778 +17.556591 +30.024347 +27.361322 +27.172672 +30.791012 +21.31915 +23.211802 +23.781078 +23.941795 +20.335178 +17.004211 +21.533163 +16.24742 +31.513783 +29.565445 +21.456453 +19.846775 +22.404251 +20.180368 +20.608303 +17.063192 +17.668169 +16.505455 +18.116104 +16.893284 +15.560992 +19.194426 +18.441353 +31.903187 +34.096054 +35.65756 +27.489792 +25.388178 +22.984901 +27.19332 +23.896877 +34.174603 +34.550144 +31.825188 +37.254963 +28.369518 +28.803913 +26.791025 +33.390617 +41.41434 +38.10818 +32.0983 +37.319935 +27.967625 +26.360466 +24.280514 +19.147766 +34.40306 +29.780596 +31.335651 +36.926983 +32.21711 +46.45245 +27.928724 +40.910954 +44.33462 +43.39561 +36.39836 +30.002125 +44.606003 +33.770283 +29.793274 +32.678497 +23.70412 +34.949284 +32.39652 +27.286848 +26.452408 +25.927195 +23.50363 +30.043694 +39.0905 +38.96608 +35.165054 +32.322323 +36.970367 +37.706657 +34.178574 +34.67981 +34.388588 +29.925014 +33.09821 +33.657772 +32.347717 +32.796543 +31.569443 +28.122696 +30.644587 +25.384907 +24.22359 +22.401497 +26.611647 +20.204897 +17.638277 +27.976734 +27.119427 +33.947346 +30.955376 +29.100935 +27.016748 +24.032005 +35.977364 +36.996624 +31.050684 +38.009212 +35.927742 +35.966976 +36.032818 +34.005894 +37.899372 +32.047977 +37.982708 +24.965834 +37.970795 +25.97588 +22.02194 +31.987679 +35.973106 +26.993885 +27.007233 +43.98656 +31.991022 +27.99271 +30.977324 diff --git a/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostAudit.zip b/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostAudit.zip index f304cb8a7393219fd129de9e8be01605d5c97070..eb6b2de95f56d60638e7dadb65efcf838ca968c2 100644 GIT binary patch literal 84216 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 B8Sel9 literal 92219 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 diff --git a/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostAuto.zip b/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostAuto.zip index c919a502fbcbae571094143fc12503e3ca7ac458..a0e5b1d47fc3b1436697d640ee4e81025a4f2e51 100644 GIT binary patch literal 101857 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 E093~LN&o-= literal 0 HcmV?d00001 diff --git a/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostRegressionModelAutoNA.zip b/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostRegressionModelAutoNA.zip new file mode 100644 index 0000000000000000000000000000000000000000..0b71e296d1c73ce36381fb7766b56d5f94d94d26 GIT binary patch literal 113824 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 literal 0 HcmV?d00001 diff --git a/pmml-sparkml-xgboost/src/test/resources/schema/AuditNA.json b/pmml-sparkml-xgboost/src/test/resources/schema/AuditNA.json new file mode 100644 index 00000000..f2dd0162 --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/schema/AuditNA.json @@ -0,0 +1 @@ +{"type":"struct","fields":[{"name":"Age","type":"integer","nullable":true,"metadata":{}},{"name":"Employment","type":"string","nullable":true,"metadata":{}},{"name":"Education","type":"string","nullable":true,"metadata":{}},{"name":"Marital","type":"string","nullable":true,"metadata":{}},{"name":"Occupation","type":"string","nullable":true,"metadata":{}},{"name":"Income","type":"double","nullable":true,"metadata":{}},{"name":"Gender","type":"string","nullable":true,"metadata":{}},{"name":"Deductions","type":"integer","nullable":true,"metadata":{}},{"name":"Hours","type":"integer","nullable":true,"metadata":{}},{"name":"Adjusted","type":"string","nullable":true,"metadata":{}}]} \ No newline at end of file diff --git a/pmml-sparkml-xgboost/src/test/resources/schema/AutoNA.json b/pmml-sparkml-xgboost/src/test/resources/schema/AutoNA.json new file mode 100644 index 00000000..e44a066a --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/schema/AutoNA.json @@ -0,0 +1 @@ +{"type":"struct","fields":[{"name":"cylinders","type":"integer","nullable":true,"metadata":{}},{"name":"displacement","type":"integer","nullable":true,"metadata":{}},{"name":"horsepower","type":"integer","nullable":true,"metadata":{}},{"name":"weight","type":"integer","nullable":true,"metadata":{}},{"name":"acceleration","type":"double","nullable":true,"metadata":{}},{"name":"model_year","type":"integer","nullable":true,"metadata":{}},{"name":"origin","type":"integer","nullable":true,"metadata":{}},{"name":"mpg","type":"double","nullable":true,"metadata":{}}]} \ No newline at end of file From ffe083340a0c32e0dc88a462ceb9c2c1c0d4f1c1 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Mon, 25 Dec 2023 22:28:00 +0200 Subject: [PATCH 27/39] Refactored the handling of in-memory booster objects --- .../jpmml/sparkml/xgboost/BoosterUtil.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost/BoosterUtil.java b/pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost/BoosterUtil.java index faff9fba..8849cf3e 100644 --- a/pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost/BoosterUtil.java +++ b/pmml-sparkml-xgboost/src/main/java/org/jpmml/sparkml/xgboost/BoosterUtil.java @@ -18,13 +18,14 @@ */ package org.jpmml.sparkml.xgboost; -import java.io.ByteArrayInputStream; -import java.io.IOException; +import java.io.File; +import java.io.FileInputStream; import java.io.InputStream; import java.util.LinkedHashMap; import java.util.Map; import java.util.function.Function; +import com.google.common.io.MoreFiles; import ml.dmlc.xgboost4j.scala.Booster; import ml.dmlc.xgboost4j.scala.spark.params.GeneralParams; import org.apache.spark.ml.Model; @@ -49,20 +50,20 @@ private BoosterUtil(){ public & HasPredictionCol & GeneralParams, C extends ModelConverter & HasSparkMLXGBoostOptions> MiningModel encodeBooster(C converter, Booster booster, Schema schema){ M model = converter.getModel(); - byte[] bytes; + Learner learner; try { - bytes = booster.toByteArray(); - } catch(Exception e){ - throw new RuntimeException(e); - } + File tmpBoosterFile = File.createTempFile("Booster", ".json"); - Learner learner; + booster.saveModel(tmpBoosterFile.getAbsolutePath()); + + try(InputStream is = new FileInputStream(tmpBoosterFile)){ + learner = XGBoostUtil.loadLearner(is); + } - try(InputStream is = new ByteArrayInputStream(bytes)){ - learner = XGBoostUtil.loadLearner(is); - } catch(IOException ioe){ - throw new RuntimeException(ioe); + MoreFiles.deleteRecursively(tmpBoosterFile.toPath()); + } catch(Exception e){ + throw new RuntimeException(e); } Boolean inputFloat = (Boolean)converter.getOption(HasSparkMLXGBoostOptions.OPTION_INPUT_FLOAT, null); From 62b71593751f41fa4e2796422a225a0e29259704 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Tue, 26 Dec 2023 07:15:55 +0200 Subject: [PATCH 28/39] Replaced MLReader subclass constructors with #read() factory method invocations --- .../java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java | 4 ++-- .../src/main/java/org/jpmml/sparkml/PipelineModelUtil.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java b/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java index 4d6179ec..f6f65f47 100644 --- a/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java +++ b/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java @@ -166,11 +166,11 @@ private PipelineModel loadPipelineModel(SparkSession sparkSession, String pipeli MLReader mlReader; if(modelName.endsWith("ClassificationModel")){ - mlReader = new XGBoostClassificationModel.XGBoostClassificationModelReader(); + mlReader = XGBoostClassificationModel.read(); } else if(modelName.endsWith("RegressionModel")){ - mlReader = new XGBoostRegressionModel.XGBoostRegressionModelReader(); + mlReader = XGBoostRegressionModel.read(); } else { diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java index 325e7485..57eee5f1 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java @@ -60,7 +60,7 @@ public Transformer removeStage(PipelineModel pipelineModel, int index){ static public PipelineModel load(SparkSession sparkSession, File dir) throws IOException { - MLReader mlReader = new PipelineModel.PipelineModelReader(); + MLReader mlReader = PipelineModel.read(); mlReader.session(sparkSession); return mlReader.load(dir.getAbsolutePath()); From 074ace9183fdc58e7bc2c2e1a6fdfe47ae87f9b3 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Tue, 26 Dec 2023 11:21:32 +0200 Subject: [PATCH 29/39] Updated test resources --- .../lightgbm/testing/LightGBMTest.java | 10 + .../src/test/resources/LightGBMAuditNA.scala | 44 + .../src/test/resources/LightGBMAutoNA.scala | 33 + .../src/test/resources/csv/AuditNA.csv | 1900 +++ .../src/test/resources/csv/AutoNA.csv | 393 + .../test/resources/csv/LightGBMAuditNA.csv | 1900 +++ .../src/test/resources/csv/LightGBMAutoNA.csv | 393 + .../test/resources/pmml/LightGBMAuditNA.pmml | 11535 ++++++++++++++++ .../test/resources/pmml/LightGBMAutoNA.pmml | 6108 ++++++++ 9 files changed, 22316 insertions(+) create mode 100644 pmml-sparkml-lightgbm/src/test/resources/LightGBMAuditNA.scala create mode 100644 pmml-sparkml-lightgbm/src/test/resources/LightGBMAutoNA.scala create mode 100644 pmml-sparkml-lightgbm/src/test/resources/csv/AuditNA.csv create mode 100644 pmml-sparkml-lightgbm/src/test/resources/csv/AutoNA.csv create mode 100644 pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAuditNA.csv create mode 100644 pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAutoNA.csv create mode 100644 pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAuditNA.pmml create mode 100644 pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAutoNA.pmml diff --git a/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java b/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java index 4bb8e680..f7092cb7 100644 --- a/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java +++ b/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java @@ -47,11 +47,21 @@ public void evaluateLightGBMAudit() throws Exception { evaluate("LightGBM", AUDIT); } + @Test + public void evaluateLightGBMAuditNA() throws Exception { + evaluate("LightGBM", AUDIT_NA); + } + @Test public void evaluateLightGBMAuto() throws Exception { evaluate("LightGBM", AUTO); } + @Test + public void evaluateLightGBMAutoNA() throws Exception { + evaluate("LightGBM", AUTO_NA); + } + @Test public void evaluateLightGBMIris() throws Exception { evaluate("LightGBM", IRIS); diff --git a/pmml-sparkml-lightgbm/src/test/resources/LightGBMAuditNA.scala b/pmml-sparkml-lightgbm/src/test/resources/LightGBMAuditNA.scala new file mode 100644 index 00000000..359ad80c --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/LightGBMAuditNA.scala @@ -0,0 +1,44 @@ +import java.io.File + +import com.microsoft.azure.synapse.ml.lightgbm.LightGBMClassifier +import org.apache.spark.ml.Pipeline +import org.apache.spark.ml.feature._ +import org.apache.spark.ml.linalg.Vector +import org.apache.spark.sql.functions.{lit, udf} +import org.apache.spark.sql.types.StringType +import org.jpmml.sparkml.{DatasetUtil, PipelineModelUtil, PMMLBuilder} +import org.jpmml.sparkml.feature.InvalidCategoryTransformer + +var df = DatasetUtil.loadCsv(spark, new File("csv/AuditNA.csv")) +df = DatasetUtil.castColumn(df, "Adjusted", StringType) + +//DatasetUtil.storeSchema(df, new File("schema/AuditNA.json")) + +val cat_cols = Array("Education", "Employment", "Gender", "Marital", "Occupation") +val cont_cols = Array("Age", "Hours", "Income") + +val labelIndexer = new StringIndexer().setInputCol("Adjusted").setOutputCol("idx_Adjusted") + +val indexer = new StringIndexer().setInputCols(cat_cols).setOutputCols(cat_cols.map(cat_col => "idx_" + cat_col)).setHandleInvalid("keep") +val indexTransformer = new InvalidCategoryTransformer().setInputCols(indexer.getOutputCols).setOutputCols(cat_cols.map(cat_col => "idxTransformed_" + cat_col)) + +val assembler = new VectorAssembler().setInputCols(indexTransformer.getOutputCols ++ cont_cols).setOutputCol("featureVector").setHandleInvalid("keep") + +val classifier = new LightGBMClassifier().setObjective("binary").setNumIterations(101).setLabelCol(labelIndexer.getOutputCol).setFeaturesCol(assembler.getOutputCol) + +val pipeline = new Pipeline().setStages(Array(labelIndexer, indexer, indexTransformer, assembler, classifier)) +val pipelineModel = pipeline.fit(df) + +//PipelineModelUtil.storeZip(pipelineModel, new File("pipeline/LightGBMAuditNA.zip")) + +new PMMLBuilder(df.schema, pipelineModel).buildFile(new File("pmml/LightGBMAuditNA.pmml")) + +val predLabel = udf{ (value: Float) => value.toInt.toString } +val vectorToColumn = udf{ (vec: Vector, index: Int) => vec(index) } + +var lgbDf = pipelineModel.transform(df) +lgbDf = lgbDf.selectExpr("prediction", "probability") +lgbDf = lgbDf.withColumn("Adjusted", predLabel(lgbDf("prediction"))).drop("prediction") +lgbDf = lgbDf.withColumn("probability(0)", vectorToColumn(lgbDf("probability"), lit(0))).withColumn("probability(1)", vectorToColumn(lgbDf("probability"), lit(1))).drop("probability").drop("probability") + +DatasetUtil.storeCsv(lgbDf, new File("csv/LightGBMAuditNA.csv")) diff --git a/pmml-sparkml-lightgbm/src/test/resources/LightGBMAutoNA.scala b/pmml-sparkml-lightgbm/src/test/resources/LightGBMAutoNA.scala new file mode 100644 index 00000000..f252a884 --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/LightGBMAutoNA.scala @@ -0,0 +1,33 @@ +import java.io.File + +import com.microsoft.azure.synapse.ml.lightgbm.LightGBMRegressor +import org.apache.spark.ml.Pipeline +import org.apache.spark.ml.feature._ +import org.jpmml.sparkml.{DatasetUtil, PipelineModelUtil, PMMLBuilder} +import org.jpmml.sparkml.feature.InvalidCategoryTransformer + +var df = DatasetUtil.loadCsv(spark, new File("csv/AutoNA.csv")) + +//DatasetUtil.storeSchema(df, new File("schema/AutoNA.json")) + +val cat_cols = Array("cylinders", "model_year", "origin") +val cont_cols = Array("acceleration", "displacement", "horsepower", "weight") + +val indexer = new StringIndexer().setInputCols(cat_cols).setOutputCols(cat_cols.map(cat_col => "idx_" + cat_col)).setHandleInvalid("keep") +val indexTransformer = new InvalidCategoryTransformer().setInputCols(indexer.getOutputCols).setOutputCols(cat_cols.map(cat_col => "idxTransformed_" + cat_col)) + +val assembler = new VectorAssembler().setInputCols(indexTransformer.getOutputCols ++ cont_cols).setOutputCol("featureVector").setHandleInvalid("keep") + +val regressor = new LightGBMRegressor().setNumIterations(101).setLabelCol("mpg").setFeaturesCol(assembler.getOutputCol) + +val pipeline = new Pipeline().setStages(Array(indexer, indexTransformer, assembler, regressor)) +val pipelineModel = pipeline.fit(df) + +//PipelineModelUtil.storeZip(pipelineModel, new File("pipeline/LightGBMAutoNA.zip")) + +new PMMLBuilder(df.schema, pipelineModel).buildFile(new File("pmml/LightGBMAutoNA.pmml")) + +var lgbDf = pipelineModel.transform(df) +lgbDf = lgbDf.selectExpr("prediction as mpg") + +DatasetUtil.storeCsv(lgbDf, new File("csv/LightGBMAutoNA.csv")) diff --git a/pmml-sparkml-lightgbm/src/test/resources/csv/AuditNA.csv b/pmml-sparkml-lightgbm/src/test/resources/csv/AuditNA.csv new file mode 100644 index 00000000..7d904c78 --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/csv/AuditNA.csv @@ -0,0 +1,1900 @@ +Age,Employment,Education,Marital,Occupation,Income,Gender,Deductions,Hours,Adjusted +38,Private,College,Unmarried,Service,81838,N/A,0,72,0 +35,N/A,Associate,N/A,N/A,72099,N/A,0,30,0 +N/A,Private,HSgrad,Divorced,Clerical,154676.74,N/A,N/A,40,0 +45,Private,Bachelor,Married,Repair,27743.82,Male,0,N/A,1 +60,N/A,College,Married,Executive,7568.23,Male,0,N/A,1 +74,Private,HSgrad,Married,Service,33144.4,Male,N/A,N/A,0 +43,Private,Bachelor,N/A,N/A,43391.17,Male,0,50,1 +35,Private,N/A,N/A,Machinist,59906.65,Male,0,N/A,0 +25,Private,Associate,Divorced,N/A,126888.91,Female,0,40,0 +22,Private,N/A,Absent,N/A,52466.49,Female,N/A,37,0 +N/A,Private,College,Divorced,N/A,N/A,Female,N/A,N/A,0 +60,Private,N/A,N/A,N/A,24155.31,Male,0,40,0 +21,Private,N/A,Absent,Service,N/A,Female,0,35,0 +21,Private,College,Absent,Machinist,N/A,Male,0,40,0 +50,N/A,Master,N/A,Executive,34919.16,N/A,0,40,1 +37,Private,N/A,Divorced,N/A,N/A,N/A,0,35,0 +30,Consultant,HSgrad,N/A,Repair,9608.48,Male,0,40,0 +32,Private,HSgrad,Married,Machinist,12475.84,Male,0,40,0 +65,N/A,College,Married,Sales,32963.39,Male,0,40,0 +N/A,Private,N/A,Married,Executive,31534.97,Male,N/A,55,0 +N/A,N/A,N/A,Divorced,N/A,182165.08,N/A,N/A,40,0 +41,PSState,Bachelor,Divorced,N/A,70603.7,Male,0,40,0 +30,Private,N/A,Absent,Service,N/A,N/A,N/A,30,0 +38,Private,N/A,Married,Repair,8670.9,N/A,N/A,N/A,0 +N/A,Private,Yr11,Unmarried,Professional,260405.44,N/A,0,N/A,0 +42,PSState,College,Absent,Executive,N/A,Female,0,40,0 +26,Private,N/A,Absent,Sales,73751.48,Female,0,40,0 +32,Consultant,N/A,Married,Sales,N/A,N/A,0,60,1 +49,PSFederal,College,N/A,Support,15345.33,Male,0,N/A,1 +N/A,Private,HSgrad,Married,Repair,N/A,Male,0,40,0 +N/A,Private,Yr10,Married,Machinist,33493.89,Male,N/A,40,0 +N/A,PSFederal,N/A,Married,Support,54653.36,Male,0,24,0 +46,Private,HSgrad,Absent,Service,229077.27,Female,0,N/A,0 +42,N/A,College,Absent,Machinist,59201.06,Female,0,40,0 +39,Private,College,Divorced,N/A,31036.73,Female,N/A,40,0 +N/A,Private,Yr11,Absent,Machinist,N/A,Female,0,40,0 +47,PSLocal,Doctorate,Absent,Professional,N/A,Female,0,40,0 +24,Private,Associate,Unmarried,Repair,193135.59,Male,0,40,1 +45,Private,N/A,Married,Repair,26717.49,Male,0,N/A,0 +40,PSFederal,Associate,Absent,Clerical,N/A,Female,0,N/A,0 +51,SelfEmp,Doctorate,Married,Professional,13612.07,N/A,0,N/A,1 +77,N/A,HSgrad,Married,Service,39950.92,Male,0,N/A,0 +N/A,Private,College,Married,N/A,N/A,Male,0,45,0 +39,Private,Yr9,Divorced,Cleaner,78516.3,Male,N/A,50,0 +39,PSState,N/A,N/A,N/A,92268.68,Female,0,40,0 +63,SelfEmp,Bachelor,N/A,Farming,N/A,Male,N/A,N/A,1 +N/A,Private,HSgrad,Widowed,Service,148865.82,Female,0,38,0 +39,Private,Bachelor,Married,Professional,N/A,Male,0,N/A,1 +66,N/A,Yr5t6,Married-spouse-absent,N/A,139087.01,Female,0,40,0 +N/A,N/A,College,Married,Executive,N/A,Male,0,45,1 +31,PSLocal,N/A,N/A,Clerical,67012.13,Female,N/A,N/A,0 +31,Private,Bachelor,Married,Executive,N/A,N/A,1,45,1 +45,Private,Professional,Absent,N/A,44102.23,Male,N/A,40,1 +19,PSLocal,College,Absent,Service,N/A,Female,N/A,35,0 +32,Private,HSgrad,N/A,Machinist,14657.59,Male,0,40,0 +27,Private,N/A,Absent,Professional,89775.14,Male,0,N/A,1 +25,N/A,N/A,Married,Transport,56417.35,Male,0,30,0 +21,Private,N/A,N/A,Clerical,43362.93,Male,0,65,0 +N/A,Consultant,HSgrad,Absent,Farming,214238.62,Male,0,70,0 +N/A,Private,Bachelor,Absent,Executive,83143.19,Male,1,38,0 +56,PSFederal,N/A,Divorced,N/A,37078.8,N/A,0,40,0 +N/A,Volunteer,Associate,Married,N/A,N/A,Male,0,50,0 +28,N/A,Associate,Absent,N/A,166953.87,N/A,0,60,0 +39,Private,HSgrad,N/A,Executive,28907.41,N/A,0,40,0 +61,PSLocal,Master,Absent,Professional,5138.14,N/A,0,N/A,0 +32,N/A,HSgrad,Absent,N/A,82182.54,Female,0,N/A,0 +48,PSState,Bachelor,Married,Executive,N/A,N/A,0,40,1 +27,N/A,HSgrad,Married,Farming,25990.54,N/A,N/A,N/A,0 +N/A,Private,N/A,Absent,Transport,N/A,N/A,N/A,50,0 +37,Private,HSgrad,N/A,Machinist,83414.55,Male,0,40,0 +43,Private,College,N/A,Repair,N/A,Male,N/A,N/A,0 +47,Consultant,HSgrad,N/A,Machinist,61231.06,Male,N/A,N/A,1 +33,Private,Yr11,N/A,Service,32550.53,N/A,0,40,0 +64,Private,N/A,Married,Machinist,61592.42,Male,0,40,0 +44,N/A,Bachelor,Married,Sales,37662.02,Male,0,50,1 +23,Private,College,N/A,Service,100335.51,Female,N/A,35,0 +22,Private,HSgrad,Absent,N/A,342939.73,Female,0,N/A,0 +N/A,PSLocal,Master,Married,Executive,30098.58,Male,0,50,1 +28,PSFederal,N/A,Absent,Executive,150516.9,Female,0,70,0 +36,Private,HSgrad,Divorced,Transport,N/A,N/A,0,50,0 +22,Private,Bachelor,Absent,Professional,N/A,Female,N/A,15,0 +29,N/A,Vocational,Married,Transport,N/A,Male,0,55,0 +N/A,Private,N/A,Absent,Support,151462.25,Male,0,20,0 +N/A,Private,Bachelor,Married,Executive,29461.26,Male,0,40,1 +26,N/A,N/A,Absent,N/A,38142.98,Female,0,8,0 +28,Private,Bachelor,Absent,Executive,76539.28,Female,0,60,0 +19,Private,Yr11,N/A,Sales,N/A,N/A,0,25,0 +45,N/A,N/A,Married,Sales,38599.89,N/A,0,50,1 +35,Private,College,Divorced,Sales,N/A,Female,0,N/A,0 +42,Private,Vocational,Married,Service,N/A,Male,N/A,N/A,0 +58,PSState,Doctorate,N/A,N/A,N/A,Male,0,40,0 +55,Private,N/A,Married,Repair,39087.51,Male,0,40,0 +N/A,Private,HSgrad,N/A,Repair,N/A,N/A,0,28,0 +78,SelfEmp,Bachelor,Married,Executive,39472.73,N/A,0,45,1 +53,PSLocal,HSgrad,N/A,Executive,56065.12,Male,0,N/A,0 +34,Private,Vocational,N/A,N/A,35910.03,Male,0,40,0 +28,Private,N/A,N/A,Sales,N/A,N/A,N/A,40,0 +50,Private,N/A,N/A,Sales,47011.78,N/A,0,N/A,0 +47,N/A,N/A,Married,Clerical,203798.03,Female,0,35,1 +N/A,SelfEmp,Master,Widowed,Executive,92158.43,Female,N/A,99,0 +45,Consultant,N/A,Absent,Professional,N/A,Male,0,30,1 +33,Private,N/A,N/A,Repair,34078.48,N/A,N/A,N/A,0 +39,Private,N/A,Married,Support,N/A,Male,0,N/A,1 +N/A,Private,College,Divorced,Repair,86618.25,Male,0,44,1 +43,Private,College,Married,N/A,27604.3,N/A,0,40,0 +35,Private,HSgrad,Absent,Clerical,N/A,Male,0,N/A,1 +22,N/A,Yr10,Absent,N/A,N/A,N/A,0,84,0 +63,Private,College,N/A,Repair,32562.24,Male,0,45,0 +64,N/A,College,Widowed,N/A,73525.6,Female,N/A,N/A,0 +54,Private,HSgrad,Married,Machinist,N/A,Male,0,45,1 +57,Private,HSgrad,Widowed,Clerical,81343.45,Female,0,40,0 +45,N/A,College,Divorced,Support,125370.21,Female,N/A,40,0 +33,Private,N/A,Married,Executive,129091.19,Female,0,N/A,1 +25,Private,HSgrad,Absent,Sales,177873.59,Male,0,40,0 +N/A,N/A,N/A,Absent,Repair,64358.33,Male,0,50,0 +N/A,Private,HSgrad,Married,Executive,41442.67,N/A,0,40,1 +46,N/A,Associate,Absent,Professional,80318.75,Female,N/A,33,0 +22,Private,HSgrad,Absent,Service,70541.91,N/A,0,35,0 +N/A,N/A,HSgrad,Married,N/A,37634.41,Male,1,60,1 +30,Private,College,N/A,Machinist,N/A,Male,0,40,1 +28,Private,HSgrad,N/A,Cleaner,156434.13,Male,0,30,0 +21,N/A,College,Absent,N/A,N/A,Female,0,10,0 +N/A,Consultant,College,N/A,N/A,N/A,Male,0,35,1 +32,Private,N/A,N/A,Repair,103733.33,Male,0,50,0 +32,PSLocal,N/A,Married,Professional,163587.6,Female,0,N/A,1 +N/A,Private,N/A,Absent,Clerical,N/A,Female,N/A,40,0 +22,Private,College,N/A,N/A,223592.88,Male,0,35,0 +40,Private,HSgrad,Married,Professional,49546.92,N/A,N/A,N/A,1 +31,Private,College,Married,N/A,22086.63,N/A,0,N/A,0 +N/A,Private,Associate,Married-spouse-absent,Machinist,198418.74,Male,0,40,0 +23,Private,College,Divorced,Sales,115237.91,Female,0,N/A,0 +N/A,Consultant,Bachelor,Widowed,N/A,126304,Female,0,N/A,1 +35,Private,Bachelor,N/A,Executive,N/A,N/A,0,50,1 +N/A,N/A,HSgrad,Married,Clerical,N/A,N/A,0,25,0 +40,N/A,Bachelor,Married,N/A,34674.28,Male,0,50,0 +23,N/A,N/A,Absent,Repair,N/A,N/A,0,40,0 +N/A,Private,HSgrad,Absent,N/A,123634.05,Male,N/A,40,0 +17,Private,Yr9,Absent,N/A,130301.1,Male,0,22,0 +59,Private,HSgrad,Widowed,Service,53968.46,Female,0,10,0 +37,Private,College,Divorced,Transport,66341.59,Male,0,N/A,0 +27,N/A,HSgrad,Married,Machinist,13567.01,Male,0,N/A,0 +82,Private,Yr5t6,Widowed,Service,252435.63,Male,0,N/A,0 +30,Private,N/A,Married,Machinist,35880.85,Male,0,60,1 +23,Private,Bachelor,Absent,N/A,106057.24,Male,0,30,0 +30,Private,HSgrad,Married,Cleaner,50241.5,Male,N/A,40,0 +43,N/A,College,Divorced,Executive,175224.4,Female,0,45,0 +N/A,Private,N/A,Married,Professional,9371.51,Male,0,N/A,0 +N/A,Private,N/A,N/A,Transport,35189.05,N/A,0,55,0 +N/A,Private,Yr5t6,Absent,Clerical,98176.24,Female,0,40,0 +N/A,Private,N/A,Married,N/A,N/A,Male,0,N/A,0 +62,PSState,Bachelor,Divorced,N/A,77664.69,N/A,N/A,N/A,0 +41,Private,N/A,Married,Professional,18754.25,N/A,N/A,40,1 +44,N/A,Bachelor,N/A,Professional,243076.64,Female,N/A,60,0 +N/A,Private,HSgrad,Divorced,Clerical,43002.61,N/A,0,40,0 +29,Private,College,Absent,Professional,88981.36,Female,0,40,0 +42,N/A,Bachelor,Married,Executive,66952.28,Male,0,40,0 +40,Private,HSgrad,N/A,Repair,144187.19,Female,N/A,40,1 +29,PSFederal,College,Married,Clerical,54390.65,Male,0,40,1 +55,N/A,College,N/A,Clerical,N/A,Male,0,40,1 +45,PSLocal,Master,Divorced,Professional,133907.33,Female,N/A,40,0 +30,Private,HSgrad,Married,Executive,56622.85,Male,0,50,0 +34,Private,N/A,Married,Executive,4524.86,Male,0,40,1 +46,Private,HSgrad,Married,Sales,N/A,Male,0,45,1 +54,N/A,Doctorate,Absent,Executive,71715.5,Female,0,50,1 +N/A,N/A,N/A,Absent,Sales,93070,Female,0,N/A,0 +N/A,Private,N/A,Married,N/A,30353.77,Male,0,60,1 +61,Private,Yr7t8,Divorced,N/A,184682.08,Female,N/A,N/A,0 +50,Private,HSgrad,Married,Repair,N/A,N/A,0,40,0 +70,Private,N/A,Married,N/A,72715.96,Male,N/A,40,1 +51,Private,HSgrad,N/A,Machinist,N/A,Male,N/A,40,0 +N/A,Private,N/A,Married,Repair,49237.33,N/A,0,N/A,0 +18,N/A,N/A,Absent,Service,52489.11,Female,0,25,0 +N/A,Private,N/A,Absent,Farming,82725.18,Female,1,30,0 +65,Private,HSgrad,Widowed,Clerical,115548.72,Female,0,20,0 +24,Private,N/A,N/A,Service,N/A,Female,0,N/A,0 +35,SelfEmp,Bachelor,Unmarried,Professional,42736.77,Female,0,50,0 +32,Private,College,Absent,Repair,96488.54,N/A,0,72,0 +42,N/A,N/A,Married-spouse-absent,Transport,97187.73,N/A,0,60,0 +34,N/A,N/A,Married,Executive,35573.04,N/A,N/A,45,1 +53,N/A,HSgrad,N/A,N/A,N/A,Male,0,N/A,1 +30,Private,Vocational,Married,N/A,21551.74,Female,0,24,0 +N/A,Private,HSgrad,N/A,Cleaner,73730.39,Male,N/A,40,0 +N/A,N/A,N/A,Absent,N/A,22529.54,Female,N/A,38,0 +44,Consultant,N/A,N/A,Repair,N/A,Male,0,50,1 +34,Private,Professional,Absent,N/A,N/A,Female,0,40,0 +52,Private,HSgrad,Divorced,Repair,N/A,Male,N/A,40,0 +36,N/A,Yr10,N/A,Machinist,34268.18,Male,0,40,0 +N/A,PSFederal,HSgrad,Absent,Service,112250.05,Female,0,32,0 +73,N/A,Bachelor,Married,Sales,20608.32,N/A,0,50,1 +54,PSLocal,Master,Divorced,Professional,N/A,Female,N/A,40,0 +22,PSLocal,College,N/A,Clerical,72111.64,Female,0,55,0 +45,Private,HSgrad,Married,Repair,37605.81,Male,N/A,40,0 +34,Private,HSgrad,Absent,Machinist,110412.9,Male,N/A,40,0 +53,N/A,Preschool,N/A,Machinist,123739.96,Female,0,35,0 +30,N/A,HSgrad,Married,Machinist,28988.26,Male,N/A,N/A,0 +N/A,PSLocal,Bachelor,Divorced,Professional,296284.55,Female,0,40,0 +25,Private,HSgrad,Absent,Executive,N/A,Male,N/A,45,0 +60,SelfEmp,HSgrad,Married,Clerical,N/A,Female,0,N/A,1 +N/A,Private,Yr10,Divorced,Machinist,68357.88,Female,0,40,0 +23,Private,College,Absent,Sales,48397.69,Male,0,25,0 +31,N/A,College,Married,Repair,N/A,N/A,0,40,1 +N/A,Private,College,Married,N/A,47123.24,Male,0,N/A,0 +74,Consultant,Doctorate,Married-spouse-absent,N/A,40643.16,Male,0,N/A,1 +N/A,Private,HSgrad,Absent,Service,N/A,Female,0,N/A,0 +39,Private,Bachelor,Absent,N/A,57245.29,N/A,0,45,0 +29,Private,College,Absent,N/A,113713.14,Male,0,30,0 +43,Private,Master,Married,N/A,26718.94,Male,N/A,50,1 +26,PSLocal,N/A,Absent,Professional,80090.43,Female,0,40,0 +N/A,N/A,Yr11,Absent,Repair,71065.53,Male,0,N/A,0 +40,N/A,Bachelor,Married,Professional,30140.84,Male,0,60,0 +57,Private,HSgrad,N/A,Clerical,55758.54,N/A,0,36,0 +N/A,Private,HSgrad,Divorced,Repair,N/A,Male,N/A,40,0 +29,Private,College,Married,Cleaner,32079.84,N/A,0,20,0 +36,PSFederal,HSgrad,N/A,N/A,154637.16,Female,0,N/A,0 +N/A,N/A,N/A,Married,Executive,N/A,Male,0,N/A,0 +N/A,Private,N/A,Absent,Cleaner,78338.21,Male,0,20,0 +20,Private,Yr12,Absent,Machinist,N/A,Male,N/A,40,0 +48,Private,HSgrad,N/A,Machinist,116242.34,Female,0,N/A,0 +N/A,Private,HSgrad,Absent,Service,76092.27,Male,0,N/A,0 +N/A,Private,College,Married,N/A,33450.41,Male,0,60,0 +N/A,Private,N/A,Married,N/A,37168.49,Male,0,40,1 +40,Private,College,Married,Machinist,39443.33,N/A,0,40,0 +N/A,N/A,Yr11,Married,Farming,N/A,Male,0,40,0 +23,Private,HSgrad,Absent,Sales,N/A,Male,N/A,40,0 +N/A,Private,College,Married,Machinist,12651.15,N/A,0,N/A,1 +18,Private,HSgrad,Absent,Service,N/A,N/A,0,N/A,0 +N/A,Consultant,Doctorate,Absent,Professional,N/A,Female,0,45,0 +54,Consultant,College,Married,N/A,29282.08,Male,0,N/A,0 +44,Consultant,HSgrad,Married,Farming,22917.76,Male,N/A,N/A,0 +N/A,Private,N/A,Married,Repair,35956.04,Male,0,41,0 +N/A,Private,College,Married,Repair,N/A,Male,0,N/A,1 +38,PSState,Bachelor,N/A,Executive,59178.12,Male,0,40,0 +41,Private,N/A,Divorced,Sales,10747.59,Female,0,48,0 +N/A,Consultant,HSgrad,Married,N/A,72286.49,Male,0,60,0 +21,Private,HSgrad,Absent,Sales,N/A,Male,0,N/A,0 +37,N/A,N/A,Married,Repair,N/A,Male,0,40,0 +41,Private,College,Married,Executive,192398.74,Male,0,40,1 +49,SelfEmp,College,N/A,N/A,189129.57,Female,N/A,65,1 +39,Private,HSgrad,N/A,N/A,89935.48,Male,0,40,0 +24,Private,HSgrad,Divorced,Machinist,55642.17,Male,N/A,40,0 +65,N/A,HSgrad,N/A,Clerical,49027.46,Male,N/A,40,1 +N/A,Private,HSgrad,N/A,Farming,29965.82,Male,0,45,1 +34,Private,Bachelor,N/A,Clerical,81462.83,Female,0,25,0 +33,Private,College,Married,Professional,27593.68,N/A,0,40,0 +30,Private,HSgrad,N/A,Repair,29380.77,Male,1,40,1 +N/A,N/A,Vocational,Married,Executive,20300.74,Male,0,N/A,1 +N/A,Private,N/A,Divorced,Professional,133620.15,Female,0,36,0 +29,Private,HSgrad,Absent,Executive,86241.61,Female,N/A,40,0 +36,N/A,Bachelor,N/A,N/A,7377.51,Male,1,50,1 +45,N/A,Master,Divorced,Professional,25419.27,N/A,N/A,N/A,0 +45,N/A,N/A,N/A,N/A,N/A,Male,0,N/A,0 +40,N/A,Yr10,Absent,Service,166702.86,N/A,N/A,N/A,0 +27,Private,College,N/A,Sales,59321.84,Male,0,50,0 +20,N/A,N/A,N/A,N/A,171960.33,Male,0,40,0 +30,Private,College,N/A,Transport,107142.62,N/A,0,40,0 +47,PSState,HSgrad,Married,N/A,146328.63,N/A,0,N/A,1 +41,Private,College,Divorced,Clerical,59474.99,Female,N/A,55,0 +26,PSLocal,Bachelor,Absent,Clerical,64037.85,Male,0,42,0 +N/A,Consultant,Bachelor,Married,Transport,24800.44,N/A,N/A,N/A,1 +39,Private,Master,Absent,Executive,N/A,N/A,0,50,1 +55,N/A,College,N/A,Professional,N/A,Male,0,N/A,0 +46,Private,HSgrad,Divorced,Professional,126466.42,Female,0,40,0 +N/A,Private,Yr9,N/A,Protective,27989.97,N/A,0,40,0 +51,Private,College,Absent,N/A,75170.57,Female,N/A,12,0 +N/A,N/A,N/A,Absent,Farming,179015.01,Male,1,16,0 +37,PSFederal,College,Married,Machinist,21520.56,Male,N/A,N/A,0 +44,N/A,College,Unmarried,Executive,N/A,Male,1,45,0 +27,N/A,Associate,N/A,N/A,199104.55,Female,0,N/A,0 +N/A,Private,N/A,N/A,Service,155241.01,Female,0,40,0 +N/A,Private,Vocational,Absent,N/A,39249.37,Male,N/A,30,0 +N/A,PSLocal,Associate,Married,Support,N/A,Male,N/A,40,1 +38,Private,N/A,Married,Machinist,N/A,Male,0,40,1 +44,Consultant,College,N/A,Farming,N/A,Male,0,40,0 +52,Private,HSgrad,Married,Repair,38175.16,Male,N/A,50,1 +51,PSLocal,N/A,Married,Transport,50305.81,Male,N/A,40,0 +67,PSState,Doctorate,Married,N/A,15898.03,Male,N/A,12,0 +58,Private,Vocational,Married,N/A,49228.83,N/A,N/A,40,1 +52,SelfEmp,Bachelor,N/A,N/A,N/A,Male,0,55,0 +42,Private,Doctorate,Absent,Professional,N/A,Male,0,N/A,1 +41,N/A,Master,Married,Professional,39795.37,N/A,0,50,1 +53,PSState,Yr10,Married,Transport,N/A,N/A,N/A,N/A,1 +40,N/A,College,Married,Professional,N/A,Female,0,40,0 +41,Private,Bachelor,N/A,Professional,25307.22,Male,N/A,40,0 +60,Consultant,N/A,Married,N/A,36145.47,Male,0,45,0 +39,N/A,N/A,Married,Machinist,32080.22,N/A,1,N/A,0 +29,Private,HSgrad,Divorced,Service,80201.6,Female,N/A,N/A,0 +N/A,N/A,N/A,N/A,N/A,152961.87,Female,0,40,0 +28,Consultant,Bachelor,N/A,N/A,88287.76,Male,N/A,50,1 +40,Private,College,N/A,Service,N/A,Female,N/A,40,0 +21,Private,HSgrad,Absent,Repair,N/A,Male,0,N/A,0 +31,Private,College,N/A,Executive,N/A,Male,0,40,0 +23,N/A,HSgrad,Absent,Farming,27390.28,Male,N/A,40,0 +54,Private,Master,Married,Professional,29811.43,Male,0,N/A,0 +23,Private,Associate,Absent,Sales,N/A,Male,0,40,0 +29,Private,N/A,Married,Service,N/A,N/A,0,40,0 +N/A,PSLocal,College,N/A,N/A,N/A,Male,0,N/A,0 +N/A,Private,College,Divorced,Repair,N/A,Male,0,50,0 +N/A,N/A,N/A,N/A,N/A,57135.48,Female,N/A,45,0 +65,Consultant,N/A,Married,Executive,N/A,Male,N/A,10,1 +37,N/A,College,Married-spouse-absent,N/A,147993.31,Female,N/A,27,0 +21,Private,HSgrad,Absent,Sales,70275.91,Female,0,30,0 +N/A,Private,HSgrad,Married,Repair,22770.44,Male,0,40,0 +54,Private,Vocational,Married,Support,66433.01,N/A,0,N/A,1 +N/A,Private,N/A,Divorced,Clerical,47070.57,Female,0,N/A,0 +N/A,Private,HSgrad,N/A,Machinist,279599.42,Female,0,48,0 +43,PSState,Master,Married,Executive,15762.95,Male,0,40,1 +N/A,Consultant,Yr11,N/A,Cleaner,93671.92,N/A,0,40,0 +64,Private,HSgrad,Widowed,Clerical,N/A,Female,0,30,0 +N/A,PSFederal,College,Divorced,Clerical,111422.53,Female,0,N/A,0 +29,N/A,HSgrad,N/A,N/A,329171.43,Female,0,18,0 +27,Private,N/A,N/A,N/A,N/A,N/A,0,35,0 +50,Private,N/A,Divorced,N/A,145031.73,N/A,0,40,0 +N/A,N/A,Bachelor,Married,N/A,26158.2,N/A,N/A,43,1 +45,Private,Yr9,N/A,Cleaner,59534.87,Male,0,40,0 +39,N/A,HSgrad,N/A,N/A,85565.16,Female,N/A,10,0 +40,N/A,N/A,Divorced,Service,128629.84,N/A,N/A,45,0 +26,Private,Yr12,Absent,Service,199628.02,N/A,0,40,0 +27,Private,College,Married,Repair,27932.75,N/A,N/A,N/A,0 +41,PSLocal,HSgrad,N/A,Transport,108760.33,Female,0,38,0 +29,Private,Bachelor,Married,Repair,30838.37,Male,0,45,0 +32,Private,Yr10,Absent,Repair,229452.89,Male,N/A,40,0 +60,PSState,Master,N/A,Professional,25719.5,Male,N/A,N/A,1 +38,N/A,HSgrad,Married,Transport,N/A,Male,0,40,0 +N/A,PSLocal,Bachelor,Absent,N/A,N/A,Male,N/A,40,0 +41,N/A,College,Divorced,Repair,126239.52,Male,N/A,40,0 +26,Private,Bachelor,Married,Professional,13790.85,Male,0,58,1 +23,Private,Vocational,Absent,Professional,33182.37,Female,N/A,N/A,0 +24,N/A,N/A,N/A,Repair,N/A,Male,0,40,0 +N/A,PSLocal,N/A,N/A,Professional,49859.42,Female,0,46,0 +27,N/A,HSgrad,Married,Clerical,N/A,N/A,N/A,39,0 +36,Private,N/A,N/A,N/A,96900.94,Female,N/A,40,0 +N/A,SelfEmp,N/A,Married,Sales,22536.37,Male,0,40,1 +29,Private,HSgrad,Married,Machinist,53693.92,Male,0,45,0 +N/A,PSState,N/A,Divorced,Protective,161281.24,N/A,0,N/A,0 +N/A,PSFederal,HSgrad,Absent,Executive,38932.19,Female,0,40,0 +41,PSLocal,Master,Divorced,Professional,N/A,Female,0,N/A,0 +31,Private,Bachelor,Divorced,Executive,100095.95,Female,0,50,1 +39,Private,Yr9,Married,Service,136378.92,N/A,0,34,0 +66,Consultant,Yr9,Married,Farming,25973.47,Male,N/A,N/A,1 +39,N/A,College,Married,Clerical,15275.18,Male,0,25,0 +44,Private,Master,Married,Executive,N/A,N/A,N/A,40,1 +22,N/A,College,Absent,N/A,249741.88,Female,0,N/A,0 +43,PSFederal,N/A,N/A,Professional,21737.96,N/A,N/A,40,0 +34,Private,HSgrad,Absent,Repair,59338.83,Male,0,40,0 +N/A,Private,HSgrad,Married,Transport,35751.45,Male,0,40,0 +N/A,Private,Bachelor,Absent,Professional,41992.73,Female,0,9,0 +41,Private,HSgrad,Married,N/A,N/A,Male,0,N/A,0 +32,N/A,College,N/A,N/A,176806.47,Female,N/A,N/A,0 +24,N/A,HSgrad,Absent,Cleaner,101594.16,Male,N/A,N/A,0 +45,N/A,HSgrad,Married,Farming,39403.87,N/A,0,40,0 +56,Private,N/A,N/A,Machinist,N/A,Male,0,N/A,0 +53,Consultant,HSgrad,Married,Farming,N/A,Male,N/A,N/A,0 +27,Consultant,HSgrad,Absent,Repair,72408.32,Male,0,30,0 +32,N/A,Vocational,Absent,Service,N/A,Male,0,N/A,0 +31,N/A,Bachelor,Divorced,N/A,122380.38,Male,0,60,0 +39,Private,HSgrad,Married,Repair,N/A,Male,0,40,1 +N/A,Private,Yr10,Married,Transport,60708.32,N/A,0,N/A,0 +32,Private,HSgrad,Divorced,Clerical,115759.45,Female,N/A,N/A,0 +51,Consultant,Yr10,Widowed,Transport,38448.49,Female,N/A,40,0 +50,Private,HSgrad,Married-spouse-absent,Cleaner,N/A,Female,0,40,0 +29,Private,N/A,Married,Transport,16596.93,Male,0,40,0 +41,Private,Bachelor,Absent,Professional,N/A,Male,0,40,1 +31,Private,N/A,Absent,N/A,266708.54,Male,0,45,0 +34,Private,HSgrad,Absent,Repair,65181.4,Male,0,N/A,0 +30,Private,HSgrad,Married,N/A,N/A,N/A,0,40,0 +26,Private,Yr11,Absent,Machinist,N/A,Female,0,N/A,0 +64,Private,N/A,N/A,Executive,29018.13,Male,0,N/A,0 +46,Private,Bachelor,Absent,Professional,104411.29,Male,0,60,0 +N/A,N/A,Bachelor,Married,Executive,29372.19,Male,0,40,0 +N/A,Private,N/A,N/A,Machinist,N/A,Male,0,N/A,1 +34,Private,College,Unmarried,Machinist,69650.32,N/A,N/A,40,0 +50,PSLocal,Master,N/A,N/A,54815.01,Female,0,30,0 +45,N/A,N/A,Married,Clerical,273024.98,Female,0,40,1 +N/A,Private,HSgrad,N/A,Home,N/A,N/A,0,25,0 +45,N/A,HSgrad,Married,Executive,N/A,N/A,N/A,N/A,0 +33,PSLocal,N/A,Absent,Protective,83998.37,Male,0,N/A,0 +N/A,Private,College,Absent,Sales,119648.25,Male,0,40,0 +N/A,Private,Bachelor,Absent,Clerical,302473.86,Female,0,40,0 +22,Private,HSgrad,N/A,Service,151717.77,Female,0,19,0 +45,PSLocal,HSgrad,Unmarried,Service,191903.12,Female,0,40,0 +N/A,N/A,Vocational,Married,Repair,N/A,Male,0,N/A,0 +23,Private,N/A,N/A,Executive,190071.74,N/A,0,40,0 +17,Private,Yr12,Absent,Cleaner,N/A,N/A,0,17,0 +N/A,Private,College,Married,Machinist,43274.45,Male,N/A,40,1 +N/A,N/A,Yr11,Married,Repair,N/A,N/A,N/A,60,1 +61,Private,N/A,Married,Executive,163175.67,Female,0,N/A,1 +31,Private,N/A,Divorced,Transport,105269.72,Male,0,45,0 +N/A,N/A,Master,Married-spouse-absent,Professional,N/A,Female,0,40,0 +42,Private,College,Married,N/A,58980.99,Male,N/A,N/A,1 +28,Private,Doctorate,Absent,Clerical,73107.98,Male,0,18,0 +21,Private,College,N/A,Machinist,243764.23,N/A,0,N/A,0 +33,Private,N/A,Married,Cleaner,48116.66,Male,0,40,0 +N/A,Private,N/A,Divorced,Service,100775.05,Male,N/A,N/A,0 +22,N/A,N/A,Absent,Cleaner,N/A,Male,1,40,1 +N/A,Private,Vocational,Unmarried,N/A,240485.92,Female,N/A,35,0 +37,Private,Master,Married,N/A,24992.3,Male,0,45,1 +65,N/A,Bachelor,Absent,Executive,26076.22,Male,0,40,0 +28,Private,Bachelor,Absent,Professional,9541.93,Female,0,40,0 +30,Private,N/A,Widowed,Clerical,N/A,Female,N/A,N/A,0 +47,Private,Yr11,Divorced,Service,107450.83,Female,0,40,0 +34,Private,College,N/A,Sales,87586.93,Female,0,40,0 +57,N/A,Master,Married,Protective,21467.02,N/A,0,14,1 +57,Private,N/A,Married,Transport,N/A,Male,0,40,0 +N/A,Private,HSgrad,Divorced,Sales,63446.23,N/A,0,35,0 +46,PSState,Vocational,Divorced,Clerical,N/A,N/A,0,38,0 +51,Private,HSgrad,Divorced,Professional,N/A,Female,0,N/A,0 +40,PSLocal,HSgrad,Absent,Service,N/A,N/A,N/A,40,0 +55,Private,College,Married,Repair,N/A,N/A,0,40,0 +50,SelfEmp,HSgrad,Married,Farming,4930.3,Male,0,50,0 +N/A,Private,College,Married,Service,195744.31,Female,0,N/A,0 +42,PSLocal,HSgrad,Married,N/A,43027.27,N/A,0,N/A,0 +31,Private,Doctorate,Married,Professional,39068.04,N/A,0,40,0 +N/A,N/A,N/A,N/A,Machinist,174325.46,Male,0,40,0 +34,Private,College,Married,N/A,30033.75,N/A,0,40,0 +N/A,SelfEmp,College,N/A,Sales,67669.6,Female,0,35,0 +65,Consultant,N/A,N/A,Executive,N/A,Male,0,24,0 +47,Private,Yr9,Absent,Service,208195.84,Female,0,50,0 +N/A,Consultant,HSgrad,Married,Transport,32418.68,N/A,0,45,0 +41,PSState,N/A,N/A,N/A,2584.53,Male,0,40,0 +49,SelfEmp,N/A,Divorced,Executive,N/A,Female,0,40,0 +22,Private,HSgrad,Absent,N/A,79019.51,N/A,0,60,0 +42,N/A,N/A,Married,Executive,46796.14,Male,0,40,1 +36,Private,N/A,Married,Professional,14220.59,Male,N/A,55,1 +36,N/A,Associate,Married,Professional,68166.53,Male,N/A,N/A,1 +62,Consultant,Bachelor,Divorced,Professional,63454.72,Female,0,40,1 +24,N/A,Bachelor,Absent,Farming,N/A,Male,N/A,40,0 +46,N/A,N/A,Married,Transport,18752.31,Male,N/A,N/A,0 +46,N/A,Bachelor,Married,Clerical,23064.1,Male,1,N/A,1 +52,Private,Yr10,Married,Transport,43220.42,Male,0,45,0 +27,Private,HSgrad,Married,N/A,12631.84,Male,0,40,0 +N/A,N/A,Vocational,N/A,Professional,242928.15,N/A,N/A,40,0 +43,Consultant,N/A,Married,Repair,19833.16,Male,0,N/A,0 +N/A,SelfEmp,Bachelor,Divorced,Executive,79424.23,N/A,0,50,0 +N/A,Private,Bachelor,Divorced,Executive,138108.83,Female,0,45,1 +N/A,SelfEmp,Associate,Married,Sales,N/A,Male,0,40,1 +38,Private,HSgrad,Divorced,Repair,N/A,Male,0,N/A,0 +57,Private,Yr10,Married,Machinist,12951.57,Male,0,40,0 +19,Private,HSgrad,Absent,Machinist,N/A,Male,0,30,0 +25,Private,College,N/A,Clerical,30693.55,Male,0,N/A,0 +31,Private,HSgrad,N/A,Repair,21015.93,Male,0,N/A,0 +40,Private,Vocational,Absent,Clerical,82953.38,Female,N/A,40,0 +N/A,Private,HSgrad,Absent,Service,174501.6,Male,N/A,35,0 +46,N/A,HSgrad,N/A,Repair,34962.4,Male,0,40,0 +27,Private,Bachelor,N/A,Professional,34754.32,Male,0,42,1 +N/A,Private,Master,N/A,N/A,39564.87,Male,0,40,1 +17,N/A,Yr11,Absent,Service,134913.32,N/A,0,15,0 +58,PSLocal,HSgrad,Married,N/A,33730.79,N/A,0,40,1 +N/A,Private,Master,Married,N/A,52706.14,Male,N/A,40,1 +N/A,Private,N/A,Unmarried,Cleaner,N/A,Male,0,40,0 +34,N/A,HSgrad,N/A,N/A,N/A,N/A,0,40,0 +47,Private,HSgrad,Absent,Clerical,16724.7,Male,N/A,33,0 +26,Private,Associate,Absent,N/A,N/A,Male,N/A,N/A,0 +48,Private,N/A,Married,Repair,N/A,Male,N/A,N/A,0 +39,N/A,N/A,Absent,N/A,N/A,Female,N/A,N/A,0 +N/A,N/A,Yr9,N/A,Transport,50564.64,N/A,0,99,0 +33,Consultant,Bachelor,Absent,Sales,69232.77,N/A,N/A,40,0 +N/A,Consultant,N/A,Married,Executive,55981.64,Male,0,N/A,0 +33,PSLocal,Bachelor,Married,Protective,36228.26,Male,0,70,1 +35,N/A,Bachelor,Married,Executive,56791.05,Male,N/A,47,1 +33,Private,College,Absent,Service,N/A,Female,0,28,0 +56,N/A,Bachelor,Married,Sales,42603.57,N/A,0,40,1 +45,N/A,N/A,Divorced,Executive,107961.84,Male,N/A,50,0 +66,Private,Bachelor,Married,N/A,33987.22,Male,0,15,1 +46,PSState,HSgrad,N/A,N/A,48807.28,N/A,0,N/A,1 +23,Private,Associate,N/A,Sales,92970.53,N/A,0,N/A,0 +N/A,N/A,Associate,Divorced,Executive,112480.86,Male,0,40,1 +21,N/A,HSgrad,Absent,Sales,N/A,Female,N/A,N/A,0 +46,N/A,HSgrad,Divorced,Executive,56889.59,Female,0,N/A,0 +37,Private,N/A,N/A,Clerical,N/A,Male,0,38,0 +58,N/A,N/A,Married,Executive,N/A,Male,0,40,1 +43,Private,HSgrad,Divorced,Executive,N/A,Female,0,40,0 +28,Private,Bachelor,N/A,N/A,81967.31,Female,0,N/A,0 +N/A,N/A,HSgrad,Absent,Executive,116076.42,N/A,0,45,0 +19,Private,N/A,Absent,Cleaner,N/A,Male,0,35,0 +68,Private,N/A,Married,Repair,N/A,Male,N/A,44,0 +N/A,SelfEmp,N/A,Married,N/A,48852.77,Male,0,N/A,1 +31,Consultant,HSgrad,N/A,N/A,N/A,N/A,1,40,1 +N/A,PSState,Master,Married,Professional,N/A,Male,0,50,1 +50,Private,HSgrad,N/A,N/A,59745.14,Male,0,40,1 +N/A,N/A,HSgrad,Absent,Service,129388.23,Female,0,20,0 +57,N/A,HSgrad,Married,Executive,53313.24,Male,0,1,0 +N/A,N/A,N/A,N/A,Service,113834.61,Female,0,N/A,0 +34,N/A,College,N/A,Transport,57302.55,Male,1,40,0 +37,Private,HSgrad,Married,Repair,26674.21,Male,0,40,0 +49,PSState,Master,Married,N/A,38082.1,N/A,0,45,1 +41,N/A,HSgrad,Married,N/A,46992.2,Male,1,40,1 +38,Private,College,Divorced,Sales,94304.23,Female,0,40,0 +N/A,Private,HSgrad,Married,Clerical,N/A,N/A,0,45,0 +35,Private,HSgrad,Married,Cleaner,42134.13,Male,0,N/A,0 +41,N/A,HSgrad,N/A,Sales,176293.81,Female,N/A,40,0 +56,N/A,Bachelor,Married,Repair,17996.83,N/A,0,40,0 +N/A,Private,N/A,Absent,Support,N/A,Female,0,40,0 +19,Private,College,Absent,Repair,222208.64,Male,0,40,0 +32,Private,Bachelor,N/A,Sales,66145.39,Male,0,50,1 +37,Private,HSgrad,Married,N/A,38208.31,N/A,N/A,50,0 +44,SelfEmp,N/A,Married,Repair,N/A,Male,0,58,1 +44,N/A,Bachelor,Married,Executive,48292.14,Male,0,48,0 +26,Private,Bachelor,N/A,Service,67468.36,Male,0,30,0 +40,Private,N/A,Divorced,Service,N/A,Female,N/A,20,0 +N/A,SelfEmp,HSgrad,Married,Repair,7933.4,Male,0,40,0 +30,Private,HSgrad,N/A,Machinist,42654.08,Male,0,40,0 +24,N/A,Bachelor,Absent,Professional,60796.94,Male,N/A,45,0 +N/A,Private,Associate,Absent,N/A,N/A,Male,0,30,0 +25,N/A,N/A,Absent,Clerical,N/A,Female,N/A,40,0 +24,N/A,N/A,N/A,Clerical,117086.88,Female,0,40,0 +N/A,Private,College,Married,Sales,33975.92,Male,0,N/A,1 +18,Private,HSgrad,Absent,N/A,109846.82,Female,N/A,N/A,0 +32,Consultant,HSgrad,Married,Service,89398.02,Female,0,5,0 +34,Private,HSgrad,Divorced,Clerical,N/A,Female,N/A,35,0 +24,N/A,Bachelor,N/A,Executive,166052.52,N/A,0,45,1 +39,Private,Professional,Divorced,Professional,70847.77,Male,0,70,1 +32,Private,N/A,Divorced,Professional,91745.36,Female,0,30,0 +27,Private,College,Absent,Clerical,44527.23,Female,0,40,0 +25,N/A,College,Married,Clerical,177114.9,N/A,N/A,56,1 +17,Private,N/A,N/A,Home,N/A,N/A,0,N/A,0 +N/A,N/A,HSgrad,Widowed,Machinist,N/A,Female,0,N/A,0 +59,N/A,College,N/A,Clerical,N/A,Female,0,34,0 +23,Private,College,Absent,Service,88744.88,Male,0,N/A,0 +46,PSLocal,N/A,Absent,N/A,62609.31,N/A,0,40,0 +45,Private,Bachelor,Married,Executive,40475.97,N/A,0,N/A,1 +35,N/A,N/A,N/A,N/A,24147.69,Male,N/A,50,1 +38,Private,N/A,Married,Repair,N/A,Male,0,40,0 +N/A,Private,Bachelor,N/A,Support,189962.59,Male,0,N/A,0 +N/A,Private,N/A,Married-spouse-absent,Repair,164211.16,Female,N/A,N/A,0 +22,Private,College,Absent,Cleaner,N/A,Male,0,N/A,0 +44,N/A,HSgrad,N/A,Transport,33651.43,Male,0,N/A,0 +62,N/A,HSgrad,Married,Service,N/A,Male,N/A,40,1 +27,N/A,Bachelor,Absent,Executive,229417.24,Female,0,40,0 +35,N/A,HSgrad,Married,N/A,314194.62,Female,N/A,40,0 +59,PSLocal,Yr10,N/A,N/A,25218.36,Male,0,40,0 +30,Private,College,Divorced,Professional,N/A,Female,N/A,40,0 +N/A,Private,HSgrad,Absent,Sales,197192.92,Female,0,N/A,0 +59,PSLocal,Bachelor,Married,N/A,11008.39,Male,0,50,1 +18,Private,N/A,Absent,Repair,N/A,Male,0,5,0 +22,N/A,Vocational,Absent,N/A,106734.77,Female,N/A,36,0 +N/A,Private,N/A,N/A,Clerical,162093.26,Female,0,N/A,0 +66,Private,HSgrad,Widowed,Sales,96057.04,N/A,0,40,1 +49,PSState,Master,Divorced,Professional,N/A,Female,0,40,1 +32,N/A,Bachelor,N/A,Service,66932.76,N/A,0,40,0 +N/A,Private,College,Divorced,N/A,N/A,Female,0,30,0 +33,Private,N/A,Married,Farming,48288.7,Male,0,40,0 +N/A,PSLocal,Yr5t6,Married,N/A,48618.95,Male,N/A,20,0 +34,Private,N/A,Married,N/A,N/A,Male,0,40,1 +41,Private,HSgrad,N/A,N/A,49161.35,Male,0,N/A,0 +50,PSLocal,N/A,Married,Protective,41471.41,Male,0,44,1 +35,Private,Vocational,N/A,Service,27632.54,Female,N/A,65,0 +31,Private,Vocational,Absent,Service,81517.56,N/A,N/A,N/A,0 +55,Private,Bachelor,N/A,N/A,53577.25,Male,0,40,1 +33,Private,HSgrad,N/A,N/A,N/A,N/A,N/A,N/A,0 +40,PSFederal,HSgrad,N/A,Executive,19944.35,Male,0,40,1 +50,SelfEmp,College,Married,N/A,38682.78,N/A,0,N/A,0 +71,Private,Bachelor,N/A,Executive,N/A,Female,N/A,14,0 +65,Consultant,Yr9,Married,Repair,47063.94,N/A,0,45,0 +36,Consultant,HSgrad,N/A,Service,N/A,Female,N/A,16,0 +N/A,Private,Yr5t6,Married,Repair,49389.22,Male,0,40,0 +41,N/A,HSgrad,Married,Machinist,N/A,Male,0,40,0 +N/A,Private,Bachelor,Married,Sales,30242.65,Male,0,50,0 +51,Private,N/A,Married,Cleaner,65007.68,Male,0,50,0 +83,N/A,HSgrad,Widowed,Protective,65460.8,Male,N/A,N/A,0 +N/A,Consultant,College,N/A,Professional,49297.77,Male,1,35,0 +66,Private,N/A,Widowed,N/A,60987.96,Female,0,25,0 +N/A,SelfEmp,Vocational,Divorced,Sales,62300.23,Male,N/A,56,0 +46,PSLocal,Bachelor,Married,Protective,N/A,Male,0,40,1 +N/A,Private,Master,N/A,Executive,N/A,Male,0,45,1 +41,Private,HSgrad,Married,Executive,32833.32,Male,N/A,40,1 +N/A,Private,College,Married,Transport,N/A,Male,N/A,60,0 +28,Private,Bachelor,N/A,N/A,481259.5,N/A,0,40,1 +40,Private,Yr11,N/A,Machinist,146014.32,N/A,0,N/A,0 +27,Private,HSgrad,Absent,Executive,N/A,Female,0,N/A,0 +48,PSFederal,Bachelor,Divorced,Executive,51903.79,N/A,0,45,0 +38,PSLocal,HSgrad,Married,Transport,N/A,Male,0,40,0 +N/A,PSLocal,N/A,Absent,Clerical,N/A,Female,0,40,1 +N/A,Private,College,Absent,Service,106813.49,N/A,0,32,0 +25,Private,Bachelor,Absent,Sales,169922,N/A,0,40,0 +47,Private,HSgrad,Divorced,Service,196408.98,Female,0,40,0 +46,Private,Bachelor,N/A,Executive,46716.6,Male,0,40,1 +35,N/A,HSgrad,N/A,Service,284810.56,Female,0,40,0 +46,N/A,Bachelor,N/A,Machinist,121294.18,N/A,1,N/A,0 +25,Private,N/A,Absent,N/A,69059.63,Male,0,50,0 +N/A,PSFederal,HSgrad,Married,Clerical,25092.81,Male,0,40,0 +20,N/A,College,Absent,Sales,128364.91,Male,0,20,0 +21,Private,HSgrad,Absent,Machinist,N/A,N/A,0,N/A,0 +47,Private,Vocational,Absent,Service,80477.09,N/A,0,40,0 +23,Private,HSgrad,N/A,N/A,N/A,Male,0,N/A,0 +23,N/A,Yr11,N/A,Cleaner,55206.8,Male,0,40,0 +66,Private,HSgrad,N/A,Sales,N/A,Female,0,35,0 +42,N/A,Master,N/A,Executive,31457.77,Male,0,45,0 +24,Private,Bachelor,Absent,Sales,112617.59,Male,0,N/A,0 +46,N/A,Vocational,Divorced,Support,144181.15,N/A,N/A,N/A,0 +67,Private,N/A,N/A,N/A,79554.22,Female,0,40,0 +28,PSLocal,College,N/A,Clerical,44411.01,Female,0,N/A,0 +48,N/A,Master,Married,Professional,N/A,Male,N/A,N/A,1 +42,SelfEmp,Bachelor,N/A,Clerical,216373,Female,N/A,35,0 +48,Private,HSgrad,Married,Cleaner,235077.88,N/A,N/A,40,0 +18,Private,N/A,Absent,Service,55889.47,Male,0,8,0 +N/A,Private,College,Widowed,Sales,134361.82,Female,N/A,45,0 +53,N/A,N/A,Married,Executive,30441.04,Male,N/A,45,1 +N/A,Private,N/A,N/A,Support,36457.74,N/A,0,40,1 +48,Private,N/A,Absent,N/A,15481.2,Male,N/A,40,0 +38,N/A,Bachelor,Married,N/A,41845.12,Male,N/A,N/A,1 +N/A,Private,HSgrad,Unmarried,Machinist,176485.25,Male,0,40,0 +57,Private,HSgrad,Widowed,N/A,164663.6,Male,0,N/A,0 +N/A,Private,College,Absent,N/A,92535.68,N/A,0,45,0 +44,N/A,Vocational,Married,Executive,N/A,Male,0,40,0 +31,N/A,College,Unmarried,Cleaner,88116.45,Male,N/A,40,0 +57,Private,N/A,Married,N/A,42522.57,N/A,0,40,0 +24,N/A,HSgrad,N/A,Clerical,106167.56,Female,N/A,N/A,0 +69,Private,Yr5t6,Married,N/A,N/A,Male,1,40,0 +N/A,N/A,HSgrad,Married,Farming,N/A,Male,0,55,0 +27,Private,N/A,Married,Cleaner,N/A,Male,N/A,40,0 +28,Private,N/A,Married,N/A,239217.93,N/A,0,40,0 +61,N/A,Bachelor,N/A,N/A,50401.28,Male,N/A,50,1 +30,Private,College,Married,N/A,15097.86,N/A,0,40,1 +25,Private,Bachelor,Absent,Support,244248.76,N/A,0,40,0 +59,PSLocal,N/A,Divorced,Clerical,N/A,Female,0,N/A,0 +37,Private,Yr5t6,N/A,Service,60542.61,Male,0,40,0 +26,Private,N/A,Divorced,N/A,81147.27,Female,0,40,0 +41,N/A,N/A,Unmarried,N/A,66294.52,Male,0,40,0 +51,Private,Bachelor,Absent,Sales,N/A,N/A,1,43,1 +27,Private,N/A,Divorced,Machinist,172504.15,Male,1,40,0 +37,N/A,N/A,Married,Repair,22745.9,Male,N/A,N/A,0 +28,Private,Yr10,N/A,N/A,218597.45,N/A,0,40,0 +43,Private,HSgrad,Absent,Professional,117813.86,Male,0,40,0 +N/A,N/A,Associate,N/A,N/A,66415.75,Female,0,40,0 +43,SelfEmp,College,Married,Executive,34585.86,Male,0,N/A,1 +45,Private,HSgrad,Absent,N/A,N/A,N/A,0,40,0 +32,Private,HSgrad,Absent,Farming,132527.18,N/A,0,40,0 +21,Private,N/A,Absent,Clerical,N/A,Female,0,N/A,0 +N/A,N/A,College,Absent,N/A,N/A,Male,N/A,N/A,0 +30,N/A,N/A,Married,Cleaner,43547.15,N/A,0,60,0 +44,Consultant,Master,Absent,N/A,N/A,Male,0,99,0 +N/A,Private,Yr7t8,Absent,N/A,127464.3,Male,0,30,0 +60,N/A,N/A,Divorced,Professional,N/A,Female,N/A,10,0 +49,PSFederal,College,Married,Repair,48438.96,N/A,0,40,0 +22,Private,HSgrad,N/A,Repair,65813.54,Male,0,35,0 +47,N/A,HSgrad,Married,Clerical,201977.13,Female,0,20,1 +N/A,Private,N/A,Absent,Professional,82291.28,Male,0,40,0 +30,Private,Master,Absent,Professional,95314.79,Male,0,40,0 +24,Consultant,College,Unmarried,Cleaner,70069.45,Male,N/A,45,0 +43,N/A,Yr10,Married,Transport,32075.56,Male,0,40,0 +N/A,N/A,Bachelor,N/A,N/A,68034.9,Female,0,55,0 +57,Private,Master,N/A,Executive,26521.5,Male,1,40,1 +24,N/A,College,Absent,N/A,139763.94,Male,0,24,0 +24,N/A,N/A,Absent,Service,N/A,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Transport,44957.03,Male,0,50,0 +N/A,N/A,HSgrad,N/A,N/A,N/A,Male,0,N/A,0 +40,Private,HSgrad,Divorced,Service,76714.87,Male,0,40,0 +27,Private,HSgrad,Divorced,Clerical,278897.99,N/A,0,40,0 +30,Private,HSgrad,N/A,Executive,144481.36,N/A,0,40,0 +44,Private,Bachelor,Married,N/A,N/A,Male,1,50,1 +31,Private,HSgrad,Divorced,Clerical,225049.48,Female,0,38,0 +18,Private,Yr11,Absent,N/A,65037.68,Male,0,N/A,0 +39,N/A,HSgrad,Absent,Repair,45401.02,Male,1,50,1 +N/A,Private,Master,N/A,N/A,N/A,N/A,1,60,1 +N/A,Private,HSgrad,Absent,N/A,N/A,Female,0,48,0 +46,N/A,N/A,Absent,Repair,N/A,Female,0,48,0 +45,N/A,N/A,Married,N/A,34120.79,Male,0,40,1 +62,PSState,Master,Married,N/A,27452.47,N/A,0,60,1 +36,Private,Yr10,Married,Repair,29073.78,N/A,0,40,0 +25,SelfEmp,Associate,N/A,Sales,N/A,N/A,0,60,0 +N/A,N/A,HSgrad,Married,Machinist,135665.63,Female,0,40,0 +38,Private,College,Absent,Sales,193681.15,N/A,0,50,0 +26,Private,College,Absent,N/A,195976.31,N/A,0,20,0 +28,Private,Yr7t8,N/A,N/A,114956.87,N/A,0,N/A,0 +N/A,Private,HSgrad,Married,N/A,23972.13,Male,0,N/A,0 +N/A,Private,College,Absent,N/A,164461.64,N/A,0,43,0 +38,Private,N/A,Married,Executive,31609.41,Male,N/A,N/A,1 +N/A,PSLocal,HSgrad,Widowed,N/A,110146.06,N/A,1,N/A,0 +45,Private,Doctorate,Married,N/A,25651.97,Male,0,50,1 +39,N/A,Associate,Widowed,Clerical,N/A,Female,0,45,0 +N/A,Private,N/A,Absent,Cleaner,120980.4,Male,0,40,0 +N/A,Private,HSgrad,Married,Farming,48301.94,Male,0,60,0 +44,N/A,Vocational,Married,Executive,9528.22,Male,0,40,0 +N/A,Consultant,College,Absent,Service,23291.16,Female,0,20,0 +29,Private,College,N/A,Home,97217.72,Female,N/A,30,0 +21,N/A,Yr11,Absent,Professional,N/A,Female,0,24,0 +N/A,Private,N/A,Married,Sales,11616.92,Male,0,N/A,0 +40,SelfEmp,Master,Married,Sales,N/A,Male,0,70,1 +38,N/A,HSgrad,Divorced,N/A,N/A,N/A,0,N/A,0 +N/A,PSLocal,N/A,N/A,N/A,38001.7,Male,0,40,0 +N/A,Private,HSgrad,N/A,Sales,2378.63,Male,0,N/A,0 +N/A,SelfEmp,College,N/A,Sales,50055.68,Male,0,N/A,1 +23,Private,HSgrad,Absent,Transport,153876.57,Male,0,40,0 +58,Private,N/A,N/A,Farming,3150,Male,0,N/A,0 +34,Private,N/A,Married,Service,N/A,Male,N/A,62,0 +51,N/A,Master,Absent,Professional,90090.03,Male,0,40,1 +N/A,Private,Yr9,Absent,N/A,90825.33,Male,0,49,0 +19,N/A,N/A,Absent,N/A,56946.06,N/A,0,20,0 +38,Private,N/A,Married,Executive,N/A,Male,0,40,1 +35,Private,Bachelor,Married,Service,26682.44,Male,0,20,1 +N/A,N/A,Associate,Married,Repair,35224.3,Male,0,60,1 +23,Private,N/A,Married,Cleaner,20261.1,Male,0,N/A,0 +49,Private,Yr7t8,Married,N/A,24076.66,Male,0,48,0 +36,Private,N/A,Widowed,Cleaner,178082.65,Female,0,30,0 +20,N/A,N/A,Absent,Service,117717.61,Male,0,40,0 +35,SelfEmp,College,Married,Sales,11328.85,Male,0,60,1 +37,PSState,N/A,Absent,N/A,67520.29,Male,0,N/A,0 +29,N/A,Master,Absent,Professional,N/A,N/A,0,40,0 +26,Private,College,Absent,Executive,83863.35,N/A,0,N/A,0 +38,Consultant,N/A,N/A,Sales,35520.73,N/A,0,64,0 +N/A,Private,N/A,N/A,Professional,N/A,Female,0,50,1 +36,Private,N/A,Married,Executive,52940.73,Male,0,N/A,0 +40,PSFederal,Master,Absent,N/A,89901.16,Male,0,40,0 +36,PSFederal,N/A,Married,Support,51114.65,Male,N/A,40,0 +32,N/A,Bachelor,N/A,Professional,74199.12,Male,N/A,N/A,1 +50,Consultant,HSgrad,N/A,Professional,43445.15,Female,0,60,0 +47,PSLocal,College,N/A,Executive,56729.66,N/A,N/A,56,1 +54,Private,HSgrad,Married,Repair,5360.35,Male,0,44,0 +N/A,Private,Bachelor,Married,Support,113867.76,Female,0,40,1 +37,Private,Bachelor,Married,Professional,39289.48,Male,0,N/A,1 +44,N/A,HSgrad,Married,N/A,N/A,Male,0,40,1 +40,Private,N/A,Married,Repair,N/A,Male,0,N/A,0 +27,Private,College,N/A,N/A,108664.63,N/A,0,N/A,0 +N/A,Private,Bachelor,Married,Support,34606.74,Male,N/A,40,0 +45,Private,N/A,Married,N/A,198316.61,Female,N/A,35,1 +32,PSState,Bachelor,Married,Executive,134250.87,Female,N/A,55,1 +19,Private,N/A,Absent,Clerical,260015.72,Female,N/A,20,0 +22,Private,HSgrad,Absent,N/A,N/A,N/A,0,40,0 +40,N/A,N/A,Absent,Machinist,111604.03,Female,0,40,0 +45,PSState,HSgrad,Divorced,Support,N/A,N/A,0,40,0 +45,PSState,Professional,Divorced,N/A,105763.11,Female,0,43,0 +N/A,N/A,N/A,N/A,N/A,N/A,Female,N/A,60,0 +N/A,Private,Yr7t8,Married,Cleaner,N/A,Male,0,30,0 +53,Private,N/A,Divorced,Machinist,102342.44,Male,0,N/A,0 +45,Private,HSgrad,Divorced,Clerical,N/A,N/A,N/A,38,0 +N/A,Private,HSgrad,N/A,N/A,37598.92,Male,0,50,0 +61,Consultant,N/A,N/A,N/A,29392.56,Male,N/A,N/A,0 +20,Private,Vocational,Absent,Service,180841.47,Female,N/A,N/A,0 +31,Private,N/A,Married,N/A,36692.7,N/A,0,48,1 +29,N/A,Yr10,N/A,Professional,78257.05,Male,0,40,0 +29,Private,Doctorate,N/A,N/A,128737.61,Male,0,40,0 +N/A,Private,HSgrad,Married,Repair,35987.72,N/A,0,60,0 +21,Private,Preschool,Absent,N/A,N/A,Male,0,50,0 +37,Private,HSgrad,N/A,N/A,214984.25,Female,0,60,0 +34,PSState,HSgrad,Unmarried,Clerical,138982.23,Female,0,20,0 +40,Private,College,Married,Professional,39459.43,Male,0,N/A,1 +33,Private,College,Married,Machinist,12121.85,N/A,N/A,55,0 +42,PSFederal,N/A,Married,Executive,N/A,Male,0,52,1 +N/A,Private,Vocational,N/A,Executive,33700.67,Male,0,40,0 +58,Private,Bachelor,Married,Professional,N/A,Male,0,40,1 +N/A,Private,N/A,Absent,Transport,N/A,N/A,0,50,0 +33,Private,HSgrad,N/A,Service,158246.58,N/A,0,40,0 +46,Private,Bachelor,Married,Sales,N/A,N/A,0,50,1 +51,PSLocal,Doctorate,Married,Professional,58901.13,Female,0,40,1 +22,Private,HSgrad,N/A,Transport,179631.06,Male,N/A,N/A,0 +23,Private,HSgrad,Absent,Support,105740.62,Male,N/A,N/A,0 +N/A,Private,Yr7t8,Absent,N/A,97678.27,Male,0,40,0 +30,N/A,N/A,Married,Service,N/A,N/A,N/A,40,0 +30,Private,Vocational,Married-spouse-absent,Clerical,56324.13,Female,0,N/A,0 +27,Private,HSgrad,Married,Repair,50784.51,Male,0,40,1 +N/A,Private,N/A,Absent,Executive,190280.44,N/A,0,N/A,0 +46,Private,Yr5t6,Absent,Machinist,N/A,Female,0,N/A,0 +N/A,Private,HSgrad,Absent,Service,131220.35,Male,0,25,0 +21,Private,College,N/A,N/A,142964.61,Female,0,20,0 +51,N/A,HSgrad,N/A,Support,50330.96,Male,0,40,0 +N/A,PSLocal,HSgrad,N/A,Protective,96788.66,Female,0,40,0 +N/A,N/A,Bachelor,Married,Executive,12860.37,Male,0,40,1 +N/A,Private,Bachelor,Married,Repair,25755.81,Male,0,50,0 +N/A,N/A,Yr11,Absent,Service,160238.05,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Sales,N/A,Male,0,50,0 +23,Private,Associate,Married,Sales,N/A,Female,N/A,25,0 +35,Private,Bachelor,Married,N/A,325013.98,Female,N/A,N/A,1 +40,Consultant,HSgrad,Divorced,N/A,73617.56,Male,0,50,0 +27,Private,Yr10,Absent,Service,69852.03,Male,0,40,0 +N/A,N/A,College,Absent,Professional,N/A,N/A,0,40,0 +20,Private,College,N/A,Service,N/A,Male,N/A,30,0 +38,Private,Associate,Married,Sales,47401.48,Male,0,50,1 +61,Private,Doctorate,Married,Professional,40935.01,N/A,N/A,40,1 +55,PSState,Master,N/A,Professional,N/A,Male,0,45,1 +26,Private,N/A,Absent,N/A,57726.47,Female,0,40,0 +36,SelfEmp,College,N/A,N/A,9113.89,N/A,0,N/A,1 +59,PSState,Bachelor,Absent,Executive,N/A,Female,0,40,0 +N/A,Private,Yr10,Married,Sales,N/A,N/A,N/A,40,0 +27,N/A,HSgrad,Married,N/A,10662.97,Male,0,53,0 +39,N/A,N/A,Divorced,N/A,274431.1,Female,0,N/A,0 +45,PSFederal,HSgrad,N/A,Clerical,N/A,N/A,1,40,0 +N/A,N/A,Bachelor,Married,Professional,N/A,N/A,0,40,0 +23,N/A,College,Absent,Clerical,126590.09,Female,0,40,0 +32,Private,College,Absent,Sales,N/A,Female,0,40,0 +32,N/A,Yr10,Married,Repair,37420.49,Male,0,40,1 +N/A,Private,HSgrad,Absent,N/A,N/A,Male,N/A,N/A,0 +56,Private,N/A,Absent,Cleaner,N/A,Male,N/A,N/A,0 +24,Private,College,N/A,Farming,102611.6,N/A,0,N/A,0 +19,N/A,N/A,Absent,Sales,87617.15,Female,0,24,0 +52,Consultant,College,Married,Support,28753.79,Male,0,60,1 +31,Private,Yr9,N/A,Machinist,42408.09,Male,0,40,0 +47,Private,College,Married,Repair,38787.53,Male,0,40,0 +46,Private,College,Married,N/A,100347.61,Female,0,40,1 +17,Private,Yr9,Absent,Transport,61681.73,Male,0,20,0 +21,N/A,College,Absent,Clerical,154890.3,Female,N/A,15,0 +44,PSLocal,N/A,Absent,Repair,N/A,N/A,0,44,0 +34,N/A,Associate,Married,Sales,N/A,Male,1,50,1 +35,Private,Bachelor,Married,Executive,N/A,N/A,N/A,45,1 +21,Private,College,Absent,N/A,N/A,Female,0,40,0 +20,Private,College,N/A,Sales,84471.66,Female,0,N/A,0 +N/A,Private,College,Absent,Sales,56027.94,N/A,0,N/A,0 +34,N/A,Bachelor,N/A,Sales,104055.14,N/A,0,40,0 +N/A,N/A,College,N/A,Executive,80053.94,Male,0,50,0 +22,PSLocal,Vocational,N/A,Clerical,82936.28,N/A,0,10,0 +N/A,Consultant,College,N/A,N/A,16557.72,Male,0,50,1 +61,Private,HSgrad,Married,Repair,13147.86,Male,1,20,0 +27,N/A,N/A,Absent,Machinist,158458.54,Male,N/A,45,0 +N/A,Private,N/A,N/A,Executive,40925.7,Male,0,N/A,1 +20,Private,College,Absent,Transport,163772,N/A,0,N/A,0 +N/A,Private,HSgrad,Married,Transport,27661.6,Male,N/A,N/A,1 +52,N/A,N/A,Married,N/A,N/A,Male,0,40,0 +37,Private,Bachelor,Absent,N/A,94623.76,Female,0,N/A,0 +19,PSState,N/A,N/A,Clerical,213011.2,Female,0,N/A,0 +N/A,Consultant,N/A,Married,Sales,69200.36,Male,N/A,75,1 +30,Private,HSgrad,Married,Cleaner,33187.91,N/A,0,44,0 +29,Private,Associate,Absent,Sales,40905.21,N/A,N/A,40,0 +33,PSLocal,Master,Absent,Professional,82559.71,Female,0,N/A,0 +N/A,PSFederal,College,Married,N/A,2654.56,N/A,0,N/A,1 +N/A,N/A,Bachelor,Married,Sales,44226.52,Male,0,N/A,1 +33,N/A,N/A,Married,Executive,151493.63,Female,N/A,32,1 +N/A,Consultant,HSgrad,Absent,Repair,N/A,Male,N/A,50,1 +48,N/A,Bachelor,N/A,Professional,74381.26,N/A,0,36,1 +34,Private,Bachelor,N/A,Clerical,81418.44,N/A,0,45,0 +30,Private,College,Absent,Executive,52915.44,Male,0,52,0 +23,Private,HSgrad,N/A,Service,157676.14,Male,0,35,0 +44,PSLocal,Associate,N/A,Protective,101677.29,N/A,0,56,1 +N/A,Private,N/A,N/A,N/A,N/A,Female,0,50,0 +34,N/A,Yr11,Married,Cleaner,18208.52,Male,N/A,40,0 +41,SelfEmp,N/A,Unmarried,Executive,163715.34,Male,0,40,0 +19,Private,N/A,N/A,N/A,184671.16,Female,0,20,0 +48,PSLocal,Master,Divorced,Professional,63452.61,Female,0,N/A,1 +N/A,Private,College,Married,Clerical,227449.1,Female,0,40,1 +29,Private,HSgrad,Divorced,Machinist,192971.42,Male,0,N/A,0 +N/A,Private,HSgrad,N/A,N/A,8292.78,Male,0,40,0 +32,N/A,HSgrad,N/A,N/A,45951.16,Female,N/A,25,0 +30,N/A,Bachelor,Absent,Sales,153262.9,N/A,N/A,N/A,0 +26,N/A,College,Unmarried,Repair,120415.46,N/A,0,30,0 +N/A,Private,College,Absent,Service,N/A,Male,0,40,0 +29,Private,N/A,Married,N/A,71387.94,N/A,0,40,1 +N/A,Private,Yr11,N/A,Sales,48591.21,Male,0,N/A,0 +41,N/A,HSgrad,Married,Repair,N/A,N/A,0,50,0 +N/A,Private,College,Absent,Machinist,26127.67,N/A,0,40,0 +24,Private,HSgrad,N/A,N/A,107521.53,N/A,0,N/A,0 +55,Consultant,Bachelor,Married,Professional,330573.21,Female,0,8,0 +N/A,Private,N/A,Absent,N/A,208645.63,Male,0,40,0 +N/A,Private,Yr11,Absent,N/A,N/A,N/A,0,15,0 +45,Private,Bachelor,Married,Professional,30060.37,N/A,1,40,1 +N/A,N/A,N/A,N/A,Clerical,154675.1,Female,N/A,35,0 +49,Private,Vocational,N/A,Cleaner,N/A,N/A,1,42,0 +36,Private,HSgrad,Divorced,Service,N/A,Female,0,30,0 +19,PSState,Yr12,Absent,Transport,100155.39,Male,0,20,0 +37,N/A,Bachelor,N/A,Executive,15834.6,Male,0,N/A,1 +46,N/A,N/A,Married,N/A,48465.11,Male,0,36,0 +N/A,N/A,HSgrad,Married,Executive,45259.14,Male,N/A,N/A,1 +65,Private,N/A,N/A,N/A,43736.99,Male,N/A,40,1 +45,N/A,College,N/A,Repair,35352.57,Male,0,40,1 +44,Private,HSgrad,N/A,Repair,89285.95,Male,N/A,N/A,0 +N/A,N/A,HSgrad,Married,Clerical,91243.71,Female,0,38,1 +22,Private,College,Absent,Repair,285526.27,Male,0,40,0 +32,PSLocal,HSgrad,Married,Service,N/A,Male,0,41,0 +61,Private,N/A,Married,Machinist,34720.61,Male,0,40,0 +35,Private,N/A,N/A,Executive,41900.16,Male,N/A,60,1 +44,N/A,College,Married,Professional,50153.16,Male,0,40,1 +26,Private,N/A,Absent,Protective,84098.64,Male,0,44,0 +N/A,Private,Bachelor,Married,Professional,35840.09,Male,0,50,0 +N/A,N/A,HSgrad,Married,N/A,33613.77,Male,0,80,1 +57,Private,N/A,Married,Executive,N/A,Female,0,38,0 +45,N/A,N/A,Married,Executive,49376.01,N/A,N/A,60,1 +33,Private,N/A,Married,Executive,32526.41,Male,0,50,1 +34,Private,HSgrad,Divorced,Clerical,193043.03,N/A,0,40,0 +29,Private,College,Married,Repair,14845.09,Male,0,40,1 +44,Private,Bachelor,Married,Executive,33987.25,Male,0,40,1 +21,Private,N/A,Absent,Farming,177077.59,Male,0,20,0 +33,PSState,HSgrad,N/A,Support,10137.31,N/A,0,40,0 +49,Private,Bachelor,Married,Professional,N/A,N/A,0,N/A,0 +N/A,Private,College,Divorced,Clerical,N/A,Female,N/A,N/A,0 +19,Consultant,N/A,Absent,Repair,109743.23,Male,N/A,40,0 +N/A,Private,Yr10,Divorced,N/A,51457.79,Male,N/A,50,0 +70,Private,Yr11,Married,Transport,35483.35,N/A,N/A,40,0 +54,Private,N/A,Divorced,Clerical,N/A,N/A,N/A,N/A,0 +42,Private,HSgrad,Married,Repair,N/A,Male,1,N/A,0 +N/A,N/A,College,N/A,Transport,55497.9,N/A,N/A,20,0 +46,PSFederal,HSgrad,N/A,Clerical,62060.46,Male,N/A,40,0 +N/A,PSLocal,N/A,Married,N/A,29586.54,Male,N/A,40,0 +27,Private,Bachelor,Absent,Support,287243.51,N/A,N/A,N/A,0 +N/A,PSFederal,HSgrad,Divorced,Clerical,287407.11,Female,N/A,40,0 +25,Private,Yr10,N/A,Transport,18646.05,Male,0,40,0 +30,N/A,College,Divorced,Professional,N/A,Female,N/A,40,0 +N/A,N/A,HSgrad,N/A,Farming,19546.74,Male,0,N/A,0 +N/A,Private,N/A,Married,Sales,N/A,Male,0,40,1 +N/A,Private,HSgrad,Absent,N/A,174203.82,N/A,0,42,0 +N/A,Private,Yr9,Married,Executive,26230.68,N/A,0,40,0 +62,N/A,Yr5t6,Married,Farming,45312.74,Male,N/A,40,0 +N/A,Private,College,Married,Service,28079.2,Male,0,40,0 +35,N/A,HSgrad,Married,Repair,N/A,Male,0,35,0 +56,N/A,Professional,Married,N/A,34745.85,Male,0,45,1 +N/A,Private,Master,Married,Professional,61249.9,Male,0,40,1 +30,Consultant,HSgrad,Divorced,Service,285365.67,Female,0,40,0 +44,N/A,N/A,Married,Protective,94124.65,N/A,N/A,40,1 +27,Private,HSgrad,Absent,Sales,N/A,Male,0,N/A,0 +31,Private,HSgrad,Married,Clerical,160377.84,N/A,N/A,N/A,1 +N/A,Private,Master,Married,Executive,34666.62,N/A,0,50,1 +28,Private,Yr11,Married,Executive,42357,N/A,0,50,1 +67,N/A,N/A,Widowed,N/A,99701.35,N/A,N/A,24,0 +28,PSFederal,Bachelor,N/A,N/A,59390.97,Male,0,50,0 +33,N/A,N/A,N/A,N/A,N/A,N/A,N/A,40,0 +20,N/A,College,Absent,Cleaner,N/A,Male,0,40,0 +42,Private,Bachelor,Married,Professional,28766.09,Male,0,N/A,0 +19,Private,College,Absent,N/A,155493.78,Female,0,27,0 +25,N/A,Yr12,Married,Farming,N/A,Male,N/A,60,0 +N/A,N/A,Bachelor,N/A,Professional,115787.94,Male,0,45,0 +59,SelfEmp,N/A,Married,Professional,26498.59,Male,0,40,1 +49,PSFederal,N/A,N/A,Repair,16388.38,N/A,0,N/A,1 +34,Consultant,Bachelor,Married,Repair,16967.77,Male,0,40,0 +N/A,N/A,College,Absent,Sales,N/A,Male,N/A,25,0 +22,N/A,College,N/A,N/A,194054.26,Male,0,N/A,0 +21,PSState,N/A,N/A,N/A,N/A,N/A,0,40,0 +45,PSLocal,HSgrad,Divorced,Service,N/A,N/A,N/A,40,0 +49,SelfEmp,Vocational,N/A,Executive,100800.81,Male,N/A,60,0 +N/A,PSState,HSgrad,N/A,Executive,41771.75,N/A,N/A,40,0 +39,Private,N/A,Married,Executive,53614.87,N/A,0,50,1 +N/A,PSFederal,N/A,N/A,Repair,17748.54,Male,N/A,40,1 +66,Private,N/A,Married,N/A,N/A,N/A,0,45,1 +N/A,Private,N/A,N/A,Service,N/A,Male,0,32,0 +30,Private,Bachelor,Absent,Repair,166349.59,Male,0,10,0 +N/A,Private,HSgrad,N/A,Repair,47316.24,N/A,N/A,40,1 +N/A,N/A,N/A,N/A,Service,N/A,Female,0,20,0 +28,Private,Vocational,Married,Service,79749.71,N/A,N/A,40,0 +58,N/A,N/A,Divorced,Executive,204682.96,Female,0,40,0 +N/A,N/A,HSgrad,N/A,N/A,193492.7,N/A,0,N/A,0 +54,Private,N/A,N/A,Executive,34550.16,Male,0,45,1 +N/A,Consultant,N/A,Married,N/A,126715.93,N/A,0,50,1 +N/A,PSLocal,HSgrad,Married,Machinist,30781.3,Male,0,40,0 +27,Private,Yr5t6,Absent,Farming,110499.57,Male,0,48,0 +N/A,Private,College,N/A,N/A,51634.23,Male,0,60,1 +48,N/A,College,N/A,Sales,26291.84,N/A,0,N/A,1 +23,PSFederal,N/A,Absent,Military,104833.65,Male,0,40,0 +50,N/A,College,Divorced,Repair,5918.22,Male,0,22,0 +N/A,Private,HSgrad,Married,Cleaner,18759.1,N/A,N/A,45,1 +43,Private,HSgrad,N/A,Repair,N/A,Female,N/A,N/A,1 +40,PSLocal,HSgrad,Married,Service,96688.71,Male,N/A,N/A,0 +N/A,Private,N/A,Absent,Service,N/A,Male,0,16,0 +44,Private,College,Married,Sales,50115.03,Male,N/A,N/A,0 +N/A,Private,N/A,N/A,Clerical,N/A,Female,0,N/A,0 +24,Private,N/A,Absent,Machinist,27822.71,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Executive,60899.02,Male,0,48,0 +52,Private,College,N/A,Executive,39134.45,Male,N/A,60,0 +19,Private,College,Absent,Service,61766.53,Female,0,25,0 +29,Private,HSgrad,Absent,Farming,N/A,Male,N/A,50,0 +27,N/A,HSgrad,Married,Service,66816.56,N/A,0,40,0 +49,N/A,N/A,Married,Clerical,27486.02,N/A,0,40,0 +21,N/A,College,Absent,N/A,68020.6,N/A,N/A,30,0 +54,N/A,Yr1t4,Married,Service,51084.22,Male,0,35,0 +N/A,N/A,HSgrad,N/A,N/A,26317.48,Male,N/A,N/A,0 +30,Private,Preschool,N/A,Farming,45892.78,Male,0,N/A,0 +44,PSState,Doctorate,Married,Professional,60894.18,N/A,N/A,40,1 +18,Private,N/A,Absent,Service,157404.51,Female,0,25,0 +N/A,Private,HSgrad,Divorced,N/A,N/A,Female,0,N/A,0 +30,SelfEmp,HSgrad,Married,Repair,50969.27,Male,1,48,1 +37,Private,Bachelor,Absent,Executive,79468.38,Male,0,N/A,1 +33,Private,N/A,Married,N/A,66616.76,Male,0,50,1 +36,Private,HSgrad,Absent,Repair,100171.69,Male,0,65,0 +33,Private,College,N/A,Clerical,110517.33,Female,0,40,0 +33,N/A,N/A,Married,Professional,43867.42,Male,N/A,N/A,1 +37,Consultant,Yr11,Absent,N/A,154025.31,Male,0,37,0 +47,Consultant,Yr11,N/A,Executive,123669.96,Female,N/A,N/A,0 +N/A,Private,HSgrad,N/A,Clerical,36985.48,N/A,0,38,0 +48,PSLocal,HSgrad,Married,N/A,23457.66,Male,0,N/A,1 +23,Private,N/A,Absent,Support,99024.29,Female,0,40,0 +51,PSFederal,Doctorate,Married,Professional,35189.66,Male,0,N/A,1 +42,N/A,HSgrad,Married,Executive,23637.85,Male,0,N/A,0 +37,N/A,Associate,Married,Clerical,N/A,Male,0,N/A,0 +33,Private,Bachelor,Married,Executive,N/A,Male,0,45,1 +N/A,N/A,College,N/A,Professional,66656.23,Female,0,N/A,0 +N/A,Private,N/A,N/A,Executive,76610.29,N/A,0,40,0 +57,PSFederal,College,N/A,Service,52295.23,N/A,0,40,0 +28,Private,HSgrad,N/A,Transport,64633.82,Male,0,N/A,1 +33,Private,HSgrad,Absent,Service,N/A,Male,N/A,40,0 +42,PSState,Associate,Divorced,Professional,N/A,N/A,0,40,0 +22,Private,College,Absent,N/A,65127.04,N/A,N/A,50,0 +33,Private,Master,Married,N/A,44356.81,N/A,0,N/A,0 +41,Private,HSgrad,Married,Repair,59515.36,Male,0,N/A,0 +20,Private,N/A,N/A,Repair,97111.81,Male,N/A,N/A,0 +41,N/A,Bachelor,Married,Professional,45246.6,N/A,0,60,0 +24,PSState,N/A,Absent,Professional,65624.31,Male,N/A,N/A,0 +41,PSFederal,Master,Divorced,Professional,122572.32,N/A,0,40,0 +48,N/A,College,Married,Transport,N/A,N/A,0,45,1 +40,Consultant,N/A,Unmarried,N/A,136067.1,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Executive,35210.77,Male,0,40,0 +24,Private,N/A,Absent,N/A,87199.48,Male,0,40,0 +N/A,Private,HSgrad,Divorced,N/A,N/A,N/A,0,N/A,0 +34,Consultant,N/A,Divorced,Clerical,201606.08,Female,0,50,0 +N/A,Private,College,N/A,Clerical,31969.17,N/A,N/A,N/A,1 +25,N/A,College,N/A,N/A,N/A,Male,N/A,40,0 +45,PSState,Master,Married,Professional,N/A,Male,N/A,60,1 +57,N/A,N/A,Widowed,N/A,299857.24,Male,0,52,0 +N/A,Private,HSgrad,Unmarried,Clerical,N/A,Female,0,N/A,0 +45,N/A,College,Married,N/A,N/A,Male,0,N/A,0 +43,Private,Master,Married,N/A,326956.83,N/A,0,32,1 +N/A,Private,College,Absent,Sales,290175.87,Female,N/A,20,0 +46,Private,Vocational,Divorced,Machinist,216606.07,Male,0,40,0 +50,Private,HSgrad,Married,Cleaner,15828.78,Male,0,N/A,0 +26,Private,N/A,Absent,Repair,N/A,Male,N/A,48,0 +56,Private,Master,Married,Professional,44065.89,Male,0,N/A,1 +44,Private,Bachelor,Married,Support,25134.57,Male,N/A,N/A,0 +N/A,N/A,Yr10,Absent,Transport,70018.35,Male,N/A,40,0 +N/A,N/A,N/A,Married,Repair,49315.87,Male,N/A,N/A,0 +20,Private,College,Absent,Clerical,176057.51,N/A,0,35,0 +55,Private,N/A,Divorced,Clerical,53682.58,Female,0,N/A,0 +35,N/A,HSgrad,Divorced,N/A,N/A,Female,0,48,0 +42,PSLocal,N/A,N/A,Cleaner,N/A,N/A,0,40,1 +48,Consultant,College,Married,N/A,N/A,Male,0,40,1 +N/A,PSState,HSgrad,Divorced,N/A,67000.93,Male,N/A,40,1 +26,Private,Yr7t8,N/A,Cleaner,320098.1,Male,0,40,0 +17,Private,N/A,N/A,Repair,152721.29,Male,0,40,0 +N/A,N/A,N/A,Married,Support,32743.27,Male,0,38,1 +32,Private,HSgrad,Married,N/A,31291.31,Female,N/A,N/A,0 +49,PSState,N/A,Married,Professional,22596.58,Male,N/A,40,1 +26,Private,College,Married,Support,64051.32,Male,0,40,1 +21,Private,HSgrad,Absent,N/A,107175.8,Male,0,40,0 +55,PSFederal,Master,Married,Executive,51108.26,Male,N/A,N/A,1 +24,Private,HSgrad,N/A,Machinist,219602.18,Female,0,40,0 +32,Private,Yr9,Married,Transport,N/A,Male,N/A,50,0 +39,Private,Bachelor,Married,Professional,N/A,Female,0,32,1 +46,N/A,Bachelor,Absent,N/A,73276.12,Male,1,40,0 +44,Private,Yr7t8,Divorced,Cleaner,80946.05,Male,N/A,48,0 +47,Private,Bachelor,N/A,Executive,14774.29,Male,1,N/A,1 +49,Private,N/A,Married,N/A,28082.43,Male,0,N/A,0 +45,Private,N/A,Unmarried,Service,125594.01,N/A,N/A,40,0 +47,PSLocal,College,Married,N/A,N/A,Male,1,40,1 +29,Private,Yr10,N/A,Machinist,109341.58,N/A,0,N/A,0 +56,PSLocal,College,Widowed,Clerical,91953.88,Female,N/A,40,0 +33,Private,Master,Absent,Professional,106946.9,Female,0,N/A,0 +N/A,Private,Associate,N/A,Clerical,324427.42,Female,0,N/A,0 +42,N/A,Bachelor,Absent,Executive,N/A,Male,0,55,1 +N/A,Private,Vocational,Divorced,Executive,248376.07,N/A,0,45,0 +23,N/A,Bachelor,Absent,Clerical,39308.66,Female,0,N/A,0 +N/A,Private,HSgrad,N/A,Sales,218259.97,N/A,N/A,35,0 +51,PSLocal,N/A,N/A,N/A,274195.24,N/A,0,52,0 +59,N/A,College,Married,Protective,N/A,Male,N/A,N/A,0 +40,PSState,Bachelor,N/A,N/A,45738.2,Female,0,20,0 +44,Private,College,Married,Clerical,411783.25,Female,1,6,1 +30,PSFederal,Bachelor,Absent,Clerical,14717.12,Female,0,35,0 +N/A,Private,Bachelor,N/A,Executive,37328.8,Female,0,40,0 +34,N/A,N/A,N/A,Professional,19430.06,Male,N/A,N/A,1 +36,Private,N/A,Divorced,Machinist,N/A,Male,N/A,40,0 +31,Private,N/A,N/A,Professional,186734,Male,0,25,0 +N/A,Private,N/A,Unmarried,N/A,27040.44,Female,0,50,1 +22,Private,Yr10,Married,Machinist,37129.41,Female,0,40,0 +44,SelfEmp,N/A,Married,N/A,26368.58,N/A,0,N/A,0 +51,Private,N/A,Divorced,Service,N/A,Female,N/A,40,0 +25,Consultant,HSgrad,Absent,Farming,N/A,Male,0,N/A,0 +28,N/A,College,Married,Executive,N/A,N/A,N/A,40,0 +46,PSFederal,Bachelor,Divorced,Professional,79516.72,Male,0,40,0 +32,Private,Yr11,Absent,Service,108352.29,N/A,0,40,0 +22,Private,Vocational,Absent,Professional,N/A,Female,0,35,0 +N/A,N/A,College,N/A,N/A,281632.06,N/A,0,35,0 +51,Private,HSgrad,N/A,N/A,6254.08,N/A,0,40,0 +N/A,Private,N/A,Absent,N/A,53839.35,N/A,0,N/A,0 +31,Private,N/A,Unmarried,N/A,54136.12,Female,0,50,0 +27,Private,N/A,N/A,Repair,158854.09,Male,N/A,40,0 +47,Consultant,Bachelor,Absent,Executive,45235.56,N/A,N/A,N/A,1 +N/A,Private,N/A,N/A,N/A,N/A,Male,N/A,N/A,0 +45,Private,Bachelor,Married,Executive,27440.92,Male,0,32,0 +63,Private,N/A,Married,Professional,255158.97,Female,0,12,0 +41,N/A,Master,Divorced,Sales,266799.71,N/A,0,N/A,1 +68,N/A,Master,Married,Executive,7615.01,Male,1,N/A,1 +N/A,Private,HSgrad,Absent,Service,187376.57,Male,N/A,N/A,0 +N/A,PSFederal,HSgrad,Married,Executive,30247.86,N/A,0,N/A,1 +N/A,Private,College,Absent,N/A,84172.5,N/A,N/A,15,0 +37,Private,HSgrad,Divorced,Repair,88184.56,Male,N/A,40,1 +47,PSLocal,College,N/A,N/A,44977.52,Male,N/A,45,0 +34,SelfEmp,HSgrad,N/A,N/A,80118.68,Male,N/A,55,0 +N/A,Private,N/A,Married,Repair,31613.91,Male,0,45,1 +33,Private,HSgrad,Absent,Clerical,45945.08,Male,0,35,0 +21,Private,College,N/A,Service,N/A,Male,0,25,0 +47,N/A,N/A,Married,Clerical,27878.89,Male,0,45,0 +39,N/A,Bachelor,Divorced,Clerical,110807.71,Male,N/A,40,0 +17,Private,N/A,N/A,N/A,186407.12,Female,N/A,20,0 +30,Private,HSgrad,N/A,Service,89889.54,Female,N/A,40,0 +46,Private,N/A,Divorced,N/A,222602.99,N/A,0,40,0 +N/A,Private,HSgrad,N/A,Executive,30387.96,Male,1,40,1 +N/A,PSLocal,Master,Married,N/A,40390.4,Male,0,40,1 +21,Private,Yr10,Married,Service,N/A,Male,N/A,25,0 +N/A,Private,N/A,Married,Professional,N/A,N/A,0,40,1 +19,N/A,College,Absent,Sales,262216.35,N/A,0,35,0 +25,Private,College,Absent,Service,87891.89,Female,N/A,25,0 +17,Private,Yr11,Absent,Professional,69450.11,N/A,0,N/A,0 +40,Consultant,College,Married,Professional,19246.93,Male,0,20,0 +17,Private,Yr11,N/A,Sales,123234.32,Female,0,18,0 +43,Private,Bachelor,Married,N/A,44396.52,Male,0,45,1 +41,N/A,Bachelor,Absent,Professional,79574.26,Female,N/A,40,0 +N/A,Private,College,Married,Repair,7523.49,N/A,N/A,45,0 +27,Private,HSgrad,Married,N/A,33482.58,N/A,0,40,0 +42,N/A,Bachelor,N/A,Clerical,122454.68,Male,0,40,0 +58,Consultant,Bachelor,Married,Executive,N/A,N/A,0,N/A,1 +18,PSState,College,Absent,Clerical,N/A,N/A,N/A,10,0 +31,Private,HSgrad,Married,N/A,24317.92,Male,0,40,1 +35,Private,Yr7t8,N/A,Machinist,33288.27,Male,0,40,0 +N/A,Private,Bachelor,Absent,Clerical,N/A,Female,0,60,0 +21,N/A,N/A,Absent,N/A,181792.59,Male,0,40,0 +57,Private,College,Married,Repair,32196.18,Male,1,45,0 +28,Private,College,Absent,Service,120733.61,N/A,0,35,0 +50,PSLocal,College,Married,N/A,37962.18,Male,0,52,1 +32,N/A,HSgrad,Married,Machinist,15164.11,N/A,N/A,40,0 +29,N/A,Vocational,Married,N/A,51829.17,N/A,N/A,N/A,1 +52,SelfEmp,Professional,Married,Executive,N/A,N/A,0,40,0 +22,Private,N/A,Absent,Sales,37698.03,Male,0,N/A,0 +21,Private,N/A,Absent,Cleaner,178244.47,Male,0,45,0 +26,PSLocal,N/A,Married,Protective,65467.15,Male,N/A,40,1 +18,N/A,HSgrad,Absent,Sales,N/A,Female,0,25,0 +N/A,SelfEmp,Bachelor,N/A,Sales,48440.5,N/A,N/A,N/A,0 +N/A,Private,HSgrad,Unmarried,Clerical,N/A,N/A,0,40,0 +18,PSLocal,Yr11,Absent,Clerical,52620.88,N/A,N/A,25,0 +58,Consultant,N/A,Married,Farming,29092.74,N/A,0,35,0 +33,N/A,N/A,Married,Transport,N/A,Male,0,40,0 +54,N/A,N/A,Divorced,Transport,N/A,Male,0,45,0 +N/A,N/A,Bachelor,Absent,Professional,236243.16,Female,0,40,0 +N/A,Consultant,N/A,Married,N/A,29214.04,N/A,0,60,1 +N/A,Private,College,Absent,Sales,80133.84,N/A,0,37,0 +28,Private,College,Absent,Machinist,N/A,Male,0,42,0 +32,Private,HSgrad,Married,N/A,25421.23,Male,N/A,49,0 +28,Private,N/A,Absent,Repair,N/A,Male,0,N/A,0 +32,PSLocal,Master,Absent,N/A,42738.27,Female,0,40,0 +N/A,N/A,College,Absent,Repair,237399.45,N/A,0,40,0 +34,Private,N/A,N/A,N/A,74884.8,Female,0,35,0 +39,N/A,Associate,Absent,Executive,N/A,N/A,0,42,0 +28,N/A,College,Absent,Machinist,53602.12,N/A,0,N/A,0 +43,Consultant,HSgrad,Married,Executive,41057.13,Male,0,35,1 +N/A,N/A,Bachelor,N/A,Executive,41640.76,Male,0,40,0 +N/A,SelfEmp,Bachelor,Married,Sales,26814.36,N/A,0,52,1 +N/A,N/A,College,Married,Executive,30136.22,Male,0,40,1 +67,Private,HSgrad,Married,Cleaner,20795.19,Male,N/A,24,0 +41,Private,College,Married,Repair,44047.47,Male,0,N/A,0 +47,Consultant,HSgrad,Married,Farming,N/A,Male,N/A,60,0 +67,PSState,Yr7t8,Married,Transport,22444.12,Male,0,N/A,0 +N/A,Private,HSgrad,Divorced,Clerical,67762.49,Female,0,40,0 +59,Private,Yr11,Divorced,Service,N/A,Female,0,35,0 +50,N/A,Master,Married,Executive,21877.61,N/A,0,45,1 +25,Private,Bachelor,Absent,Professional,42731.95,Female,0,30,0 +38,SelfEmp,N/A,N/A,Executive,N/A,Male,0,80,1 +42,N/A,N/A,Divorced,Repair,N/A,Male,0,45,0 +38,N/A,Bachelor,Married,Sales,N/A,Male,0,70,1 +N/A,Private,College,Married,Repair,N/A,N/A,N/A,40,0 +55,Private,N/A,Divorced,Machinist,166688.97,Male,0,N/A,0 +63,Private,N/A,Married,N/A,64783.02,Male,0,40,0 +46,Private,HSgrad,Divorced,Clerical,104290.58,Female,0,40,0 +49,PSState,College,Married,N/A,63313.46,Male,0,40,1 +38,Consultant,Bachelor,Married,Service,N/A,Male,0,10,0 +51,Private,N/A,Divorced,Executive,129293.56,Female,0,36,0 +27,Private,College,Divorced,N/A,138057.33,Female,0,36,0 +N/A,Private,Bachelor,Absent,N/A,70124.79,N/A,0,N/A,0 +27,Private,HSgrad,Absent,Service,76028.48,Female,N/A,30,0 +N/A,Private,HSgrad,Widowed,Clerical,N/A,Female,0,40,1 +26,Private,College,Absent,Service,208069.61,Male,0,N/A,0 +N/A,SelfEmp,N/A,Absent,Transport,N/A,Male,0,50,0 +N/A,Private,N/A,Absent,Clerical,139318.3,N/A,0,30,0 +41,Private,College,N/A,Repair,14830.56,Male,0,40,0 +40,N/A,N/A,N/A,Sales,N/A,Male,0,N/A,1 +49,N/A,HSgrad,Divorced,Service,N/A,Female,0,40,0 +29,Consultant,HSgrad,N/A,N/A,65563.06,Male,0,40,0 +28,Private,HSgrad,Absent,Executive,92214.5,Female,N/A,N/A,0 +29,Private,HSgrad,Absent,Farming,N/A,Male,0,30,0 +55,N/A,Bachelor,Divorced,Professional,N/A,Female,0,40,1 +38,Private,Bachelor,Married,Machinist,57242.66,Male,0,40,0 +N/A,Private,HSgrad,Married,Repair,35710.59,N/A,0,48,0 +38,Private,N/A,Unmarried,N/A,92373.12,Male,1,N/A,0 +46,N/A,Master,Married,Professional,22079.26,N/A,0,60,0 +26,Private,N/A,N/A,N/A,143592.32,N/A,0,40,0 +30,N/A,HSgrad,Absent,Clerical,N/A,N/A,0,40,0 +39,Private,College,Married,N/A,30240.16,Male,N/A,50,0 +23,Private,Bachelor,Absent,Professional,84181.82,Female,0,25,0 +26,Private,N/A,Absent,Clerical,N/A,N/A,0,N/A,0 +44,SelfEmp,HSgrad,Married,Farming,25034.02,Male,0,60,0 +N/A,Private,Yr11,Absent,N/A,208699.78,Female,0,25,0 +N/A,PSLocal,Bachelor,N/A,Protective,50436.31,Male,0,N/A,1 +N/A,Private,College,Absent,Professional,78077.34,Male,0,45,0 +26,N/A,HSgrad,N/A,Sales,N/A,N/A,N/A,50,1 +33,N/A,N/A,Married,Transport,49145.19,Male,0,41,0 +24,Private,N/A,Absent,Repair,N/A,Male,0,40,0 +N/A,Private,N/A,Absent,N/A,144232.11,Female,0,19,0 +41,Private,College,Absent,Repair,81531.13,Male,1,40,0 +N/A,N/A,Master,Married,Executive,20400.44,Male,N/A,40,1 +47,Private,Bachelor,N/A,N/A,33212.24,N/A,0,50,1 +N/A,Consultant,N/A,Married,Farming,35063.55,Male,0,70,1 +45,Private,N/A,Divorced,N/A,139372.43,Female,0,N/A,0 +N/A,SelfEmp,Yr10,Married,Sales,N/A,Male,0,N/A,0 +N/A,Private,Yr7t8,Married,Machinist,N/A,Female,0,N/A,0 +27,N/A,N/A,Absent,Protective,131137.04,Male,0,40,0 +41,Private,N/A,Married,Professional,26979.5,Male,0,45,1 +51,Private,HSgrad,N/A,Transport,40723.57,Male,0,40,0 +38,Consultant,Yr7t8,Married,Sales,N/A,Male,0,40,0 +23,Private,N/A,Absent,Service,151272.95,Male,0,40,0 +29,Private,College,Absent,Cleaner,54552.07,Male,0,N/A,0 +N/A,N/A,Yr10,Divorced,N/A,N/A,Male,0,20,0 +22,N/A,College,Absent,N/A,6457.27,N/A,0,40,0 +N/A,Private,N/A,Absent,Service,104047.17,N/A,N/A,30,0 +35,N/A,Bachelor,Married,N/A,N/A,Male,0,N/A,0 +24,N/A,N/A,N/A,Service,139747.38,Male,0,30,0 +24,Private,College,Absent,Cleaner,236105.65,Male,0,30,0 +24,N/A,N/A,Absent,N/A,199405.44,Male,N/A,40,0 +19,Private,HSgrad,Absent,Service,64057.01,N/A,0,N/A,0 +53,Private,Yr12,N/A,N/A,90234.74,N/A,N/A,40,0 +N/A,Private,College,N/A,Sales,N/A,Female,0,N/A,0 +N/A,Private,N/A,Widowed,Support,N/A,Female,N/A,18,0 +22,N/A,HSgrad,N/A,Clerical,142682.71,N/A,0,N/A,0 +N/A,Private,Professional,Absent,N/A,113236.64,Female,0,40,0 +49,Private,HSgrad,Married,Farming,28246.82,Male,N/A,25,0 +48,Private,College,Unmarried,Sales,N/A,Female,0,35,0 +39,SelfEmp,HSgrad,Divorced,Repair,69184.43,Male,0,N/A,0 +N/A,N/A,Bachelor,Absent,Professional,78180.06,N/A,0,50,0 +N/A,N/A,N/A,Married,Repair,N/A,Male,N/A,45,0 +40,Private,HSgrad,Divorced,Clerical,181816.26,N/A,0,38,0 +23,N/A,College,Absent,Service,138686.32,Female,N/A,25,0 +32,Private,College,Married,Machinist,50724.41,Male,0,40,0 +30,N/A,Bachelor,Married,Sales,34798.57,Male,N/A,40,0 +17,Private,Yr11,Absent,Sales,N/A,N/A,0,40,0 +39,Private,N/A,Married,Service,271169.59,N/A,0,15,0 +30,Private,Vocational,Divorced,Clerical,N/A,Female,N/A,N/A,0 +N/A,Private,N/A,Divorced,Service,30741.98,N/A,0,40,0 +34,Private,N/A,Married,Executive,63952.56,Male,0,55,1 +N/A,Private,N/A,N/A,Support,17770.94,Male,N/A,N/A,1 +70,Consultant,N/A,N/A,N/A,6642.99,Male,N/A,8,1 +N/A,Private,N/A,Absent,N/A,N/A,N/A,N/A,N/A,0 +25,Private,Bachelor,Absent,Sales,79994.06,Male,N/A,N/A,0 +38,Private,Bachelor,Married,Professional,27677.84,Male,N/A,N/A,1 +61,Private,N/A,Married,Clerical,N/A,Male,0,3,0 +18,N/A,Yr11,N/A,Sales,N/A,Female,N/A,30,0 +38,Private,N/A,N/A,Service,N/A,Female,N/A,60,0 +N/A,N/A,Bachelor,Married,Service,31145.28,N/A,0,40,0 +N/A,PSFederal,Associate,Married,Clerical,N/A,N/A,0,40,1 +36,Private,N/A,Absent,Clerical,N/A,N/A,0,N/A,0 +N/A,Private,HSgrad,Absent,Cleaner,146282.46,Male,0,38,0 +29,N/A,N/A,N/A,Support,N/A,Male,N/A,40,0 +20,Private,N/A,Absent,Professional,141235.48,Female,0,15,0 +36,PSFederal,N/A,Married,Clerical,N/A,Male,0,40,0 +N/A,Private,College,Married,Professional,39876.3,Male,0,45,0 +31,PSFederal,N/A,N/A,Support,104913.34,Male,0,40,0 +45,Consultant,N/A,Absent,Sales,47118.62,Male,N/A,N/A,0 +59,N/A,HSgrad,N/A,N/A,149446.38,Female,0,40,0 +22,N/A,College,N/A,Clerical,137941.07,N/A,0,25,0 +N/A,N/A,N/A,Married,N/A,45933.25,Male,0,70,0 +34,N/A,Bachelor,Married,N/A,46006.17,N/A,0,40,1 +18,Private,College,N/A,Sales,142608.4,Female,N/A,35,0 +27,Private,Vocational,N/A,Sales,31081.8,Female,0,N/A,0 +69,Consultant,Yr7t8,Absent,Farming,174177.99,Male,N/A,10,0 +29,Private,HSgrad,Married,Repair,25774.62,Male,0,N/A,0 +N/A,N/A,N/A,Married,N/A,24932.3,Male,0,N/A,1 +46,Private,Bachelor,Absent,N/A,N/A,N/A,0,40,0 +38,Consultant,HSgrad,Married,Repair,19394.14,Male,0,N/A,0 +23,Private,N/A,Absent,Sales,199505.89,Male,N/A,25,0 +54,Private,Yr11,Married,Service,148034.34,N/A,N/A,40,1 +45,Consultant,Bachelor,Married,Sales,N/A,Male,0,40,1 +43,Consultant,N/A,Married,Repair,33763.1,Male,N/A,40,1 +27,Private,HSgrad,Married,N/A,31663.72,Male,0,40,0 +46,N/A,College,Married,Clerical,291625.9,N/A,N/A,40,1 +20,SelfEmp,N/A,Absent,N/A,36037.58,Female,0,30,0 +22,Consultant,Bachelor,N/A,Professional,N/A,Male,0,20,0 +50,SelfEmp,Doctorate,N/A,Professional,32009.01,Male,0,60,1 +N/A,Private,HSgrad,Married,Machinist,24877.03,Male,0,60,0 +N/A,N/A,Master,Absent,Professional,N/A,N/A,0,35,0 +N/A,Private,HSgrad,Married,Transport,N/A,Male,0,60,0 +29,Private,HSgrad,Married,Machinist,29511.31,Male,0,50,0 +51,Private,Bachelor,Divorced,Executive,99435.1,N/A,N/A,50,0 +28,PSLocal,N/A,Married,Protective,39495.41,N/A,0,42,1 +59,N/A,N/A,Married,N/A,30614.87,Male,0,40,0 +18,Private,HSgrad,Absent,Cleaner,N/A,Male,N/A,40,0 +42,N/A,Yr10,Married,N/A,54238.97,Male,N/A,50,0 +39,Private,N/A,Married,Sales,36839.34,Male,0,N/A,1 +N/A,Private,HSgrad,Absent,Repair,65928.98,Male,N/A,40,0 +N/A,Consultant,N/A,N/A,N/A,N/A,Male,0,70,1 +N/A,Private,HSgrad,Married,Executive,61082.19,Male,0,N/A,1 +18,Private,N/A,Absent,Sales,98383.87,Male,0,18,0 +40,Private,Bachelor,Married,N/A,N/A,Female,0,40,0 +24,Private,N/A,N/A,Machinist,26120.47,Male,0,40,0 +18,Private,HSgrad,Absent,Sales,174654.15,Female,N/A,25,0 +36,N/A,N/A,Absent,N/A,194147.03,Female,0,N/A,0 +43,Private,Vocational,Married,Repair,24511.78,Male,N/A,N/A,0 +47,Private,Vocational,Married,N/A,N/A,Male,0,26,0 +N/A,PSLocal,Associate,Married,Professional,N/A,N/A,0,48,0 +53,N/A,College,Absent,N/A,76997.19,Female,0,40,0 +26,N/A,HSgrad,Absent,N/A,115213.1,Male,N/A,40,0 +44,N/A,College,Divorced,Executive,68879.14,Female,0,40,0 +29,Private,N/A,Married,Machinist,210653.92,Female,N/A,N/A,0 +N/A,Private,Bachelor,Absent,Support,N/A,Female,1,35,0 +N/A,Consultant,Yr5t6,Married,Transport,N/A,N/A,0,20,0 +27,Private,N/A,Married,N/A,16442.12,Male,N/A,45,0 +54,Private,Bachelor,Divorced,N/A,N/A,Male,N/A,40,0 +31,Private,N/A,Married,N/A,19547.6,Male,0,N/A,1 +49,PSFederal,N/A,Married,N/A,36021.23,Male,0,40,0 +57,Consultant,HSgrad,N/A,Service,28827.9,N/A,0,60,0 +81,Consultant,HSgrad,Married,Executive,34614.18,Male,0,N/A,0 +37,Private,Bachelor,N/A,Service,39308.87,Male,0,70,0 +34,PSLocal,N/A,Married,Repair,N/A,Male,1,N/A,0 +34,Consultant,Associate,Married,Professional,354356.88,N/A,0,25,1 +32,Private,College,Absent,Machinist,65824.46,Male,0,55,0 +31,Private,College,Absent,N/A,124130.16,N/A,N/A,N/A,0 +41,N/A,Master,N/A,Executive,N/A,Male,1,N/A,1 +21,Private,N/A,Absent,Cleaner,243862.28,N/A,0,36,0 +19,Private,HSgrad,Absent,Clerical,151313.3,Female,0,N/A,0 +39,Private,Yr11,N/A,N/A,38183.12,Male,0,35,0 +41,N/A,Bachelor,Divorced,N/A,140899.75,Male,0,40,0 +61,Private,College,Absent,Support,203401.76,Male,0,N/A,0 +41,Private,HSgrad,Unmarried,Repair,77925.68,Male,N/A,N/A,0 +28,PSFederal,Bachelor,N/A,N/A,95210.3,Male,0,40,0 +41,Private,N/A,N/A,Service,32964.61,Male,N/A,N/A,0 +N/A,Private,Bachelor,Divorced,Professional,80894.68,Male,0,40,0 +N/A,Private,College,Absent,Cleaner,N/A,Male,0,N/A,0 +54,Private,N/A,Married,Machinist,45751.88,Male,0,N/A,0 +18,Private,Yr12,Absent,Cleaner,90012.47,Male,0,18,0 +30,Private,N/A,Absent,Machinist,N/A,N/A,0,44,0 +60,Private,Yr7t8,Married,N/A,N/A,Female,N/A,40,0 +32,Private,Master,Married,N/A,61766.3,Male,0,55,1 +54,Private,Vocational,Married,Protective,5301.23,Male,N/A,38,1 +53,Private,N/A,N/A,N/A,252025.95,Female,0,35,0 +N/A,Private,Yr7t8,N/A,Clerical,45542.3,Male,0,40,0 +34,N/A,HSgrad,Absent,Protective,28364,Male,0,N/A,0 +N/A,Private,College,Absent,Service,80795.43,Female,N/A,30,0 +18,Private,Yr12,Absent,Clerical,34914.62,Female,N/A,30,0 +41,PSState,Master,Absent,Professional,N/A,Female,0,35,0 +21,Private,College,N/A,Clerical,164901.74,Male,0,40,0 +20,PSState,College,Absent,Clerical,143458.2,N/A,N/A,40,0 +N/A,N/A,HSgrad,N/A,Farming,N/A,N/A,0,45,0 +42,N/A,Associate,Married,Executive,28449.38,Male,N/A,N/A,1 +N/A,Private,HSgrad,N/A,Professional,N/A,N/A,0,40,0 +39,Private,N/A,N/A,N/A,28472.93,Male,0,N/A,0 +35,N/A,HSgrad,Unmarried,Transport,57337.88,Male,0,N/A,0 +18,Private,HSgrad,Absent,N/A,233575.14,N/A,0,N/A,0 +N/A,N/A,N/A,Married,Repair,N/A,Male,N/A,40,1 +38,PSState,Master,N/A,Clerical,68740.66,N/A,0,40,0 +N/A,N/A,HSgrad,N/A,Service,114444.64,Male,0,40,0 +N/A,N/A,College,N/A,Protective,N/A,N/A,0,8,0 +55,N/A,College,Married,Protective,56010.67,Male,N/A,40,1 +N/A,Private,N/A,Married,N/A,56339.72,Male,0,50,0 +48,Private,HSgrad,Married,Transport,42018.75,N/A,0,N/A,0 +61,Private,HSgrad,Widowed,N/A,70465.25,Female,0,N/A,0 +48,Private,Yr11,N/A,Service,N/A,Female,0,31,0 +23,Consultant,HSgrad,Absent,Transport,N/A,Male,0,N/A,0 +26,N/A,N/A,N/A,Machinist,N/A,Male,0,40,0 +32,N/A,N/A,N/A,Cleaner,132792.04,Female,0,45,0 +N/A,Private,HSgrad,Unmarried,Service,267843.59,Female,0,25,0 +N/A,PSState,N/A,Married,Executive,17357.59,Male,0,N/A,1 +45,N/A,Master,Absent,N/A,54304.38,Female,0,N/A,0 +29,N/A,N/A,N/A,N/A,112370.96,N/A,N/A,40,0 +26,N/A,HSgrad,N/A,Clerical,42159.58,N/A,N/A,40,0 +43,N/A,HSgrad,N/A,N/A,N/A,Male,0,60,0 +37,Private,N/A,N/A,Machinist,122630.3,Female,0,32,0 +39,N/A,N/A,N/A,Professional,N/A,Male,N/A,N/A,1 +30,Private,HSgrad,Married,Transport,51135.68,Male,N/A,N/A,0 +42,N/A,N/A,Absent,Sales,34061.72,N/A,0,50,1 +59,Private,N/A,Married,N/A,N/A,N/A,0,40,0 +35,SelfEmp,HSgrad,Married,N/A,N/A,Male,0,60,0 +46,Private,Bachelor,Married,Executive,20933.41,Male,1,50,1 +20,Private,College,Absent,N/A,139851.93,Female,0,20,0 +58,Private,College,Married,Sales,34827.24,Male,1,40,1 +N/A,N/A,College,Absent,Cleaner,N/A,Male,N/A,N/A,0 +25,N/A,N/A,Absent,Clerical,40121.65,Male,N/A,40,0 +33,Private,HSgrad,N/A,N/A,N/A,Male,0,40,0 +23,Private,Bachelor,Absent,Professional,70436.56,Male,N/A,40,0 +27,Private,HSgrad,Married,Repair,19421.23,N/A,0,40,0 +38,PSLocal,College,Divorced,Executive,77851.75,Female,0,45,0 +53,Private,Yr9,Divorced,N/A,N/A,Female,0,36,0 +N/A,Private,Bachelor,Absent,N/A,82791.04,Female,1,40,0 +N/A,Private,Yr9,Married,Service,6469.39,N/A,0,N/A,0 +17,SelfEmp,N/A,Absent,Repair,N/A,Male,0,40,0 +51,Private,College,Married,N/A,70373.5,Male,0,40,1 +56,PSFederal,N/A,Unmarried,Service,N/A,Male,0,40,0 +N/A,N/A,N/A,Married,Service,261593.85,Female,0,40,0 +25,N/A,College,Absent,Repair,71150.2,Male,N/A,N/A,0 +32,Private,Preschool,Married,Machinist,N/A,Male,0,N/A,0 +N/A,Private,N/A,N/A,Sales,38306.26,N/A,0,44,1 +21,Private,HSgrad,Absent,N/A,118942.87,Male,0,N/A,0 +47,Private,Bachelor,N/A,Executive,40638.29,Male,0,44,1 +61,Consultant,HSgrad,N/A,Service,81250.19,Female,0,40,0 +59,Private,Bachelor,Married,Executive,N/A,Male,1,50,1 +N/A,N/A,HSgrad,N/A,Transport,175176.75,Male,N/A,40,0 +N/A,Private,College,Absent,Executive,72222.2,Female,N/A,35,0 +N/A,Private,N/A,Absent,Professional,260192.76,Male,0,50,0 +37,Private,HSgrad,N/A,Sales,62936.81,Male,N/A,44,0 +26,Private,Bachelor,N/A,Executive,253612.7,Female,0,45,1 +56,Consultant,HSgrad,Married,N/A,48466.38,N/A,0,55,0 +39,Private,N/A,Unmarried,Clerical,240251.41,Female,0,N/A,0 +N/A,Consultant,HSgrad,Married,Farming,66292.07,N/A,0,70,1 +47,PSState,College,Married,Repair,N/A,Male,0,N/A,1 +N/A,Private,Vocational,Absent,N/A,103966.05,Male,N/A,40,0 +32,Private,College,Divorced,Executive,143377.9,Female,N/A,42,0 +28,Private,HSgrad,N/A,Machinist,52831.47,N/A,0,N/A,0 +26,Private,College,Married,N/A,N/A,N/A,0,35,0 +28,Private,Bachelor,Absent,Clerical,N/A,Female,0,30,0 +46,N/A,HSgrad,Divorced,Clerical,N/A,N/A,0,40,0 +24,N/A,HSgrad,Absent,Farming,N/A,Male,N/A,N/A,0 +20,Private,N/A,Absent,Machinist,254079.71,Male,0,N/A,0 +N/A,N/A,Vocational,Absent,Support,56311.93,Male,0,40,0 +N/A,Private,N/A,Absent,Clerical,130201.98,N/A,N/A,N/A,0 +29,Private,HSgrad,Married,Transport,132856.27,Male,0,40,0 +23,PSFederal,Associate,N/A,Executive,152543.64,N/A,0,40,0 +44,Consultant,HSgrad,N/A,Transport,100000.66,Male,N/A,N/A,0 +42,Private,N/A,N/A,Machinist,94864.3,N/A,N/A,45,0 +38,Consultant,College,N/A,N/A,69478.37,N/A,N/A,40,0 +N/A,Private,Bachelor,Married,Transport,21281.7,Male,0,40,0 +18,Private,College,N/A,Service,112692.93,Female,0,N/A,0 +22,N/A,N/A,Absent,Clerical,184332.59,N/A,0,22,0 +23,Private,N/A,Absent,Sales,67374.54,Male,N/A,40,0 +53,N/A,Bachelor,Married,Professional,N/A,Male,0,52,1 +47,Private,HSgrad,Married,Repair,19109.03,Male,N/A,40,1 +N/A,N/A,HSgrad,Married,Transport,N/A,Male,0,N/A,1 +64,Private,Doctorate,Married,Professional,N/A,N/A,0,N/A,1 +33,Consultant,HSgrad,Married,Repair,29177.56,Male,0,40,0 +37,Private,N/A,Married,Professional,N/A,Male,N/A,50,1 +33,Private,Yr7t8,Absent,Sales,59588.77,Male,0,N/A,0 +35,N/A,HSgrad,Married,Sales,N/A,Male,0,50,0 +35,N/A,N/A,N/A,Clerical,131926.03,Female,N/A,N/A,0 +N/A,N/A,HSgrad,Absent,N/A,40068.93,Male,0,N/A,0 +52,N/A,N/A,N/A,N/A,N/A,Male,0,60,0 +N/A,Private,HSgrad,N/A,Executive,137081.84,N/A,0,N/A,0 +N/A,N/A,N/A,Divorced,N/A,26974.36,Male,0,40,0 +56,Private,HSgrad,Married,N/A,35286.3,Male,0,44,1 +21,N/A,N/A,Absent,N/A,63338.33,Male,0,N/A,0 +33,Private,N/A,N/A,N/A,41124.17,Male,0,N/A,0 +42,N/A,Bachelor,Married,Executive,63215.29,Male,1,60,1 +N/A,Private,HSgrad,N/A,Executive,56002.4,Male,0,40,0 +24,Private,HSgrad,Divorced,Machinist,110008.09,Male,0,40,0 +N/A,Private,HSgrad,Absent,Service,N/A,N/A,0,N/A,0 +31,Private,Yr12,Absent,Sales,N/A,N/A,0,50,0 +25,N/A,HSgrad,Unmarried,Repair,150471.56,Male,0,40,0 +47,N/A,N/A,Widowed,Professional,N/A,Female,0,N/A,0 +47,Private,N/A,Married,N/A,14925.85,Male,0,40,0 +33,Private,Bachelor,Unmarried,Professional,72762.3,Female,N/A,40,0 +39,Private,HSgrad,Married,Clerical,N/A,Female,0,40,1 +43,Consultant,Vocational,Divorced,N/A,100084.83,Male,0,25,0 +35,Private,N/A,N/A,Executive,40415.76,Male,0,50,1 +N/A,Private,College,Married,N/A,21246.65,N/A,0,50,1 +55,PSLocal,Master,N/A,Professional,N/A,Female,0,45,0 +N/A,Private,Yr10,Absent,Service,233409.77,Male,N/A,N/A,0 +27,N/A,HSgrad,Married,Machinist,N/A,Male,0,50,1 +55,N/A,N/A,Divorced,N/A,N/A,N/A,0,20,0 +28,N/A,Bachelor,Absent,Service,N/A,N/A,0,50,0 +N/A,Private,Bachelor,N/A,Executive,110297.69,Female,0,40,0 +37,Private,Bachelor,N/A,Support,210851.71,Female,0,40,1 +N/A,PSState,Bachelor,Divorced,Executive,N/A,Female,0,40,0 +31,SelfEmp,HSgrad,Absent,N/A,16438.72,Male,N/A,44,0 +N/A,Private,Vocational,Widowed,Repair,23892.12,Female,0,30,0 +43,N/A,Master,Widowed,Professional,19841.6,Female,0,37,0 +N/A,Private,College,N/A,N/A,N/A,Female,0,40,0 +33,Private,HSgrad,Divorced,Clerical,N/A,N/A,N/A,40,0 +64,PSFederal,Associate,Unmarried,Professional,53105.64,Female,0,40,1 +24,Private,College,Absent,N/A,N/A,N/A,N/A,45,0 +25,Private,Bachelor,Absent,N/A,25238.23,N/A,0,N/A,0 +42,Private,N/A,Married,Repair,22883.66,N/A,0,N/A,1 +21,PSState,College,Absent,Executive,103450.75,Male,0,N/A,0 +36,Private,HSgrad,Divorced,Executive,121314.79,Female,N/A,40,0 +N/A,N/A,N/A,Absent,N/A,182471.48,Male,0,N/A,0 +46,Consultant,HSgrad,Married,N/A,68114.69,Male,0,N/A,0 +27,Private,Yr7t8,Absent,Service,31669.08,Male,0,35,0 +55,Private,College,Divorced,N/A,52738.91,Male,0,40,0 +43,Private,HSgrad,Married,Cleaner,31786.89,Male,0,40,0 +58,Consultant,N/A,Married,N/A,N/A,Male,0,50,0 +31,PSLocal,N/A,N/A,Protective,54288.61,Male,N/A,N/A,0 +34,Consultant,Bachelor,Married,Sales,42289.78,Male,0,55,0 +53,Private,HSgrad,Married,N/A,N/A,Male,N/A,60,0 +31,Private,N/A,Married,N/A,59196,Male,N/A,55,0 +N/A,SelfEmp,HSgrad,Married,Repair,11703.44,Male,0,40,0 +N/A,Private,HSgrad,Married,Cleaner,58729.5,Male,0,40,0 +45,N/A,N/A,N/A,Repair,17868.72,Male,0,40,0 +23,Private,Yr5t6,Absent,Cleaner,81443.06,Male,N/A,55,0 +17,Private,Yr11,Absent,Repair,80669.22,N/A,0,10,0 +28,Private,N/A,N/A,Executive,38719.04,Male,0,N/A,0 +34,N/A,HSgrad,Married,Transport,N/A,Male,N/A,35,0 +37,Private,College,Married,Service,14412.91,Male,N/A,40,1 +N/A,Private,HSgrad,Divorced,Transport,91631.97,N/A,0,40,0 +35,Private,N/A,Divorced,N/A,81222.6,Female,0,40,0 +42,Private,Bachelor,Married,Executive,38065.64,Male,0,N/A,1 +43,PSLocal,Master,Married,N/A,20245.04,Male,0,40,1 +N/A,Private,Bachelor,N/A,N/A,9908.42,Male,0,40,1 +59,PSState,Master,Married,Professional,32407.59,Male,0,50,0 +29,N/A,Master,Married,Professional,42315.24,Male,0,20,0 +37,PSLocal,HSgrad,Divorced,Clerical,165293.02,Female,N/A,N/A,0 +52,Private,Yr10,Married,N/A,25276.19,Male,0,30,1 +43,Private,Bachelor,Unmarried,N/A,N/A,Male,0,40,0 +26,Private,Yr5t6,Absent,Farming,N/A,Male,0,40,0 +53,Private,HSgrad,Married,Executive,34590.96,Male,0,N/A,0 +51,Private,Master,Married,Executive,23800.98,Male,N/A,47,1 +29,Private,N/A,Absent,N/A,N/A,Female,0,40,0 +20,Private,College,Absent,Transport,25358.05,Male,0,40,0 +36,N/A,N/A,Absent,N/A,80958.09,N/A,0,N/A,0 +32,Consultant,N/A,Married,Repair,13173.25,Male,0,N/A,0 +N/A,Private,N/A,Divorced,N/A,71600.25,Female,0,40,0 +37,Private,Bachelor,N/A,Clerical,39093.3,N/A,0,50,1 +57,PSFederal,Master,Married,Executive,34700.45,Male,N/A,40,1 +N/A,Private,Yr11,Married,N/A,17142.5,Male,0,40,0 +67,PSLocal,HSgrad,Divorced,N/A,80081.26,N/A,N/A,N/A,0 +N/A,Private,HSgrad,Absent,Repair,N/A,Male,0,40,0 +44,Private,N/A,N/A,Executive,20924.33,N/A,0,N/A,1 +32,PSLocal,HSgrad,Married,Protective,35745.96,Male,N/A,N/A,0 +25,Consultant,Yr9,N/A,Repair,74054.02,Male,N/A,N/A,0 +60,N/A,Yr7t8,Divorced,Machinist,345263.49,Female,N/A,N/A,0 +N/A,N/A,N/A,N/A,Sales,101145.88,Female,0,30,0 +38,Private,HSgrad,Married,Machinist,N/A,Male,0,65,1 +22,Private,HSgrad,Absent,Clerical,99136.05,Female,N/A,40,0 +N/A,SelfEmp,Professional,Divorced,N/A,48110.95,Male,0,60,1 +N/A,Private,N/A,N/A,Sales,N/A,Male,0,35,0 +N/A,Private,Associate,Married,Clerical,421075.3,N/A,0,N/A,1 +31,Private,HSgrad,Absent,N/A,N/A,Female,0,20,0 +30,Private,N/A,Absent,Sales,116063,Male,0,N/A,1 +47,Private,HSgrad,N/A,Clerical,N/A,Male,0,N/A,1 +32,N/A,N/A,Married,Service,40578.25,Male,0,N/A,0 +N/A,Private,Vocational,N/A,N/A,188614.92,Male,0,N/A,0 +51,Private,Associate,Married,Sales,N/A,Male,0,45,1 +26,Private,N/A,Married,N/A,42713.56,Male,0,N/A,0 +50,N/A,Master,Absent,Professional,N/A,N/A,0,50,0 +34,Private,HSgrad,Married,Clerical,N/A,N/A,0,40,0 +45,PSLocal,College,Married,Executive,22778.96,Male,0,40,1 +24,N/A,HSgrad,Absent,Sales,223001.87,Male,0,40,0 +33,Private,HSgrad,Married,Transport,N/A,N/A,0,40,0 +20,Private,HSgrad,Absent,Cleaner,N/A,N/A,0,40,0 +66,Private,HSgrad,Married,Cleaner,N/A,N/A,N/A,10,0 +31,N/A,Vocational,Married,N/A,N/A,N/A,0,N/A,0 +60,Private,N/A,Married,Clerical,N/A,N/A,N/A,40,1 +37,PSFederal,HSgrad,Married,N/A,27784.15,N/A,0,40,1 +24,Private,Preschool,Absent,Farming,75883.25,Male,0,36,0 +24,Private,College,Married,Repair,21758.27,Male,0,N/A,0 +30,Private,College,N/A,N/A,N/A,Male,N/A,N/A,0 +29,N/A,HSgrad,N/A,Transport,16846.91,Male,0,N/A,0 +42,Consultant,Bachelor,Married,Sales,39354.85,Male,0,48,0 +26,Private,Associate,Absent,Machinist,84616.57,Female,0,N/A,0 +43,Private,Yr10,Unmarried,Service,121900.47,Female,0,40,0 +26,Private,Yr11,N/A,N/A,41447.11,Male,0,40,0 +40,Private,HSgrad,Married,Machinist,30124.74,Male,0,40,1 +59,N/A,Master,Married,Repair,N/A,Male,0,40,1 +26,N/A,Bachelor,Absent,Professional,51172.07,Female,0,N/A,0 +32,Private,HSgrad,N/A,Clerical,163076.41,N/A,0,N/A,0 +27,Consultant,N/A,Absent,N/A,N/A,Male,0,80,0 +38,PSLocal,HSgrad,Married,Transport,59260.14,Male,0,20,0 +49,Private,Master,Married,Executive,N/A,Male,1,40,1 +41,Private,HSgrad,N/A,Repair,122514.84,Male,N/A,40,0 +23,Private,Bachelor,Absent,N/A,191114.32,Male,0,40,0 +28,Private,N/A,Widowed,Clerical,190439.04,Female,1,35,0 +36,Private,HSgrad,N/A,Transport,32859.42,N/A,0,N/A,0 +24,Private,Bachelor,Absent,Executive,142422.3,Male,N/A,N/A,0 +N/A,Private,N/A,Married,Repair,55006.81,Male,0,50,0 +51,Private,College,Married,Executive,115990.3,Female,N/A,10,1 +30,N/A,N/A,Absent,Service,N/A,Male,0,N/A,0 +N/A,Consultant,HSgrad,Married,Executive,16006.97,Male,1,45,1 +47,Consultant,Bachelor,Married,Sales,N/A,Male,0,40,0 +19,Private,College,N/A,Sales,134671.12,Female,0,N/A,0 +31,Private,HSgrad,Divorced,Professional,48582.26,N/A,0,40,0 +N/A,Private,HSgrad,Married,Machinist,174275.99,Female,0,40,0 +38,N/A,N/A,Married,Cleaner,26562.14,Male,0,40,0 +28,Private,College,N/A,Repair,17654.51,N/A,0,60,1 +N/A,N/A,N/A,N/A,N/A,171712.27,N/A,N/A,30,0 +N/A,Private,Vocational,Absent,N/A,328613.91,Male,0,40,0 +29,N/A,College,Absent,Cleaner,36235.39,Male,0,45,0 +27,N/A,HSgrad,N/A,N/A,97778.54,Male,0,40,0 +44,N/A,HSgrad,Divorced,Support,N/A,N/A,0,50,1 +N/A,Consultant,N/A,Married,Executive,28421.93,Male,0,10,0 +N/A,Private,N/A,Married,Service,255829.6,Female,N/A,30,0 +71,PSState,Professional,Married,Service,30615.09,Male,N/A,28,0 +25,PSLocal,N/A,Absent,Support,140931.66,Female,0,40,0 +57,PSState,HSgrad,N/A,N/A,42016.25,Male,0,N/A,1 +66,Private,College,Married,Sales,24719.18,Male,0,N/A,0 +N/A,Private,Yr5t6,N/A,N/A,N/A,N/A,0,N/A,0 +48,Private,Associate,Divorced,Clerical,N/A,Female,N/A,40,0 +40,Private,Associate,Absent,N/A,61930.88,Male,0,40,0 +22,Private,N/A,N/A,N/A,115747.3,Male,0,44,0 +N/A,N/A,Associate,Absent,N/A,83661,Female,0,40,1 +51,N/A,Bachelor,Married,Sales,73559.69,Male,0,50,1 +N/A,Private,N/A,Unmarried,Sales,N/A,N/A,0,10,0 +26,Private,Yr10,Absent,Clerical,N/A,Female,N/A,N/A,0 +23,N/A,N/A,N/A,N/A,35654.11,Male,N/A,45,0 +27,N/A,Bachelor,N/A,Sales,42056.01,Male,N/A,25,0 +67,N/A,HSgrad,Married,N/A,46082.74,Male,0,40,1 +22,N/A,Yr5t6,Married,N/A,33721.18,Male,0,40,0 +59,SelfEmp,College,Married,Executive,18173.6,Male,N/A,N/A,1 +35,Private,College,Married,Sales,32143.1,Male,0,40,0 +N/A,Private,N/A,N/A,Service,26201.5,N/A,0,40,0 +54,Private,Yr10,Married,Cleaner,N/A,Male,0,40,0 +18,Private,N/A,Absent,Service,N/A,Male,0,20,0 +31,Private,N/A,N/A,Repair,N/A,Male,0,40,1 +45,N/A,HSgrad,N/A,N/A,30706.26,N/A,0,55,1 +27,N/A,N/A,Divorced,N/A,291269.15,Female,0,40,0 +49,Private,Vocational,N/A,Support,175877.19,Female,0,N/A,0 +53,Private,HSgrad,N/A,Transport,33204.38,Male,N/A,N/A,1 +N/A,PSFederal,College,Divorced,Clerical,178189.6,Female,0,40,0 +54,PSLocal,N/A,Absent,N/A,120586.35,N/A,0,40,0 +N/A,PSFederal,College,Married,Cleaner,27526.46,Male,0,N/A,0 +29,Private,N/A,Absent,N/A,69967.33,Male,0,45,0 +33,Consultant,N/A,Married,Executive,32405.19,Male,0,45,0 +38,Private,N/A,Absent,Service,141697.29,Female,N/A,30,0 +79,N/A,Bachelor,N/A,N/A,1598.95,Male,N/A,40,0 +58,Private,HSgrad,Widowed,Clerical,N/A,Female,0,40,0 +N/A,Private,N/A,Absent,Service,N/A,N/A,0,20,0 +N/A,Private,Associate,Divorced,Repair,N/A,Male,0,45,0 +24,Private,N/A,Absent,Farming,175354.11,N/A,0,50,0 +29,N/A,Bachelor,Absent,Professional,62808.8,Male,0,40,0 +17,Private,N/A,N/A,Cleaner,117629.97,Male,N/A,10,0 +31,Consultant,HSgrad,Divorced,N/A,32864.65,Male,0,35,0 +N/A,Private,College,N/A,Sales,57036.86,N/A,0,N/A,0 +N/A,Private,HSgrad,N/A,Service,125044.05,N/A,N/A,30,0 +54,N/A,College,N/A,Clerical,N/A,Female,N/A,40,0 +30,Private,Professional,Absent,Professional,N/A,Female,0,40,0 +22,Private,HSgrad,N/A,Service,207989.32,N/A,N/A,40,0 +N/A,Private,HSgrad,Absent,Home,105205.97,Female,N/A,40,0 +76,PSFederal,N/A,Widowed,Professional,90883.96,Female,0,15,0 +57,N/A,Bachelor,Divorced,Executive,85398.16,Male,N/A,40,0 +N/A,PSState,Bachelor,Married,Professional,26199.46,Male,0,37,0 +N/A,PSLocal,College,Married,Executive,15281.6,N/A,0,35,0 +22,N/A,College,N/A,Sales,82437.34,Female,0,17,0 +N/A,Private,N/A,Married,N/A,N/A,N/A,0,40,0 +25,Private,HSgrad,Absent,N/A,N/A,Female,N/A,N/A,0 +24,N/A,HSgrad,Divorced,Service,225317.12,N/A,N/A,40,0 +49,N/A,Associate,N/A,Executive,65953.27,Male,0,25,0 +58,Private,N/A,Married,Clerical,76211.05,Male,0,45,1 +N/A,Private,N/A,Married,Transport,37398.27,Male,N/A,45,1 +19,Consultant,HSgrad,N/A,Service,57730.91,Male,0,53,0 +23,N/A,HSgrad,Married,Transport,20959.54,Male,0,60,0 +N/A,Private,Yr11,Married,N/A,21525.26,Male,0,40,0 +41,N/A,HSgrad,N/A,Sales,N/A,N/A,0,62,0 +36,Private,Associate,N/A,N/A,46578.97,Male,0,40,0 +18,PSFederal,College,Absent,N/A,135003.08,Female,0,32,0 +N/A,Private,N/A,Absent,Sales,148944.25,N/A,N/A,20,0 +28,Private,Doctorate,Absent,Professional,100415.86,N/A,0,N/A,1 +59,N/A,Bachelor,Married,Repair,42148.58,Male,0,4,0 +55,PSLocal,Master,Married,Executive,38521.57,N/A,0,50,0 +31,N/A,N/A,Absent,Professional,N/A,Female,N/A,40,0 +28,N/A,HSgrad,Married,Machinist,31235.77,N/A,0,40,0 +32,Private,N/A,Married,Executive,46009.41,Male,0,60,1 +45,N/A,College,Divorced,N/A,N/A,Female,N/A,N/A,0 +40,Private,HSgrad,N/A,N/A,275897.1,Male,0,45,0 +N/A,N/A,College,Married,Repair,35282.57,Male,N/A,50,1 +N/A,Private,Vocational,Married,Sales,23895.35,Male,N/A,N/A,0 +23,Private,College,Absent,Support,25190.43,N/A,0,N/A,0 +N/A,Private,HSgrad,Married,Repair,35669.1,Male,0,40,0 +37,N/A,Associate,Absent,Clerical,N/A,Female,0,40,0 +23,PSState,HSgrad,Absent,N/A,220099.64,Male,N/A,N/A,0 +32,Private,Bachelor,Absent,Executive,217570.86,Female,N/A,N/A,0 +21,Private,N/A,N/A,Clerical,102106.03,Male,0,N/A,0 +46,PSState,N/A,Divorced,Executive,10067.38,Male,N/A,40,0 +N/A,N/A,Yr7t8,Absent,Service,N/A,Female,N/A,40,0 +44,Private,College,Divorced,N/A,N/A,Female,0,50,0 +35,N/A,N/A,Divorced,Repair,171957.58,N/A,0,15,0 +57,PSFederal,HSgrad,Absent,Clerical,3666.87,Male,1,40,0 +64,SelfEmp,HSgrad,Married,Clerical,122906.29,Female,N/A,40,1 +52,Private,Master,N/A,Professional,56251.18,Female,0,N/A,0 +36,Private,College,Divorced,Clerical,N/A,N/A,0,45,0 +39,Private,N/A,Married,Sales,168753.79,Female,0,36,0 +18,N/A,College,N/A,N/A,177348.64,Male,0,30,0 +24,N/A,Bachelor,N/A,Professional,79484.82,Female,0,40,0 +30,Private,HSgrad,N/A,Repair,38139.25,Male,N/A,40,0 +40,Private,College,Married,Repair,26579.19,Male,0,52,0 +35,PSState,N/A,Divorced,Clerical,N/A,Female,0,40,0 +44,N/A,N/A,Married,Sales,22373.02,Male,0,55,0 +32,N/A,Bachelor,Married,Executive,N/A,Male,0,40,0 +50,N/A,N/A,Married,Machinist,31436.62,Male,0,40,0 +51,Consultant,Associate,Divorced,Executive,257253.9,Female,N/A,99,0 +36,Private,Yr11,N/A,Transport,45375.02,Male,0,47,0 +34,N/A,College,Married,Service,28083.21,Male,0,40,0 +N/A,Private,HSgrad,Absent,N/A,N/A,Female,0,40,0 +65,Private,Yr10,Divorced,Cleaner,100886.51,Female,0,28,0 +30,Private,Associate,Unmarried,Service,205539.85,Female,N/A,40,0 +29,N/A,Bachelor,Absent,Executive,84409.78,Female,0,55,0 +N/A,N/A,Professional,Married,Sales,8856.16,N/A,N/A,45,1 +38,Private,HSgrad,N/A,Executive,187366.22,Female,0,40,0 +N/A,Private,College,Married,Cleaner,31677.52,Male,N/A,40,0 +43,N/A,N/A,Absent,Professional,N/A,N/A,0,40,1 +43,Consultant,N/A,Married,Repair,N/A,Male,0,60,0 +44,Private,Bachelor,N/A,Professional,143817,N/A,0,40,0 +N/A,N/A,N/A,Absent,Sales,138764.04,Female,N/A,40,0 +68,Private,Master,Married,Professional,52533.94,Male,0,18,0 +N/A,N/A,HSgrad,N/A,Transport,67822.94,Female,0,15,0 +25,N/A,College,Married-spouse-absent,Sales,76402.88,Male,N/A,50,0 +N/A,N/A,College,Unmarried,N/A,N/A,Male,0,40,0 +32,N/A,Bachelor,Married,Professional,40586.22,Male,0,60,1 +52,Private,Bachelor,Married,Professional,N/A,Male,N/A,N/A,1 +50,Private,N/A,Married,Repair,35494.55,Male,0,N/A,0 +N/A,N/A,N/A,N/A,N/A,53584.82,N/A,0,40,0 +29,Private,Professional,N/A,N/A,N/A,Male,0,50,1 +N/A,N/A,College,Married,N/A,30224.06,Male,0,60,1 +41,PSLocal,N/A,N/A,Professional,N/A,Female,0,35,0 +25,Private,College,Married,N/A,206963.41,N/A,0,N/A,1 +N/A,N/A,N/A,Married,N/A,34588.34,N/A,0,99,0 +33,N/A,College,Married,N/A,31790.75,Male,0,N/A,1 +51,Private,College,Married,Executive,20839.23,Male,N/A,N/A,0 +40,Private,N/A,Divorced,Service,54892.68,Female,0,32,0 +18,Private,Yr11,Absent,Cleaner,194452.97,Male,N/A,N/A,0 +N/A,SelfEmp,College,N/A,Repair,N/A,N/A,0,60,0 +N/A,N/A,N/A,Unmarried,N/A,121944.1,Female,0,40,0 +22,Private,HSgrad,N/A,N/A,55761.59,Female,0,N/A,0 +57,N/A,Professional,N/A,Executive,N/A,Male,0,55,1 +22,Private,College,Absent,N/A,N/A,Female,N/A,N/A,0 +32,Private,HSgrad,Absent,Machinist,111634.75,N/A,N/A,40,0 +56,Private,College,Widowed,Executive,39069.69,Male,0,60,0 +29,Private,Bachelor,N/A,Executive,74954.41,Female,0,N/A,0 +68,Consultant,College,Married,Service,48124.25,Male,0,30,0 +48,Private,N/A,Widowed,Machinist,N/A,N/A,0,48,0 +51,PSLocal,Preschool,Married,Service,31754.77,Male,N/A,40,0 +33,N/A,Yr7t8,Married,Clerical,33042.03,Male,0,45,0 +61,N/A,Bachelor,Married,Professional,30331.18,Male,0,N/A,0 +31,Private,N/A,Married,Machinist,23874.25,Male,N/A,N/A,0 +37,Private,N/A,Divorced,Executive,66208.15,N/A,N/A,N/A,0 +N/A,N/A,N/A,Absent,N/A,83677.12,Female,0,40,0 +25,PSLocal,N/A,Absent,Clerical,71379.99,Female,0,N/A,0 +28,Private,Professional,Absent,N/A,96723.42,Male,0,55,1 +N/A,N/A,HSgrad,Absent,N/A,99433.23,Male,0,48,0 +N/A,PSLocal,N/A,N/A,Professional,240000.62,N/A,0,40,1 +39,Private,HSgrad,N/A,Clerical,234458.87,Female,0,40,0 +57,SelfEmp,N/A,Unmarried,Farming,N/A,Male,0,60,1 +N/A,Private,HSgrad,N/A,Repair,N/A,N/A,N/A,40,1 +29,Private,HSgrad,Married,N/A,23718.47,Male,0,50,0 +N/A,N/A,N/A,Married,Sales,20873.96,Male,0,20,0 +42,N/A,N/A,Unmarried,N/A,118691.41,Male,0,40,0 +48,Private,N/A,Married,Executive,45432.97,Male,N/A,50,1 +45,Private,N/A,Divorced,Sales,233344.97,N/A,0,40,0 +20,N/A,College,Absent,Cleaner,N/A,Male,N/A,20,0 +55,Private,N/A,Divorced,Professional,274368.49,Female,0,N/A,0 +33,Private,N/A,Absent,Service,142528.17,Male,N/A,20,0 +29,Private,HSgrad,Married,Machinist,43062.27,Male,0,40,1 +37,Private,Associate,N/A,Machinist,N/A,Male,0,40,1 +38,Private,College,Divorced,Repair,N/A,N/A,1,40,0 +61,Private,N/A,Widowed,Service,78161.84,Female,0,21,0 +31,Private,Yr7t8,Absent,Cleaner,209072.7,Male,N/A,50,0 +24,Private,Bachelor,N/A,Executive,114400.18,Female,0,40,0 +N/A,SelfEmp,Bachelor,N/A,Executive,13353.45,Male,N/A,50,1 +17,Private,Yr11,Absent,Sales,142371.67,Female,0,N/A,0 +N/A,Private,Doctorate,Divorced,Professional,N/A,Female,0,N/A,0 +N/A,Private,N/A,Married,Sales,20632.31,Male,0,50,0 +46,Private,N/A,N/A,N/A,61254.08,Male,0,42,0 +38,N/A,HSgrad,Married,Sales,33483.98,Male,0,55,1 +51,SelfEmp,N/A,Unmarried,Sales,50492.45,Female,N/A,40,0 +60,Consultant,N/A,Absent,Farming,154705.59,Male,N/A,42,0 +N/A,N/A,College,Married,Service,N/A,Male,0,17,0 +N/A,N/A,Bachelor,Married,Professional,49069.97,Male,0,60,0 +53,Private,Bachelor,Divorced,Professional,104338.96,N/A,0,55,1 +N/A,Private,Associate,Married,Executive,30194.57,Male,1,55,1 +26,PSLocal,Bachelor,N/A,N/A,69007.71,Male,N/A,40,0 +N/A,Private,Associate,Absent,Professional,N/A,Male,0,40,0 +55,Consultant,HSgrad,Married,Repair,33803.72,Male,N/A,50,0 +22,Private,College,Absent,Clerical,124753.78,Male,0,40,0 +44,Private,Bachelor,Married,Executive,N/A,Male,0,35,1 +59,Private,N/A,Married,Sales,43930.77,Male,0,N/A,1 +50,Consultant,HSgrad,N/A,N/A,55799.59,Male,0,50,1 +39,Private,HSgrad,Married,N/A,25320.87,Male,N/A,38,0 +20,Private,HSgrad,Absent,Cleaner,N/A,Male,0,N/A,0 +41,PSLocal,Bachelor,Absent,Professional,110633.95,N/A,0,70,0 +24,Private,College,Absent,N/A,150730.43,Male,0,20,0 +39,N/A,College,N/A,N/A,94188.68,Male,0,40,0 +21,N/A,HSgrad,Married,Professional,79611.59,Male,0,40,1 +17,Private,Yr11,Absent,Sales,233991.23,Female,N/A,13,0 +38,Private,HSgrad,Married,Service,26171.75,Male,N/A,45,0 +N/A,Private,Bachelor,Absent,Sales,28958.24,Male,N/A,48,0 +34,N/A,HSgrad,Absent,Clerical,43357.42,Female,0,N/A,0 +62,Private,N/A,Married,N/A,34262.01,N/A,0,40,1 +N/A,Private,Bachelor,Married,Sales,87725.56,N/A,N/A,N/A,1 +N/A,Private,College,Absent,Clerical,38259.45,Male,0,40,0 +35,Private,Professional,Married,Professional,31952.02,Male,1,80,1 +42,Private,Yr9,Married,N/A,46002.84,Male,0,40,0 +42,Private,Yr5t6,N/A,Service,N/A,Male,0,N/A,0 +N/A,Consultant,HSgrad,Married,N/A,59042,Male,N/A,55,1 +22,Private,Bachelor,N/A,Clerical,N/A,N/A,0,25,0 +60,PSLocal,Vocational,Married,Executive,3014.74,Male,0,60,1 +N/A,Private,College,N/A,Service,121520.87,Male,0,24,0 +N/A,N/A,Yr11,Married,Cleaner,51515.54,Male,N/A,40,0 +31,N/A,HSgrad,Absent,Service,103482.55,Male,0,18,0 +N/A,Private,Bachelor,N/A,N/A,104566.67,Female,N/A,35,0 +56,Private,N/A,Married,Machinist,13057.35,N/A,0,N/A,0 +23,Private,HSgrad,Unmarried,Machinist,155890.97,Female,0,48,0 +57,SelfEmp,N/A,Married,Executive,31747.82,Male,N/A,40,0 +50,Private,HSgrad,Married,N/A,33440.91,Male,0,N/A,0 +52,N/A,Bachelor,Married-spouse-absent,Service,23160.66,N/A,0,50,0 +53,Private,N/A,Divorced,Clerical,48911.48,Female,0,40,0 +N/A,Private,Associate,Absent,Sales,219075.39,Female,0,N/A,0 +57,Private,Associate,Widowed,Clerical,42470.4,N/A,0,35,0 +N/A,Private,HSgrad,Married,Repair,N/A,N/A,N/A,N/A,1 +N/A,N/A,HSgrad,Married,N/A,54605.61,Male,0,40,0 +N/A,Private,HSgrad,Married,N/A,170159.13,Female,N/A,40,0 +38,Private,N/A,N/A,Professional,162800.09,Female,0,N/A,1 +N/A,N/A,N/A,N/A,N/A,19182.6,N/A,0,16,1 +22,Private,N/A,Married,N/A,N/A,Male,N/A,55,0 +N/A,SelfEmp,College,N/A,Sales,47593.85,Male,0,40,0 +26,Private,College,N/A,Clerical,88260.51,Male,0,20,0 +17,PSFederal,Yr11,Absent,Clerical,N/A,Female,1,40,0 +38,N/A,Master,Married,Executive,12642.83,Male,0,40,0 +N/A,Private,Bachelor,N/A,N/A,28248.62,Male,0,40,1 +36,N/A,N/A,N/A,Professional,50548.68,Male,N/A,N/A,0 +22,N/A,HSgrad,Absent,Service,116599.3,Male,0,N/A,0 +49,Private,HSgrad,Divorced,Clerical,63067.11,Male,0,40,0 +49,N/A,Doctorate,Married,Professional,N/A,Male,0,60,1 +N/A,Private,N/A,N/A,Farming,134026.54,Male,0,36,0 +N/A,PSLocal,HSgrad,Married,Repair,N/A,Male,0,N/A,0 +59,Private,College,Married,N/A,119559.14,Female,0,N/A,1 +21,Private,Bachelor,Absent,Clerical,22041.96,Male,0,40,0 +47,Private,Yr10,Married-spouse-absent,Transport,55555.13,N/A,0,45,0 +64,N/A,Vocational,Married,Repair,N/A,N/A,0,10,0 +N/A,Private,Bachelor,Married,N/A,273503.75,Female,0,40,0 +28,Private,N/A,Married,Sales,26988.92,Male,0,45,1 +N/A,Consultant,College,N/A,N/A,40963.38,Male,0,45,1 +57,Private,HSgrad,Absent,Clerical,81300.04,Female,0,40,0 +N/A,Private,Vocational,Absent,N/A,93156.39,Female,0,45,0 +57,Private,Yr7t8,N/A,Repair,N/A,Male,0,40,0 +55,N/A,N/A,N/A,Professional,11144.16,Male,0,N/A,1 +37,Private,Yr1t4,N/A,Service,11180.76,Male,N/A,53,0 +44,PSFederal,College,Married,N/A,16851.35,N/A,0,40,0 +20,Private,HSgrad,N/A,Service,156308,Male,0,50,0 +23,Private,College,Married,Executive,173514.26,N/A,0,25,0 +33,Private,N/A,N/A,Executive,26138.85,Male,0,65,1 +22,Private,College,N/A,Sales,183027.36,N/A,N/A,34,0 +26,Private,Master,Absent,Executive,33742.92,Female,0,30,0 +27,Private,HSgrad,Divorced,N/A,107597.36,N/A,N/A,38,0 +57,N/A,N/A,Married,Executive,41397.34,N/A,0,60,0 +27,PSLocal,Bachelor,Married,Protective,57082.91,Male,0,68,0 +56,N/A,HSgrad,Married,N/A,31904.07,N/A,0,N/A,0 +33,N/A,College,Married,Executive,40009.78,Male,0,50,0 +42,Private,Bachelor,N/A,Executive,N/A,Male,0,45,1 +21,N/A,N/A,N/A,Cleaner,92413.46,Female,N/A,40,0 +31,N/A,College,Married,N/A,58473.08,N/A,0,40,0 +N/A,N/A,N/A,Divorced,Sales,95109.38,Male,0,50,0 +21,Private,HSgrad,Absent,Repair,51781.5,Female,N/A,N/A,0 +41,N/A,N/A,N/A,N/A,29182.56,Male,0,52,0 +28,Consultant,Bachelor,N/A,Professional,101707.48,Male,0,60,0 +N/A,Private,HSgrad,N/A,Machinist,154442.07,Male,N/A,40,0 +N/A,N/A,College,Absent,Service,N/A,N/A,N/A,N/A,0 +41,Private,Bachelor,Unmarried,Sales,199258.2,Female,N/A,N/A,0 +26,N/A,HSgrad,Absent,N/A,105372.12,N/A,0,80,1 +54,Private,N/A,N/A,Sales,94127.31,N/A,N/A,N/A,0 +N/A,N/A,N/A,Divorced,Repair,N/A,Male,1,50,0 +N/A,Consultant,HSgrad,Married,Sales,230440.99,Female,0,N/A,0 +28,Private,Bachelor,Unmarried,N/A,N/A,Female,0,N/A,1 +61,N/A,Yr1t4,Married,Repair,N/A,Male,N/A,20,0 +36,N/A,College,N/A,Machinist,49119.89,Male,N/A,50,1 +43,Private,N/A,Married,Executive,N/A,N/A,0,N/A,0 +51,Consultant,HSgrad,Divorced,Sales,111275.28,Male,N/A,N/A,0 +33,Private,Master,Absent,Executive,63012.31,Male,0,40,1 +N/A,Private,Bachelor,Married,Executive,33055.28,Male,0,N/A,1 +28,Private,Vocational,Absent,Cleaner,91545.36,Female,0,N/A,0 +55,Private,Yr5t6,Married,Repair,33493.58,N/A,0,50,0 +31,Private,College,Married,Repair,22651.21,Male,0,40,0 +N/A,Private,Bachelor,Absent,Professional,92236.39,Male,N/A,45,0 +32,Private,N/A,Absent,Service,126572.84,Female,N/A,40,0 +N/A,Private,N/A,Married,Sales,59350.35,Male,0,40,0 +37,N/A,N/A,Married,Executive,59792.76,Male,0,40,1 +60,N/A,HSgrad,Married,Protective,12224.01,Male,0,40,0 +40,Private,College,Married,Clerical,58086.76,Male,0,55,1 +53,Consultant,N/A,Married,Executive,37678.12,Male,0,45,1 +28,Private,Bachelor,Married,N/A,37757.55,N/A,0,40,0 +N/A,Private,Yr7t8,Divorced,Repair,77797.98,Male,1,40,0 +N/A,Private,N/A,Absent,Sales,81562.92,Male,0,40,0 +32,Private,HSgrad,Divorced,N/A,202147.56,Female,N/A,35,0 +N/A,Private,Yr11,Widowed,Cleaner,148760.26,Female,0,N/A,0 +50,Private,HSgrad,Divorced,Clerical,106739.42,N/A,N/A,35,0 +N/A,Private,HSgrad,Absent,N/A,194625.75,N/A,0,40,1 +46,Private,Yr10,N/A,Service,82756.91,Male,N/A,N/A,0 +N/A,Private,College,Married,Machinist,19608.66,N/A,0,45,0 +39,Private,HSgrad,Absent,Repair,46967.93,Male,N/A,N/A,1 +N/A,Private,N/A,Married,Executive,N/A,Male,0,N/A,1 +39,N/A,Vocational,Divorced,Executive,154519.19,N/A,0,40,0 +53,SelfEmp,Bachelor,Married,Clerical,253732.98,Female,0,50,0 +N/A,PSLocal,College,Married,Professional,62591.86,N/A,0,40,0 +N/A,Private,College,Married,Transport,33317.04,Male,0,55,0 +41,Private,N/A,Divorced,Executive,25002.3,N/A,0,50,1 +42,N/A,HSgrad,N/A,N/A,81695.14,Male,N/A,40,0 +23,N/A,College,N/A,Sales,88467.13,Male,0,N/A,0 +32,N/A,Bachelor,Married,Sales,30967.52,Male,0,N/A,1 +27,Private,N/A,N/A,Executive,62471.07,N/A,0,45,0 +N/A,Private,Vocational,Married,Professional,53662.76,Male,0,40,1 +N/A,Private,N/A,Divorced,Cleaner,48292.84,Male,0,40,0 +54,N/A,Master,Married,Transport,42793.14,Male,0,60,1 +18,Private,Yr12,N/A,N/A,N/A,N/A,0,N/A,0 +47,N/A,HSgrad,Married,N/A,N/A,Male,N/A,40,1 +41,Private,N/A,Married,Repair,60650.09,Male,0,40,0 +N/A,Private,Yr10,Absent,Sales,80838.04,Male,N/A,20,0 +21,Private,College,N/A,N/A,2164.59,Female,N/A,40,0 +31,Private,College,Absent,Farming,77164.89,Female,N/A,N/A,0 +27,Private,N/A,Divorced,Executive,33513.96,Male,0,N/A,0 +41,Private,Yr1t4,Married,Sales,43687.09,Male,N/A,50,0 +35,Private,College,Absent,N/A,N/A,Male,0,48,0 +33,Private,HSgrad,Married,Machinist,N/A,Male,0,40,0 +31,Private,Bachelor,Married,Sales,27154.65,N/A,0,N/A,0 +57,Private,N/A,Married,Cleaner,35863.69,N/A,0,40,0 +45,Private,Doctorate,Widowed,N/A,187277.08,Male,0,40,1 +42,Private,Bachelor,Married,Professional,246388.78,Female,0,27,1 +41,N/A,N/A,Married,Machinist,44503.75,N/A,0,40,0 +48,Private,Yr11,Absent,Service,54786.75,Female,0,30,0 +33,Private,N/A,N/A,Clerical,N/A,Male,0,36,0 +56,Private,HSgrad,Married,N/A,33984.18,N/A,0,N/A,1 +40,Private,Vocational,Married,Repair,33064.02,Male,0,40,0 +17,N/A,Yr11,Absent,N/A,N/A,N/A,0,25,0 +35,Private,Bachelor,Absent,Support,44416.37,N/A,0,40,0 +N/A,Private,N/A,Married,Repair,25314.83,Male,N/A,40,0 +56,Private,Yr7t8,N/A,Machinist,304680.96,N/A,0,45,0 +46,N/A,N/A,N/A,Executive,22808.31,Male,N/A,N/A,1 +48,Private,Yr5t6,Absent,Home,N/A,Female,0,N/A,0 +51,Private,Associate,Absent,Clerical,52618.68,Female,N/A,40,0 +35,Private,HSgrad,Divorced,Service,74662.5,N/A,0,N/A,0 +63,Consultant,HSgrad,N/A,Repair,33182.77,Male,N/A,32,0 +N/A,N/A,College,Absent,Machinist,N/A,Female,N/A,N/A,0 +24,Private,Bachelor,N/A,Sales,122563.95,N/A,0,40,0 +41,Private,HSgrad,N/A,Clerical,68259.98,N/A,0,40,0 +59,N/A,College,Married,Executive,26932.42,Male,N/A,N/A,1 +N/A,Private,Yr10,Absent,Service,125552.47,Male,0,N/A,0 +42,Private,HSgrad,Married,Repair,42519.73,N/A,0,40,0 +N/A,N/A,N/A,Married,N/A,24080.59,Male,0,N/A,0 +35,N/A,Associate,Married,Repair,57497.3,N/A,0,40,0 +32,N/A,N/A,N/A,Sales,30538.18,Male,0,44,0 +34,Private,College,N/A,Sales,N/A,Male,0,N/A,0 +N/A,Private,HSgrad,N/A,Clerical,139984.58,N/A,0,N/A,0 diff --git a/pmml-sparkml-lightgbm/src/test/resources/csv/AutoNA.csv b/pmml-sparkml-lightgbm/src/test/resources/csv/AutoNA.csv new file mode 100644 index 00000000..c76c1858 --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/csv/AutoNA.csv @@ -0,0 +1,393 @@ +cylinders,displacement,horsepower,weight,acceleration,model_year,origin,mpg +8,307,N/A,3504,12,70,N/A,18 +8,N/A,N/A,N/A,11.5,N/A,N/A,15 +8,318,150,N/A,11,70,1,18 +8,N/A,150,N/A,12,70,1,16 +8,302,140,3449,N/A,N/A,1,17 +8,429,N/A,4341,N/A,70,1,15 +8,454,220,4354,N/A,70,N/A,14 +8,440,N/A,N/A,N/A,70,N/A,14 +8,N/A,225,4425,10,70,N/A,14 +8,390,N/A,3850,8.5,70,1,15 +8,383,170,3563,10,70,N/A,15 +N/A,340,160,3609,N/A,N/A,N/A,14 +8,400,N/A,3761,N/A,70,N/A,15 +8,455,225,3086,10,70,1,14 +4,113,95,N/A,15,70,3,24 +6,198,N/A,2833,15.5,70,N/A,22 +6,N/A,97,N/A,15.5,70,1,18 +N/A,N/A,85,2587,16,70,N/A,21 +4,97,N/A,2130,14.5,70,N/A,27 +4,97,46,1835,20.5,70,2,26 +4,110,87,N/A,17.5,70,2,25 +4,107,90,2430,14.5,70,2,24 +4,104,N/A,2375,17.5,70,2,25 +4,121,113,N/A,N/A,N/A,2,26 +N/A,199,90,2648,15,70,1,21 +8,N/A,N/A,4615,N/A,70,1,10 +N/A,307,200,4376,15,N/A,1,10 +8,318,N/A,4382,13.5,70,1,11 +8,304,193,4732,18.5,70,1,9 +4,97,N/A,2130,14.5,71,N/A,27 +4,N/A,90,2264,N/A,71,N/A,28 +N/A,113,95,N/A,N/A,71,3,25 +6,232,100,2634,13,N/A,1,19 +N/A,225,N/A,N/A,15.5,71,1,16 +6,250,N/A,3329,N/A,71,1,17 +6,N/A,N/A,3302,15.5,71,1,19 +6,232,100,3288,15.5,71,N/A,18 +8,350,165,N/A,12,N/A,1,14 +8,400,175,N/A,11.5,71,1,14 +N/A,351,153,4154,13.5,N/A,1,14 +N/A,318,150,4096,13,71,N/A,14 +8,N/A,180,4955,11.5,71,1,12 +8,400,N/A,N/A,12,71,1,13 +8,400,175,5140,12,71,1,13 +6,258,110,N/A,13.5,N/A,1,18 +N/A,N/A,72,2408,19,71,N/A,22 +6,250,100,3282,15,71,1,19 +6,N/A,N/A,N/A,14.5,N/A,1,18 +4,122,N/A,N/A,N/A,N/A,N/A,23 +4,116,90,N/A,14,71,2,28 +N/A,N/A,70,2074,N/A,71,2,30 +N/A,88,76,2065,14.5,71,2,30 +4,71,65,1773,19,N/A,3,31 +4,72,69,1613,18,N/A,3,35 +4,97,60,1834,19,71,2,27 +N/A,N/A,70,1955,20.5,N/A,N/A,26 +4,113,95,2278,15.5,72,N/A,24 +4,N/A,N/A,2126,17,72,1,25 +N/A,97,N/A,2254,23.5,72,N/A,23 +N/A,140,N/A,2408,19.5,72,1,20 +4,122,N/A,2226,16.5,72,1,21 +8,350,165,4274,12,72,1,13 +8,400,175,4385,12,72,1,14 +8,318,N/A,4135,13.5,72,N/A,15 +8,N/A,153,4129,N/A,N/A,1,14 +N/A,304,150,3672,11.5,72,1,17 +N/A,429,N/A,4633,11,72,1,11 +8,350,155,4502,13.5,N/A,1,13 +8,N/A,160,N/A,13.5,72,1,12 +8,N/A,190,N/A,N/A,N/A,N/A,13 +N/A,N/A,97,2330,13.5,72,N/A,19 +N/A,N/A,N/A,3892,12.5,72,1,15 +8,307,130,4098,14,72,1,13 +8,N/A,140,4294,N/A,72,1,13 +N/A,318,150,4077,14,N/A,1,14 +4,121,N/A,2933,14.5,72,N/A,18 +4,121,76,2511,18,72,2,22 +4,120,87,2979,N/A,N/A,2,21 +4,96,69,2189,18,N/A,2,26 +N/A,N/A,N/A,N/A,16,72,1,22 +4,97,N/A,2288,N/A,72,3,28 +N/A,120,97,2506,14.5,72,3,23 +4,98,N/A,2164,15,72,1,28 +4,97,88,N/A,16.5,N/A,3,27 +8,350,N/A,4100,13,N/A,1,13 +N/A,N/A,N/A,3672,N/A,73,1,14 +8,N/A,145,3988,N/A,73,1,13 +N/A,N/A,137,4042,14.5,73,1,14 +N/A,318,N/A,3777,N/A,73,N/A,15 +8,429,N/A,4952,11.5,N/A,1,12 +8,400,150,4464,12,73,1,13 +8,351,158,4363,13,N/A,1,13 +8,318,150,4237,14.5,73,N/A,14 +8,440,215,4735,11,73,N/A,13 +8,455,225,4951,11,73,1,12 +8,360,175,3821,11,73,1,13 +6,225,105,3121,16.5,73,1,18 +N/A,250,100,N/A,18,73,1,16 +6,232,100,N/A,16,73,1,18 +6,250,N/A,3021,16.5,73,1,18 +6,198,95,N/A,16,73,N/A,23 +4,97,46,1950,21,73,N/A,26 +N/A,N/A,150,4997,N/A,N/A,1,11 +8,400,N/A,N/A,12.5,73,N/A,12 +8,N/A,170,N/A,13,73,1,13 +8,N/A,180,4499,12.5,73,N/A,12 +6,232,100,2789,15,73,1,18 +4,97,88,2279,19,N/A,3,20 +4,N/A,72,2401,N/A,N/A,1,21 +N/A,108,94,2379,16.5,N/A,3,22 +N/A,70,N/A,2124,13.5,73,3,18 +4,122,N/A,2310,N/A,N/A,N/A,19 +6,155,N/A,N/A,14,73,N/A,21 +4,98,90,2265,15.5,73,N/A,26 +N/A,350,N/A,4082,13,73,1,15 +8,N/A,230,4278,9.5,73,N/A,16 +N/A,68,49,1867,N/A,73,2,29 +4,116,N/A,N/A,15.5,73,N/A,24 +N/A,114,91,2582,N/A,73,2,20 +4,N/A,N/A,2868,15.5,73,2,19 +8,318,150,3399,11,N/A,1,15 +N/A,121,110,2660,14,N/A,2,24 +6,156,122,2807,N/A,73,3,20 +8,350,180,N/A,11,73,N/A,11 +6,198,95,3102,16.5,74,N/A,20 +6,N/A,N/A,N/A,N/A,74,1,19 +6,250,100,3336,17,74,N/A,15 +4,N/A,67,1950,19,N/A,N/A,31 +4,122,N/A,N/A,16.5,74,1,26 +4,71,N/A,1836,21,74,3,32 +N/A,140,N/A,2542,17,N/A,1,25 +6,N/A,100,N/A,17,74,1,16 +6,258,110,N/A,18,N/A,1,16 +N/A,225,105,3613,N/A,N/A,1,18 +8,N/A,140,4141,14,74,N/A,16 +8,350,150,4699,14.5,74,1,13 +8,318,N/A,N/A,N/A,N/A,1,14 +N/A,302,140,4638,16,74,1,14 +8,N/A,150,N/A,15.5,74,1,14 +N/A,N/A,83,2219,16.5,N/A,2,29 +4,N/A,67,1963,N/A,74,N/A,26 +4,97,78,2300,N/A,74,N/A,26 +4,76,52,1649,16.5,74,N/A,31 +4,83,61,N/A,19,N/A,N/A,32 +4,N/A,75,2125,N/A,74,N/A,28 +4,90,75,2108,N/A,74,N/A,24 +4,116,75,N/A,14,74,N/A,26 +N/A,120,97,2489,N/A,N/A,3,24 +N/A,108,N/A,2391,15.5,74,3,26 +4,79,67,2000,16,74,2,31 +N/A,225,95,3264,16,75,1,19 +6,N/A,N/A,3459,16,75,1,18 +6,250,72,N/A,21,75,1,15 +N/A,N/A,72,3158,19.5,75,1,15 +N/A,N/A,N/A,4668,11.5,75,1,16 +8,350,145,4440,14,75,1,15 +8,318,150,4498,14.5,75,1,16 +8,N/A,148,4657,13.5,N/A,N/A,14 +6,N/A,N/A,3907,N/A,75,N/A,17 +6,250,105,3897,N/A,75,1,16 +N/A,258,110,N/A,19,75,1,15 +6,225,95,3785,19,75,N/A,18 +6,231,N/A,3039,15,75,1,21 +8,262,110,3221,13.5,75,N/A,20 +8,302,129,N/A,12,75,N/A,13 +N/A,N/A,75,2171,16,75,3,29 +N/A,N/A,N/A,N/A,17,N/A,1,23 +6,N/A,100,N/A,16,75,1,20 +N/A,140,N/A,N/A,N/A,75,1,23 +N/A,134,N/A,N/A,13.5,75,3,24 +4,90,N/A,2223,16.5,75,2,25 +N/A,N/A,N/A,2545,17,N/A,N/A,24 +6,171,97,2984,14.5,75,1,18 +4,N/A,70,N/A,14,75,N/A,29 +6,232,90,3211,17,75,1,19 +N/A,115,95,2694,15,N/A,2,23 +N/A,120,N/A,2957,N/A,75,2,23 +4,121,98,N/A,14.5,75,2,22 +4,121,115,2671,N/A,75,2,25 +4,N/A,N/A,N/A,N/A,75,3,33 +4,107,86,2464,15.5,76,2,28 +N/A,116,N/A,N/A,N/A,76,2,25 +4,N/A,92,2572,N/A,76,N/A,25 +4,N/A,79,2255,N/A,76,1,26 +N/A,N/A,83,2202,15.3,76,N/A,27 +8,N/A,N/A,4215,N/A,76,N/A,17.5 +N/A,318,150,4190,N/A,N/A,1,16 +N/A,N/A,N/A,3962,13.9,76,1,15.5 +8,351,N/A,4215,12.8,76,1,14.5 +N/A,225,100,3233,15.4,76,1,22 +6,250,105,3353,N/A,76,1,22 +6,200,N/A,3012,17.6,N/A,N/A,24 +6,232,90,3085,N/A,76,1,22.5 +4,85,52,2035,22.2,76,1,29 +4,98,60,2164,22.1,76,N/A,24.5 +N/A,N/A,70,1937,14.2,76,N/A,29 +4,N/A,53,1795,17.4,76,3,33 +6,N/A,100,3651,N/A,N/A,N/A,20 +6,250,78,3574,21,76,1,18 +6,N/A,110,3645,16.2,76,N/A,18.5 +6,258,95,3193,17.8,76,1,17.5 +4,97,71,1825,N/A,76,2,29.5 +4,85,70,1990,17,76,N/A,32 +4,N/A,75,2155,16.4,76,3,28 +N/A,N/A,72,2565,N/A,N/A,1,26.5 +4,130,102,3150,15.7,76,2,20 +N/A,318,150,3940,13.2,N/A,1,13 +N/A,N/A,88,3270,21.9,76,2,19 +6,156,108,N/A,15.5,76,3,19 +6,168,120,3820,16.7,N/A,2,16.5 +N/A,N/A,180,4380,12.1,76,1,16.5 +8,350,145,4055,N/A,76,1,13 +8,302,130,3870,N/A,76,1,13 +8,318,N/A,3755,14,N/A,1,13 +4,98,68,2045,18.5,77,3,31.5 +4,N/A,80,N/A,14.8,77,N/A,30 +4,79,58,1825,18.6,77,2,36 +4,122,96,N/A,15.5,77,1,25.5 +4,85,N/A,1945,16.8,N/A,3,33.5 +8,305,145,3880,N/A,N/A,1,17.5 +8,260,110,4060,N/A,77,1,17 +N/A,318,145,4140,13.7,77,1,15.5 +8,302,130,4295,N/A,77,1,15 +6,N/A,110,3520,N/A,77,1,17.5 +6,231,105,N/A,16.9,77,1,20.5 +6,225,100,3630,17.7,N/A,1,19 +6,250,98,3525,19,77,1,18.5 +8,400,180,4220,11.1,77,1,16 +8,350,N/A,4165,N/A,N/A,1,15.5 +8,400,190,N/A,12.2,77,1,15.5 +8,351,149,N/A,14.5,77,1,16 +4,N/A,78,1940,14.5,77,2,29 +N/A,151,N/A,2740,N/A,77,1,24.5 +4,N/A,75,2265,18.2,N/A,3,26 +4,140,89,2755,N/A,77,1,25.5 +4,98,N/A,2051,17,77,N/A,30.5 +N/A,N/A,N/A,2075,15.9,77,1,33.5 +4,97,67,N/A,16.4,N/A,N/A,30 +N/A,97,78,N/A,14.1,N/A,2,30.5 +6,146,97,2815,14.5,77,3,22 +4,121,110,2600,12.8,77,N/A,21.5 +3,80,N/A,2720,13.5,77,N/A,21.5 +4,N/A,48,1985,21.5,N/A,2,43.1 +N/A,98,66,N/A,14.4,78,1,36.1 +N/A,78,52,1985,19.4,78,N/A,32.8 +N/A,N/A,70,N/A,N/A,N/A,N/A,39.4 +4,91,60,N/A,N/A,78,3,36.1 +N/A,260,110,3365,15.5,78,1,19.9 +8,318,140,3735,13.2,78,N/A,19.4 +8,N/A,139,3570,12.8,78,1,20.2 +N/A,231,N/A,3535,19.2,N/A,1,19.2 +6,200,95,N/A,N/A,N/A,1,20.5 +6,N/A,N/A,2965,15.8,78,1,20.2 +4,140,N/A,2720,15.4,78,N/A,25.1 +6,225,100,3430,17.2,78,N/A,20.5 +6,232,90,3210,N/A,78,1,19.4 +6,N/A,105,3380,15.8,78,1,20.6 +6,200,85,3070,16.7,78,1,20.8 +N/A,225,110,N/A,N/A,N/A,1,18.6 +N/A,258,120,3410,15.1,N/A,1,18.1 +8,305,N/A,3425,13.2,78,1,19.2 +N/A,N/A,165,3445,13.4,78,1,17.7 +8,N/A,139,3205,11.2,78,N/A,18.1 +N/A,318,140,4080,13.7,N/A,1,17.5 +4,98,68,2155,N/A,78,1,30 +4,134,N/A,N/A,N/A,78,3,27.5 +4,119,97,N/A,14.7,78,3,27.2 +4,105,N/A,2230,14.5,78,N/A,30.9 +4,134,95,N/A,N/A,78,3,21.1 +N/A,156,105,2745,16.7,N/A,N/A,23.2 +4,151,85,2855,N/A,78,1,23.8 +4,N/A,97,2405,14.9,78,3,23.9 +5,N/A,103,2830,15.9,78,2,20.3 +6,163,125,3140,13.6,N/A,2,17 +4,121,N/A,N/A,15.7,78,2,21.6 +N/A,163,133,3410,N/A,78,2,16.2 +N/A,N/A,71,1990,14.9,78,2,31.5 +4,98,68,2135,N/A,78,3,29.5 +6,N/A,115,3245,15.4,N/A,1,21.5 +6,200,N/A,2990,18.2,79,1,19.8 +4,140,88,2890,17.3,79,1,22.3 +6,232,90,N/A,18.2,79,N/A,20.2 +6,N/A,110,N/A,16.6,N/A,1,20.6 +8,305,130,N/A,15.4,79,1,17 +8,302,129,N/A,N/A,79,1,17.6 +8,351,138,3955,13.2,79,1,16.5 +8,318,135,3830,15.2,79,1,18.2 +N/A,350,155,4360,14.9,79,1,16.9 +8,N/A,N/A,4054,14.3,N/A,1,15.5 +N/A,N/A,125,3605,15,79,1,19.2 +8,N/A,150,3940,13,79,N/A,18.5 +4,89,71,1925,14,79,2,31.9 +4,86,65,1975,15.2,N/A,3,34.1 +4,98,80,N/A,14.4,79,1,35.7 +4,121,80,2670,15,79,1,27.4 +5,183,77,3530,20.1,79,2,25.4 +8,N/A,125,N/A,17.4,79,1,23 +4,141,N/A,3190,24.8,N/A,N/A,27.2 +8,260,N/A,3420,22.2,79,1,23.9 +N/A,105,N/A,2200,13.2,79,1,34.2 +4,105,70,2150,14.9,79,1,34.5 +4,85,65,2020,19.2,79,N/A,31.8 +N/A,N/A,69,2130,N/A,79,2,37.3 +4,N/A,90,2670,16,N/A,N/A,28.4 +N/A,173,115,2595,N/A,79,1,28.8 +N/A,173,115,2700,N/A,79,1,26.8 +N/A,151,N/A,2556,13.2,79,1,33.5 +4,98,76,2144,14.7,80,2,41.5 +N/A,N/A,60,1968,N/A,80,N/A,38.1 +4,N/A,70,2120,15.5,N/A,1,32.1 +4,86,65,2019,16.4,80,3,37.2 +4,151,90,2678,N/A,80,1,28 +4,140,N/A,2870,N/A,80,1,26.4 +4,151,90,3003,20.1,80,1,24.3 +6,225,90,3381,18.7,80,1,19.1 +4,97,N/A,2188,15.8,80,N/A,34.3 +4,134,N/A,2711,15.5,80,N/A,29.8 +N/A,120,75,2542,17.5,N/A,N/A,31.3 +4,119,N/A,N/A,15,80,3,37 +4,108,N/A,N/A,N/A,80,N/A,32.2 +4,N/A,65,N/A,N/A,80,3,46.6 +4,156,105,2800,N/A,N/A,1,27.9 +4,85,N/A,N/A,19.2,80,3,40.8 +4,N/A,48,2085,21.7,80,2,44.3 +4,90,N/A,N/A,N/A,80,2,43.4 +5,121,67,2950,19.9,80,N/A,36.4 +4,146,67,3250,21.8,80,2,30 +4,N/A,N/A,1850,13.8,80,3,44.6 +4,97,N/A,2145,N/A,80,3,33.8 +4,89,62,1845,15.3,80,2,29.8 +6,168,132,N/A,11.4,80,N/A,32.7 +3,70,N/A,N/A,12.5,N/A,3,23.7 +N/A,N/A,88,2500,N/A,N/A,2,35 +N/A,107,72,N/A,17,80,3,32.4 +4,135,N/A,2490,15.7,81,1,27.2 +4,151,N/A,N/A,16.4,81,N/A,26.6 +4,156,92,N/A,14.4,81,1,25.8 +N/A,173,110,2725,N/A,81,1,23.5 +4,135,84,2385,12.9,N/A,1,30 +N/A,79,58,1755,16.9,81,3,39.1 +4,N/A,64,1875,16.4,81,1,39 +N/A,81,60,N/A,16.1,81,3,35.1 +4,97,67,2065,17.8,81,3,32.3 +4,85,N/A,1975,19.4,81,N/A,37 +4,89,N/A,N/A,17.3,81,3,37.7 +4,91,68,1985,16,81,3,34.1 +4,N/A,63,2215,14.9,81,1,34.7 +4,98,N/A,2045,16.2,81,1,34.4 +4,98,N/A,2380,20.7,81,1,29.9 +4,105,N/A,2190,N/A,81,2,33 +N/A,107,N/A,2210,N/A,81,N/A,33.7 +N/A,108,N/A,N/A,16.8,81,N/A,32.4 +4,119,100,2615,N/A,N/A,N/A,32.9 +4,N/A,N/A,2635,18.3,81,3,31.6 +4,141,80,3230,20.4,81,2,28.1 +N/A,145,N/A,3160,19.6,81,N/A,30.7 +6,168,N/A,2900,12.6,N/A,3,25.4 +N/A,146,120,N/A,13.8,81,N/A,24.2 +N/A,231,110,N/A,N/A,N/A,1,22.4 +N/A,350,N/A,3725,N/A,N/A,1,26.6 +N/A,N/A,88,3060,17.1,N/A,N/A,20.2 +N/A,N/A,85,3465,16.6,81,1,17.6 +4,112,N/A,N/A,19.6,82,1,28 +N/A,112,88,2640,18.6,82,1,27 +4,N/A,88,N/A,18,82,1,34 +4,N/A,N/A,N/A,N/A,82,1,31 +4,135,84,N/A,16,82,1,29 +4,151,90,N/A,18,82,1,27 +N/A,N/A,92,2865,16.4,82,N/A,24 +N/A,N/A,N/A,N/A,15.3,82,N/A,36 +4,N/A,N/A,2025,18.2,82,3,37 +4,91,68,1970,N/A,82,N/A,31 +4,105,63,N/A,14.7,N/A,1,38 +N/A,98,70,2125,17.3,N/A,1,36 +N/A,120,N/A,N/A,N/A,82,3,36 +4,107,75,2205,14.5,82,N/A,36 +N/A,N/A,70,N/A,16.9,82,3,34 +4,91,67,N/A,15,82,3,38 +4,N/A,67,1965,15.7,82,N/A,32 +4,91,67,1995,16.2,N/A,N/A,38 +6,N/A,110,2945,16.4,N/A,N/A,25 +6,262,N/A,N/A,N/A,82,1,38 +N/A,156,92,2585,14.5,82,1,26 +6,232,112,2835,14.7,N/A,N/A,22 +4,144,96,N/A,13.9,82,3,32 +N/A,N/A,N/A,2370,N/A,N/A,1,36 +4,151,90,2950,17.3,82,1,27 +4,140,86,2790,15.6,82,N/A,27 +4,N/A,52,2130,24.6,N/A,2,44 +4,N/A,84,2295,11.6,82,1,32 +4,120,79,2625,18.6,82,1,28 +4,119,82,2720,19.4,N/A,1,31 diff --git a/pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAuditNA.csv b/pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAuditNA.csv new file mode 100644 index 00000000..8eb2938d --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAuditNA.csv @@ -0,0 +1,1900 @@ +Adjusted,probability(0),probability(1) +0,0.9908255486777955,0.009174451322204557 +0,0.981781535426189,0.01821846457381101 +0,0.9259071833502043,0.07409281664979571 +1,0.34988469399388533,0.6501153060061147 +1,0.1014894266664712,0.8985105733335288 +0,0.9398603724642581,0.06013962753574191 +1,0.12682163022272752,0.8731783697772725 +0,0.9640781577830813,0.03592184221691877 +0,0.9973044004064736,0.0026955995935263595 +0,0.9997021175057729,2.97882494227175E-4 +0,0.9934434984232502,0.006556501576749815 +0,0.9064217996104206,0.09357820038957947 +0,0.9992334130316972,7.665869683027923E-4 +0,0.9807199554751981,0.01928004452480187 +1,0.15978496589469693,0.8402150341053031 +0,0.9910436637786434,0.008956336221356578 +0,0.9636149759029975,0.036385024097002554 +0,0.9759364081044871,0.0240635918955129 +0,0.5775433776938441,0.4224566223061559 +0,0.5989740841006437,0.4010259158993563 +0,0.9910259579698709,0.008974042030129067 +0,0.9815557211482219,0.018444278851778077 +0,0.9989626337628152,0.001037366237184802 +0,0.964041971116266,0.035958028883734 +0,0.9653828158227206,0.034617184177279485 +0,0.9754731345724109,0.024526865427589074 +0,0.996895451812006,0.003104548187993952 +1,0.30328546990693217,0.6967145300930678 +1,0.06099323357135944,0.9390067664286406 +0,0.5685543732908642,0.4314456267091357 +0,0.9370434821509861,0.06295651784901395 +0,0.9934585647777697,0.006541435222230231 +0,0.9981886109217131,0.0018113890782869057 +0,0.9988091658265004,0.0011908341734996667 +0,0.9983055493132186,0.0016944506867814086 +0,0.9762233143353809,0.023776685664619105 +0,0.8706491728052905,0.12935082719470947 +1,0.2777969111130012,0.7222030888869988 +0,0.7894320937399432,0.21056790626005686 +0,0.9946431602448516,0.005356839755148421 +1,0.09542911237678009,0.9045708876232199 +0,0.8963477956546897,0.10365220434531032 +0,0.7253798280975132,0.2746201719024868 +0,0.9910782866483099,0.008921713351690175 +0,0.986131668045835,0.013868331954165076 +1,0.0638541287913521,0.9361458712086479 +0,0.9981544581691988,0.0018455418308011694 +1,0.04404318127430751,0.9559568187256925 +0,0.9238539448101721,0.07614605518982788 +1,0.4133914497703196,0.5866085502296804 +0,0.9863804778973517,0.01361952210264824 +1,0.1953895038175062,0.8046104961824938 +1,0.16175227412071902,0.838247725879281 +0,0.9992802870120228,7.197129879772782E-4 +0,0.9775680284451896,0.02243197155481037 +1,0.20349719345720807,0.7965028065427919 +0,0.9974560684019248,0.002543931598075164 +0,0.9586651499731706,0.04133485002682932 +0,0.9713305430967892,0.028669456903210804 +0,0.9722280059968299,0.02777199400317014 +0,0.9793202329405645,0.02067976705943549 +0,0.5305529498041273,0.4694470501958728 +0,0.9326316930430736,0.06736830695692642 +0,0.6377299841835837,0.3622700158164163 +0,0.9041746671608644,0.09582533283913561 +0,0.9983116366187099,0.0016883633812900714 +1,0.09805141314407317,0.9019485868559268 +0,0.980792753123558,0.01920724687644206 +0,0.9869843998579786,0.01301560014202144 +0,0.985701927887144,0.014298072112856046 +0,0.84893849910966,0.15106150089033996 +1,0.3017454525235168,0.6982545474764832 +0,0.9973343167946657,0.0026656832053343522 +0,0.9135539896990982,0.08644601030090185 +1,0.11213068068650112,0.8878693193134989 +0,0.9997684722512699,2.3152774873014283E-4 +0,0.9975483162906097,0.002451683709390314 +1,0.12574110519407977,0.8742588948059202 +0,0.9748458240083155,0.02515417599168446 +0,0.9666283099886678,0.03337169001133221 +0,0.9966012162873815,0.003398783712618497 +0,0.9219648663780671,0.07803513362193291 +0,0.9990486364364802,9.513635635198215E-4 +1,0.34979854251447595,0.650201457485524 +0,0.9985320778350131,0.0014679221649869314 +0,0.9744351507948604,0.025564849205139552 +0,0.9988481078453689,0.0011518921546310934 +1,0.22941624889911238,0.7705837511008876 +0,0.99014922567197,0.009850774328030063 +0,0.9807128013098241,0.019287198690175967 +0,0.6271840252655314,0.37281597473446865 +0,0.9216680182507906,0.07833198174920947 +0,0.9613045626396063,0.038695437360393665 +1,0.17303219407246073,0.8269678059275393 +0,0.8541973039619775,0.1458026960380226 +0,0.9599745546420709,0.040025445357929054 +0,0.8336136951583653,0.16638630484163475 +0,0.8870971468759796,0.1129028531240204 +1,0.054740704807650586,0.9452592951923494 +0,0.8314988383130902,0.1685011616869098 +1,0.2119714695576791,0.7880285304423209 +0,0.8851866745544724,0.11481332544552754 +1,0.24367759944055012,0.7563224005594499 +1,0.2709766068331616,0.7290233931668384 +0,0.8951485720524646,0.10485142794753549 +1,0.4927738759785647,0.5072261240214353 +0,0.987860613567236,0.012139386432764066 +0,0.9045220983878529,0.09547790161214711 +0,0.9536667528766878,0.04633324712331224 +1,0.20964644645032537,0.7903535535496746 +0,0.9644689518811181,0.035531048118881865 +0,0.9886855472675001,0.011314452732499886 +1,0.07588502074099224,0.9241149792590078 +0,0.9881805136306584,0.01181948636934164 +0,0.9864075487280966,0.013592451271903432 +1,0.40248516734835105,0.597514832651649 +0,0.9535961388332599,0.04640386116674014 +0,0.999655826539625,3.441734603749491E-4 +1,0.4737654727833587,0.5262345272166413 +1,0.4666836672413821,0.5333163327586179 +0,0.9983444595021237,0.0016555404978762706 +0,0.9994763857704158,5.236142295843008E-4 +0,0.5054192628765681,0.4945807371234319 +0,0.834329724474052,0.165670275525948 +1,0.054361617658263084,0.9456383823417369 +0,0.7665685636760452,0.23343143632395483 +0,0.9820016697886271,0.0179983302113729 +1,0.18003018333590504,0.819969816664095 +0,0.8328880996284608,0.16711190037153925 +0,0.8478493914231708,0.1521506085768292 +0,0.9939909372314244,0.006009062768575653 +1,0.2474262574213958,0.7525737425786042 +1,0.0760718607124331,0.9239281392875669 +0,0.9796518554063719,0.02034814459362808 +0,0.6338394908895358,0.36616050911046416 +0,0.9971306751731711,0.002869324826828875 +0,0.976248946377159,0.023751053622841065 +0,0.9998378361189278,1.6216388107214837E-4 +0,0.9961650411957335,0.003834958804266535 +0,0.9612218351188804,0.03877816488111964 +0,0.9758711801841039,0.024128819815896044 +0,0.977721762196176,0.022278237803824038 +1,0.30363386668676384,0.6963661333132362 +0,0.9992481109428772,7.5188905712281E-4 +0,0.9727228029946713,0.02727719700532866 +0,0.9925932316521678,0.007406768347832172 +0,0.7063670459607023,0.2936329540392977 +0,0.890266614311237,0.10973338568876305 +0,0.9857375896785022,0.014262410321497755 +0,0.834446068888328,0.16555393111167208 +0,0.947128810806147,0.052871189193853065 +1,0.15904280106044166,0.8409571989395583 +0,0.8901471794783309,0.10985282052166911 +0,0.9350292741336801,0.06497072586631993 +0,0.9770308161066326,0.022969183893367433 +0,0.5404436304535036,0.4595563695464964 +1,0.48322543727996436,0.5167745627200356 +1,0.25043177853485865,0.7495682214651413 +1,0.3418398795487655,0.6581601204512345 +0,0.9075682906254764,0.09243170937452362 +0,0.6548785824941776,0.34512141750582237 +1,0.3222978086049513,0.6777021913950487 +1,0.17733405360569443,0.8226659463943056 +1,0.26310970117799515,0.7368902988220049 +0,0.9891978285742168,0.01080217142578323 +1,0.2784021322088601,0.7215978677911399 +0,0.9904003627324915,0.009599637267508478 +0,0.7895607256082441,0.21043927439175594 +1,0.3163272399843394,0.6836727600156606 +0,0.7441182819046765,0.2558817180953235 +0,0.8155407366966356,0.18445926330336443 +0,0.9998162104966235,1.8378950337652713E-4 +0,0.9991015893996863,8.98410600313676E-4 +0,0.9809776573768032,0.019022342623196783 +0,0.9951603483149951,0.004839651685004885 +0,0.8627039419107821,0.13729605808921783 +0,0.948290674935826,0.051709325064174076 +0,0.9929536044720518,0.007046395527948211 +1,0.20942695682889567,0.7905730431711043 +0,0.584723767616649,0.41527623238335093 +0,0.9752858953846764,0.024714104615323675 +0,0.9958900811825684,0.004109918817431602 +0,0.9935924043783992,0.006407595621600718 +1,0.34714782999097216,0.6528521700090278 +0,0.9945840377536529,0.005415962246347107 +0,0.9339613183615331,0.06603868163846698 +0,0.9239472528402183,0.07605274715978169 +0,0.9994932398324096,5.067601675904735E-4 +1,0.24773341057059584,0.7522665894294042 +0,0.7587551212980488,0.24124487870195127 +0,0.9932178661943749,0.006782133805625097 +0,0.7442477802442756,0.2557522197557244 +0,0.9968331552669683,0.003166844733031717 +0,0.9963400207909308,0.003659979209069226 +0,0.8608443819015957,0.13915561809840424 +0,0.9556147896364173,0.04438521036358265 +0,0.9948615148748963,0.005138485125103753 +1,0.21065681653087664,0.7893431834691234 +0,0.9890777091363477,0.01092229086365226 +0,0.9998670626192014,1.329373807986016E-4 +0,0.5525584430652009,0.4474415569347991 +0,0.5752716161324891,0.4247283838675109 +1,0.11820529359564547,0.8817947064043545 +0,0.9881593099989114,0.011840690001088587 +0,0.9716593448510561,0.028340655148943922 +0,0.9948775959258477,0.005122404074152332 +1,0.11248791839102745,0.8875120816089725 +0,0.9963349533102642,0.003665046689735817 +0,0.9909234639410117,0.009076536058988284 +0,0.7272568460345816,0.2727431539654183 +0,0.9769638957831331,0.023036104216866856 +0,0.9231456824464763,0.07685431755352366 +0,0.9955231326774732,0.004476867322526879 +0,0.9588469511804888,0.04115304881951122 +0,0.517997344793409,0.48200265520659097 +0,0.9995016709298917,4.983290701082321E-4 +0,0.9861972109264046,0.013802789073595481 +0,0.9722647475939138,0.027735252406086208 +0,0.996513285270782,0.003486714729217975 +1,0.44771355630892296,0.552286443691077 +1,0.2842625358262052,0.7157374641737948 +0,0.961099438089846,0.03890056191015404 +0,0.9347012861928189,0.06529871380718111 +0,0.9965627020039302,0.0034372979960698284 +1,0.2983398809150386,0.7016601190849614 +0,0.9979496986871657,0.002050301312834389 +0,0.9179257997232417,0.08207420027675821 +0,0.7951816269688524,0.2048183730311476 +0,0.9680836957655821,0.03191630423441788 +0,0.6929915713844994,0.30700842861550054 +0,0.5598409235642208,0.4401590764357792 +0,0.8426045431180301,0.15739545688196988 +0,0.9806050883425826,0.01939491165741732 +0,0.6780413877279177,0.3219586122720823 +0,0.9974937329035193,0.0025062670964807235 +0,0.8408583105313439,0.15914168946865617 +1,0.08817727307244072,0.9118227269275593 +1,0.22584385618426628,0.7741561438157337 +0,0.9263417677798995,0.07365823222010051 +0,0.9980487326226123,0.0019512673773877409 +1,0.22699798586291542,0.7730020141370846 +1,0.2843421751508327,0.7156578248491673 +0,0.992650600828159,0.0073493991718410175 +0,0.9027018362809477,0.09729816371905232 +1,0.4321897746894666,0.5678102253105334 +1,0.18598918503113226,0.8140108149688677 +0,0.9951902509443857,0.004809749055614263 +0,0.9952603171338817,0.004739682866118301 +1,0.15382991904891563,0.8461700809510844 +0,0.9315073808189626,0.06849261918103748 +0,0.9045703828954921,0.09542961710450794 +0,0.9995673375004134,4.3266249958663004E-4 +0,0.9366986048820511,0.06330139511794886 +0,0.9928129315199006,0.007187068480099368 +0,0.9942941594287833,0.005705840571216758 +1,0.09263426077354164,0.9073657392264584 +0,0.9606630898720664,0.03933691012793357 +0,0.9866818248320691,0.013318175167930933 +1,0.1941620200131291,0.8058379799868709 +1,0.19493160394431852,0.8050683960556815 +0,0.7279511205954738,0.2720488794045261 +0,0.9726376301285128,0.027362369871487248 +0,0.7824244055308147,0.21757559446918529 +0,0.9945141670194435,0.005485832980556469 +0,0.9995549860922566,4.450139077434367E-4 +0,0.8753012959908035,0.12469870400919643 +0,0.8240489354948142,0.1759510645051858 +0,0.9063181291676777,0.09368187083232225 +0,0.997191858029831,0.0028081419701689475 +0,0.9959360258473924,0.004063974152607586 +1,0.14567475040206246,0.8543252495979375 +1,0.34343510053720294,0.6565648994627971 +0,0.85969683920708,0.14030316079292007 +1,0.44862814296313847,0.5513718570368615 +0,0.9863723629394601,0.013627637060539908 +0,0.6806886928558598,0.3193113071441402 +1,0.3152068925856434,0.6847931074143566 +0,0.5784424234768049,0.4215575765231951 +1,0.09459011315549237,0.9054098868445076 +1,0.28964864604955065,0.7103513539504493 +1,0.28804415125290694,0.7119558487470931 +0,0.8414003629019032,0.15859963709809677 +0,0.8249577393857269,0.1750422606142731 +0,0.6779542545298191,0.32204574547018094 +0,0.9503832037230863,0.049616796276913726 +0,0.9992967765054037,7.032234945963098E-4 +0,0.9740478181016561,0.02595218189834388 +1,0.3296949560952407,0.6703050439047593 +0,0.9937876855803113,0.006212314419688778 +0,0.9976406407027241,0.0023593592972759266 +0,0.7730641818038577,0.22693581819614222 +0,0.9970561600980502,0.002943839901949767 +0,0.6397996268087529,0.36020037319124704 +0,0.976442981890287,0.02355701810971298 +0,0.932871920526623,0.06712807947337696 +0,0.898011619162314,0.10198838083768605 +0,0.917407126879175,0.08259287312082497 +0,0.9878854926684891,0.0121145073315109 +1,0.39216707261946426,0.6078329273805357 +0,0.9783115279965238,0.02168847200347629 +0,0.9995844145192277,4.155854807722197E-4 +0,0.9098835578878789,0.09011644211212107 +1,0.17122358440739394,0.8287764155926061 +0,0.9719678408940536,0.028032159105946395 +0,0.9935794540267465,0.006420545973253424 +1,0.17314628565228662,0.8268537143477134 +0,0.9877091238382311,0.012290876161768962 +0,0.9620025613258089,0.037997438674191156 +0,0.9870276153108524,0.012972384689147621 +0,0.9948617361154988,0.0051382638845012705 +0,0.9787654183772998,0.021234581622700244 +0,0.9890807897381833,0.01091921026181676 +1,0.16097554091266464,0.8390244590873354 +0,0.9828440705663619,0.017155929433638136 +0,0.9905709458518713,0.009429054148128694 +0,0.9987793399114023,0.0012206600885977209 +0,0.9988446796304696,0.001155320369530352 +0,0.9327829808593344,0.0672170191406656 +0,0.998007064271765,0.001992935728235024 +0,0.6955365246906433,0.30446347530935663 +0,0.9885891324777535,0.011410867522246482 +1,0.1852938379547595,0.8147061620452405 +0,0.8957352477303397,0.10426475226966031 +0,0.9258875630801204,0.07411243691987954 +0,0.9934123547706665,0.006587645229333576 +1,0.14035900258420464,0.8596409974157954 +0,0.9982697998253706,0.0017302001746294536 +0,0.9794045584612879,0.020595441538712025 +0,0.9012011223095573,0.09879887769044267 +0,0.9278331649293826,0.07216683507061741 +0,0.985332997037459,0.014667002962540952 +1,0.3697743527270765,0.6302256472729235 +0,0.8637374808443654,0.13626251915563464 +0,0.9867401991098881,0.013259800890111929 +0,0.9820474547160067,0.017952545283993267 +0,0.914343917944214,0.08565608205578597 +1,0.25968085371046645,0.7403191462895335 +0,0.9978154281570724,0.0021845718429276853 +1,0.4012668817978693,0.5987331182021307 +0,0.9375116596521978,0.062488340347802145 +1,0.27155187469125674,0.7284481253087433 +0,0.9983407951142383,0.0016592048857617032 +0,0.8128721749555023,0.1871278250444976 +0,0.968858240271042,0.03114175972895801 +0,0.9338059722490482,0.06619402775095189 +0,0.9962951512135958,0.003704848786404221 +0,0.8499836584069176,0.1500163415930824 +0,0.9657263254318139,0.03427367456818606 +0,0.9890351780207601,0.010964821979239885 +0,0.9624047952371311,0.037595204762868935 +0,0.7919664850078575,0.20803351499214254 +0,0.7342631943223625,0.26573680567763747 +0,0.9964202018840993,0.003579798115900709 +0,0.986840830474127,0.01315916952587309 +0,0.9164810482332215,0.08351895176677843 +1,0.452479366752331,0.547520633247669 +0,0.9281750169587725,0.0718249830412275 +0,0.9850296701378087,0.014970329862191307 +0,0.9947918203339658,0.005208179666034191 +0,0.9720556114197434,0.027944388580256656 +0,0.9105426598036163,0.08945734019638375 +1,0.23608917149525377,0.7639108285047462 +0,0.9912585200809498,0.008741479919050207 +0,0.9413964502821719,0.05860354971782806 +0,0.7284954109683904,0.27150458903160957 +0,0.9966058179713865,0.00339418202861348 +0,0.7126683341648703,0.28733166583512965 +0,0.9037385821394603,0.09626141786053961 +0,0.5099413194649316,0.49005868053506846 +0,0.5704385568500479,0.4295614431499522 +0,0.9973413741574466,0.002658625842553441 +0,0.9447968960858831,0.05520310391411685 +1,0.21861086613538883,0.7813891338646112 +0,0.9785012700028993,0.021498729997100712 +0,0.6633315265891708,0.3366684734108292 +0,0.9623517245208602,0.037648275479139855 +0,0.9844012314177,0.015598768582300013 +0,0.9425081678650777,0.057491832134922205 +0,0.9989433383984255,0.001056661601574426 +0,0.9913120883723543,0.00868791162764566 +0,0.8616473281278362,0.13835267187216382 +0,0.9641437494601451,0.03585625053985488 +0,0.9977748754452496,0.002225124554750466 +1,0.4417971566692155,0.5582028433307845 +0,0.5342460086872526,0.4657539913127474 +1,0.08477319241073056,0.9152268075892694 +0,0.987773303189219,0.012226696810781082 +0,0.8877831139987062,0.1122168860012938 +1,0.34812452511973224,0.6518754748802678 +0,0.9975488317250498,0.0024511682749502233 +0,0.9867034950222012,0.013296504977798761 +0,0.9862258649688828,0.01377413503111725 +0,0.9935462427247729,0.006453757275227083 +0,0.6133379134161553,0.3866620865838447 +0,0.9965940179367001,0.0034059820632999387 +1,0.11871897114075858,0.8812810288592414 +0,0.9069420929776179,0.09305790702238219 +0,0.9947982655824795,0.005201734417520479 +0,0.9694120238024984,0.03058797619750167 +0,0.9978083056829058,0.0021916943170941826 +0,0.995036488160886,0.004963511839114018 +1,0.20027843165624004,0.79972156834376 +0,0.9062771725155755,0.09372282748442452 +0,0.983970189832368,0.01602981016763204 +0,0.9914734675436665,0.008526532456333486 +0,0.946662760819404,0.05333723918059591 +0,0.9721978451716943,0.02780215482830571 +0,0.9128372090305651,0.08716279096943493 +0,0.9703681739140748,0.02963182608592518 +0,0.9572594832397657,0.04274051676023424 +0,0.7784423268502038,0.22155767314979624 +0,0.8323148881975277,0.16768511180247223 +0,0.9932484024942687,0.006751597505731305 +0,0.8977370123324314,0.10226298766756863 +0,0.9984425868690477,0.0015574131309522082 +0,0.7877758111029658,0.21222418889703415 +0,0.9954775278368123,0.0045224721631877225 +0,0.8695484859534524,0.13045151404654765 +0,0.9344925187003995,0.0655074812996005 +0,0.8938901051392918,0.10610989486070817 +0,0.9905868006179597,0.00941319938204034 +1,0.1837275803659867,0.8162724196340133 +1,0.0531833110693285,0.9468166889306715 +1,0.035575665818717406,0.9644243341812826 +1,0.2231467005140797,0.7768532994859203 +0,0.9892506913653889,0.010749308634611092 +0,0.9256367188260713,0.07436328117392861 +1,0.22483944051139404,0.775160559488606 +0,0.8408130603759003,0.15918693962409963 +0,0.9483163828391988,0.05168361716080115 +0,0.9131106523221225,0.08688934767787748 +0,0.789904027055297,0.21009597294470295 +0,0.9237303327264272,0.07626966727357277 +1,0.2875719311303465,0.7124280688696535 +1,0.13236793943257563,0.8676320605674244 +0,0.7075127615766323,0.2924872384233677 +0,0.9723426610549063,0.027657338945093753 +0,0.9974464222129639,0.0025535777870361316 +0,0.9744909938512392,0.0255090061487608 +0,0.87251451459404,0.12748548540596008 +0,0.9976229573216555,0.0023770426783444815 +0,0.9994958643313103,5.041356686896817E-4 +0,0.7713100131257292,0.22868998687427075 +1,0.2772435960505387,0.7227564039494613 +1,0.07889952488056717,0.9211004751194328 +0,0.9998322172156782,1.6778278432186836E-4 +1,0.22832488592260813,0.7716751140773919 +1,0.06353892082145574,0.9364610791785443 +0,0.9201579726287692,0.07984202737123086 +0,0.9407102708729715,0.05928972912702847 +0,0.9813057396144749,0.018694260385525133 +0,0.9668646974254866,0.03313530257451335 +0,0.8635393258984813,0.13646067410151874 +0,0.994776443711247,0.005223556288753066 +0,0.8793624627417232,0.12063753725827676 +0,0.9902339468021265,0.009766053197873482 +0,0.7073814911830055,0.29261850881699447 +1,0.13073050785419826,0.8692694921458017 +1,0.30471486414273397,0.695285135857266 +0,0.9995607832458041,4.392167541959342E-4 +1,0.16336535819776032,0.8366346418022397 +0,0.9443528412282484,0.055647158771751616 +1,0.23180330677120864,0.7681966932287914 +1,0.2732304729301125,0.7267695270698875 +0,0.981460242448476,0.018539757551523997 +1,0.19473306792760303,0.805266932072397 +0,0.9982019594628391,0.0017980405371609712 +0,0.9804803405210617,0.01951965947893831 +0,0.8581353531731089,0.14186464682689112 +1,0.1921139749415126,0.8078860250584874 +0,0.939323200697012,0.060676799302987916 +0,0.9054544632738624,0.09454553672613761 +0,0.9326818760899478,0.06731812391005215 +0,0.9824792015395465,0.01752079846045356 +0,0.8368803123834303,0.1631196876165697 +1,0.484276737535011,0.515723262464989 +0,0.7036197710118731,0.2963802289881269 +1,0.13021466098439338,0.8697853390156066 +1,0.4561967146274858,0.5438032853725142 +0,0.9992738973415087,7.261026584912756E-4 +0,0.9369610100317243,0.06303898996827573 +0,0.9935784620792998,0.0064215379207001756 +0,0.9870344763333218,0.01296552366667826 +0,0.8618450151592938,0.13815498484070626 +1,0.10465839241417352,0.8953416075858265 +1,0.3993921846742482,0.6006078153257518 +0,0.9977460539827882,0.002253946017211864 +0,0.5297899809131514,0.4702100190868485 +0,0.9780035349764824,0.021996465023517608 +0,0.9891579783970164,0.01084202160298362 +0,0.7851944325636558,0.21480556743634413 +0,0.8365164393512812,0.16348356064871877 +0,0.9960481114588466,0.0039518885411533216 +1,0.261561911449702,0.738438088550298 +0,0.7309497216400449,0.2690502783599551 +1,0.35985839922358986,0.6401416007764101 +0,0.5381329499999397,0.46186705000006034 +0,0.9973478802179112,0.002652119782088843 +0,0.9983715848227231,0.001628415177276825 +0,0.94386036672868,0.05613963327131999 +0,0.8676470908082147,0.1323529091917853 +0,0.9888538949942756,0.011146105005724443 +0,0.9664950802868529,0.03350491971314709 +0,0.9969370021267933,0.003062997873206707 +0,0.9930094302324644,0.006990569767535637 +1,0.1988032618231611,0.8011967381768389 +0,0.9967044968427259,0.003295503157274127 +0,0.9976675011655816,0.0023324988344184754 +0,0.9923541875069524,0.007645812493047582 +1,0.1843456729592421,0.8156543270407579 +1,0.06562795991158332,0.9343720400884167 +0,0.9970867078269295,0.0029132921730704586 +0,0.9971204654706071,0.002879534529392969 +1,0.10371018663357401,0.896289813366426 +0,0.9981158947891441,0.0018841052108559055 +0,0.9256574090438806,0.07434259095611936 +0,0.9795901038201651,0.020409896179834935 +0,0.9855754006746503,0.014424599325349643 +0,0.9943722501754014,0.005627749824598597 +1,0.1191046984773918,0.8808953015226082 +1,0.2902038521500909,0.7097961478499091 +0,0.7221573467027644,0.27784265329723556 +0,0.8548576260460345,0.14514237395396543 +0,0.9660277639351744,0.033972236064825634 +0,0.9572429879926893,0.04275701200731078 +0,0.8624422586649758,0.1375577413350242 +1,0.459217785613781,0.540782214386219 +0,0.9922867624090863,0.007713237590913643 +0,0.8771693595292277,0.12283064047077229 +0,0.8817389580976271,0.11826104190237291 +0,0.9903161915526524,0.009683808447347602 +0,0.9596558519033763,0.04034414809662364 +1,0.16012083761200258,0.8398791623879974 +0,0.9989924717274693,0.0010075282725306972 +0,0.9990727084415711,9.272915584288809E-4 +0,0.9436795721590259,0.05632042784097417 +1,0.2988703254304471,0.7011296745695529 +0,0.5365449077273929,0.46345509227260706 +0,0.9883696292226428,0.011630370777357209 +0,0.9973864832940937,0.002613516705906205 +0,0.9896640433328835,0.010335956667116543 +0,0.9914549558487394,0.008545044151260546 +0,0.5207116193938377,0.47928838060616236 +0,0.7795979189498151,0.22040208105018486 +1,0.1489230023130641,0.8510769976869359 +0,0.9770990243392901,0.022900975660709866 +0,0.9994994254381787,5.005745618212739E-4 +1,0.1926956473239566,0.8073043526760434 +0,0.9526312585584752,0.04736874144152486 +1,0.3476202257131872,0.6523797742868128 +0,0.8057352196166091,0.19426478038339093 +0,0.9360113922318787,0.06398860776812136 +0,0.8167031833057992,0.1832968166942008 +0,0.9957627963007667,0.0042372036992332765 +0,0.8176667685655716,0.1823332314344284 +0,0.8106587215573664,0.18934127844263357 +0,0.6340746555453838,0.3659253444546163 +0,0.9620606078880025,0.03793939211199747 +0,0.85439117181905,0.14560882818095003 +0,0.8635606727357892,0.13643932726421085 +0,0.9876456144697426,0.012354385530257377 +0,0.9843365154658646,0.015663484534135373 +1,0.1049355481705202,0.8950644518294798 +1,0.06750291830230204,0.932497081697698 +1,0.32228686406757046,0.6777131359324295 +0,0.9301112973573125,0.06988870264268748 +1,0.38222280391978525,0.6177771960802148 +0,0.982600355392858,0.017399644607142058 +0,0.9851478716913611,0.0148521283086389 +0,0.8790359825067778,0.12096401749322216 +0,0.8835803755582832,0.11641962444171683 +0,0.7318780159220064,0.26812198407799365 +0,0.9994977428238856,5.022571761143952E-4 +0,0.9847923367617625,0.015207663238237575 +0,0.9950873032478535,0.004912696752146441 +1,0.16967956535694473,0.8303204346430553 +0,0.9987278334465581,0.0012721665534418326 +0,0.8828499538671933,0.11715004613280665 +0,0.9937940200065214,0.006205979993478611 +0,0.867791778494066,0.13220822150593403 +0,0.999741780359145,2.5821964085500965E-4 +0,0.9977663574410458,0.002233642558954162 +0,0.9989402217922984,0.0010597782077016223 +0,0.9959103910668886,0.004089608933111342 +0,0.9962124311317648,0.003787568868235178 +0,0.9648017880770073,0.03519821192299271 +1,0.48410253024760197,0.515897469752398 +0,0.9415299058311886,0.05847009416881147 +0,0.9931897717803805,0.006810228219619509 +0,0.9299487923554373,0.07005120764456277 +0,0.9776433717105885,0.022356628289411578 +1,0.09079804667308089,0.9092019533269191 +0,0.8805896534977236,0.11941034650227642 +0,0.948702039432811,0.05129796056718903 +0,0.9997506531247795,2.493468752204543E-4 +0,0.9723991556509045,0.02760084434909554 +1,0.399830962717061,0.600169037282939 +1,0.3181202636261552,0.6818797363738448 +0,0.9934292130378224,0.006570786962177652 +1,0.2769306783163925,0.7230693216836075 +0,0.9913951705880265,0.008604829411973497 +0,0.9284185980508358,0.07158140194916421 +0,0.976699979131747,0.023300020868252967 +0,0.6534753909784463,0.3465246090215537 +0,0.9940540916632544,0.0059459083367455695 +0,0.6688602193899762,0.33113978061002386 +0,0.9911365449008983,0.008863455099101695 +0,0.7933041657845323,0.20669583421546764 +0,0.9056970211432358,0.09430297885676418 +0,0.9138118198776815,0.0861881801223185 +0,0.593627443595263,0.406372556404737 +1,0.10812752761839073,0.8918724723816093 +1,0.23087082332029307,0.7691291766797069 +0,0.9660780294535968,0.03392197054640326 +0,0.9827103420066761,0.01728965799332399 +0,0.9937956531906287,0.006204346809371312 +0,0.9973885246530977,0.002611475346902282 +0,0.9747542422210664,0.02524575777893362 +1,0.36866167401694694,0.6313383259830531 +0,0.998868950650452,0.0011310493495480002 +0,0.8172103503931158,0.18278964960688415 +0,0.9467288275738857,0.053271172426114344 +0,0.9773127934845565,0.02268720651544349 +0,0.8913501716080092,0.10864982839199082 +1,0.19232462426202446,0.8076753757379755 +0,0.9518108601343238,0.04818913986567614 +0,0.9993618891644686,6.381108355314383E-4 +0,0.9991745048855502,8.254951144498933E-4 +0,0.989356718649901,0.010643281350098911 +0,0.9389482450503911,0.061051754949608905 +0,0.803406063472974,0.19659393652702595 +0,0.9988570458336804,0.0011429541663196448 +0,0.9801118882299995,0.019888111770000445 +0,0.9226042841539615,0.07739571584603856 +0,0.9908272172987453,0.00917278270125463 +1,0.09166857205286216,0.9083314279471378 +0,0.9681290584586597,0.03187094154134028 +0,0.7857141909465031,0.21428580905349687 +0,0.9978629305933437,0.00213706940665624 +0,0.9805873426092313,0.0194126573907687 +0,0.9389677424173831,0.06103225758261686 +1,0.13909887816916022,0.8609011218308398 +0,0.9998040401237905,1.9595987620950233E-4 +0,0.9976833430566576,0.002316656943342341 +0,0.8916787788257575,0.10832122117424252 +0,0.90870552233205,0.09129447766794993 +0,0.9966605500208197,0.003339449979180325 +0,0.9893501553208822,0.01064984467911783 +0,0.9282591682485416,0.07174083175145844 +1,0.2475337468943053,0.7524662531056947 +0,0.9952086843436201,0.004791315656379968 +0,0.9982326588202112,0.0017673411797888207 +1,0.05826936270952343,0.9417306372904766 +1,0.26561710182237985,0.7343828981776201 +0,0.9841442126963694,0.01585578730363059 +0,0.9795478568395638,0.02045214316043618 +1,0.13482003378599194,0.8651799662140081 +1,0.0964647254146177,0.9035352745853823 +0,0.9661299083222359,0.033870091677764134 +0,0.9316005932111067,0.0683994067888933 +0,0.94937712862058,0.050622871379419995 +0,0.9654760238977856,0.034523976102214346 +0,0.9958481022685081,0.004151897731491974 +0,0.9839158861737796,0.016084113826220384 +0,0.8605222449251038,0.13947775507489624 +0,0.9888652771848588,0.011134722815141137 +1,0.18474628934877635,0.8152537106512237 +0,0.9350122850371702,0.06498771496282986 +1,0.1215089330569249,0.8784910669430751 +0,0.956998562761947,0.043001437238053004 +0,0.9971081804309693,0.002891819569030693 +0,0.8966751737817775,0.10332482621822248 +0,0.828867860415378,0.171132139584622 +0,0.9976036224886508,0.0023963775113492983 +0,0.9978551824592087,0.0021448175407912723 +0,0.9986585404264623,0.0013414595735376973 +0,0.83978856751037,0.16021143248962993 +1,0.042399029019545065,0.9576009709804549 +0,0.9651491712728745,0.03485082872712549 +0,0.6458727506026978,0.3541272493973023 +0,0.857250925888527,0.14274907411147303 +1,0.3498615250446403,0.6501384749553597 +0,0.999591337234002,4.0866276599804495E-4 +0,0.9215387382698041,0.0784612617301958 +0,0.938898364483137,0.06110163551686295 +1,0.10358851130989111,0.8964114886901089 +0,0.9507091239940256,0.04929087600597438 +0,0.999724368738967,2.756312610330176E-4 +1,0.11150467618075488,0.8884953238192451 +1,0.36533907451616354,0.6346609254838365 +1,0.1390605658816063,0.8609394341183937 +0,0.9839101183524248,0.01608988164757514 +0,0.9262260017597644,0.07377399824023552 +0,0.9978683427114575,0.0021316572885424698 +0,0.9994251698848948,5.748301151051216E-4 +1,0.12068247860680803,0.879317521393192 +0,0.9811135940285857,0.01888640597141432 +0,0.9719433264656858,0.02805667353431418 +0,0.9897745025869676,0.010225497413032369 +0,0.6777853358788326,0.3222146641211674 +1,0.461771590015736,0.538228409984264 +0,0.5753222886398431,0.42467771136015686 +0,0.8808884078575105,0.11911159214248944 +0,0.7156815606617779,0.2843184393382221 +1,0.23957158483487517,0.7604284151651248 +0,0.9069414184011485,0.09305858159885151 +1,0.16025578222743186,0.8397442177725681 +0,0.9533066960156434,0.04669330398435652 +1,0.11228616715721085,0.8877138328427892 +1,0.07359057588293727,0.9264094241170627 +0,0.5576986534511617,0.4423013465488384 +0,0.8595538957880475,0.14044610421195253 +0,0.9708369767973213,0.029163023202678755 +0,0.6158981974638771,0.3841018025361229 +1,0.12822794986646857,0.8717720501335314 +1,0.05682761470475861,0.9431723852952414 +0,0.9991775189498803,8.224810501196977E-4 +0,0.9963364248989518,0.003663575101048247 +0,0.9984409653220108,0.001559034677989247 +0,0.9256547415868921,0.07434525841310786 +0,0.9593281595160302,0.040671840483969726 +0,0.8934966987235884,0.10650330127641165 +0,0.9907713350454667,0.009228664954533363 +0,0.9938354692728614,0.006164530727138674 +0,0.9664317271681062,0.03356827283189379 +0,0.5832212640019434,0.41677873599805665 +0,0.9154587801572762,0.0845412198427238 +0,0.9996041906098742,3.9580939012583556E-4 +1,0.2200230527802015,0.7799769472197985 +0,0.9147547449599919,0.08524525504000809 +0,0.8845211324159246,0.11547886758407543 +0,0.8362010747924697,0.1637989252075302 +0,0.9895623385823359,0.010437661417664166 +0,0.9636513452798801,0.03634865472011998 +0,0.979723662834858,0.02027633716514196 +1,0.20890040472919846,0.7910995952708015 +0,0.7680402953893585,0.23195970461064153 +1,0.11792615273896845,0.8820738472610316 +0,0.7072630568238413,0.2927369431761587 +1,0.09862368330679305,0.901376316693207 +0,0.9869843998579786,0.01301560014202144 +0,0.9939255621104055,0.006074437889594502 +1,0.07098320822290227,0.9290167917770977 +1,0.12272501538626346,0.8772749846137365 +0,0.9943575131265502,0.005642486873449845 +0,0.9954773676306278,0.004522632369372189 +0,0.9717444344725966,0.028255565527403336 +0,0.9202050725543638,0.0797949274456362 +0,0.9813868503895172,0.018613149610482733 +1,0.23938274166922446,0.7606172583307755 +0,0.9748312415025754,0.02516875849742462 +0,0.9968185575273008,0.003181442472699282 +0,0.9995245424294718,4.7545757052829956E-4 +0,0.9988152481470469,0.0011847518529530731 +0,0.7533871205900005,0.24661287940999949 +0,0.9526178380605653,0.0473821619394347 +1,0.15606417914940762,0.8439358208505924 +0,0.7682506872243783,0.2317493127756217 +0,0.9975167866152393,0.002483213384760679 +0,0.8029939379773652,0.19700606202263485 +0,0.9986113286231624,0.0013886713768376522 +1,0.18752535845822327,0.8124746415417767 +0,0.9645489085053596,0.03545109149464048 +0,0.9988991300435385,0.0011008699564614714 +0,0.96685798095155,0.03314201904845003 +0,0.9935586426975367,0.006441357302463365 +1,0.2132660243589598,0.7867339756410402 +1,0.07354149687943456,0.9264585031205654 +1,0.10498898102245746,0.8950110189775425 +0,0.9992280664244139,7.719335755861582E-4 +1,0.18474790899668347,0.8152520910033165 +0,0.8603714002399587,0.13962859976004124 +0,0.804269182158222,0.1957308178417781 +0,0.8959489379104664,0.10405106208953366 +0,0.9966245039274941,0.003375496072505838 +0,0.7829488171957905,0.21705118280420954 +0,0.6272127625303614,0.37278723746963865 +0,0.9991078635603365,8.921364396634187E-4 +0,0.9982374408157111,0.0017625591842888996 +1,0.4705744886964599,0.5294255113035401 +0,0.9835578857606844,0.016442114239315683 +0,0.9260729052274754,0.07392709477252453 +0,0.9953397832682759,0.004660216731724096 +0,0.9988999888547553,0.0011000111452446764 +1,0.3909349245823651,0.6090650754176349 +0,0.9587761714508654,0.04122382854913459 +0,0.7850245985245623,0.2149754014754377 +1,0.11652245729516575,0.8834775427048343 +0,0.9995785057074553,4.2149429254472874E-4 +0,0.9995929130663315,4.070869336685103E-4 +0,0.9084205024776912,0.09157949752230882 +1,0.11926920465898827,0.8807307953410117 +1,0.09331695585937683,0.9066830441406232 +0,0.9986344864634922,0.001365513536507853 +0,0.9971274253701387,0.0028725746298613676 +0,0.9811042904519738,0.018895709548026225 +0,0.9585264386911645,0.04147356130883551 +0,0.9159443677823154,0.08405563221768463 +0,0.9984370746636799,0.00156292533632011 +1,0.08545993718391309,0.9145400628160869 +0,0.978781035961439,0.021218964038561085 +0,0.9973240188585906,0.0026759811414094497 +1,0.26740845111426936,0.7325915488857306 +0,0.9994904033052777,5.095966947222996E-4 +1,0.28731994404076044,0.7126800559592396 +0,0.852384309923407,0.14761569007659298 +0,0.9668157765099017,0.03318422349009835 +0,0.9873804219580963,0.012619578041903697 +1,0.22380518725091658,0.7761948127490834 +0,0.9713987067527721,0.028601293247227984 +0,0.987417924659025,0.012582075340974988 +0,0.9507759610188363,0.0492240389811637 +1,0.13529955368352364,0.8647004463164764 +1,0.16844367050313847,0.8315563294968615 +1,0.09407118236501832,0.9059288176349817 +0,0.5025659819142556,0.49743401808574444 +1,0.2246075807476251,0.7753924192523749 +0,0.9139575557798646,0.08604244422013542 +0,0.9653134634731549,0.03468653652684501 +0,0.99942296539232,5.770346076799858E-4 +1,0.14937127971734976,0.8506287202826502 +0,0.8472129369307312,0.15278706306926884 +0,0.9637202972038267,0.03627970279617336 +0,0.8540044399858107,0.1459955600141894 +0,0.9990480880816875,9.519119183124806E-4 +1,0.17229798469015778,0.8277020153098422 +1,0.18645494523327466,0.8135450547667253 +0,0.9891144565742702,0.010885543425729742 +0,0.8697765147717598,0.13022348522824023 +0,0.9964324447257741,0.003567555274225879 +0,0.9756845771560124,0.024315422843987574 +0,0.993251701567936,0.006748298432064061 +0,0.98317001458954,0.01682998541045999 +1,0.25508846820971454,0.7449115317902855 +0,0.8815297896322787,0.1184702103677213 +0,0.6193133562206274,0.38068664377937256 +0,0.9914493454439953,0.008550654556004655 +0,0.9936509969086871,0.0063490030913129535 +0,0.8573594141843824,0.14264058581561753 +0,0.9812831785698128,0.018716821430187214 +0,0.9944400167814459,0.005559983218554128 +1,0.35065838021521967,0.6493416197847803 +0,0.9894231832604776,0.01057681673952239 +0,0.9681448847918057,0.03185511520819433 +0,0.9977531638692647,0.0022468361307352797 +0,0.9995747794468482,4.252205531517973E-4 +1,0.051144713453454616,0.9488552865465454 +0,0.8523953093074019,0.14760469069259802 +1,0.2698467713264995,0.7301532286735005 +1,0.2859277688019425,0.7140722311980575 +1,0.34284180107032114,0.6571581989296789 +0,0.9227285725727047,0.07727142742729529 +1,0.18801648558017725,0.8119835144198227 +0,0.9920696535202399,0.007930346479760046 +0,0.9727003055636934,0.027299694436306622 +0,0.8652689537448355,0.13473104625516455 +1,0.1731381034874242,0.8268618965125758 +1,0.14046706406156317,0.8595329359384368 +0,0.9539077169335779,0.04609228306642206 +0,0.8079914774867224,0.19200852251327763 +1,0.263106155497862,0.736893844502138 +0,0.793326650538546,0.206673349461454 +1,0.2870859659449547,0.7129140340550453 +1,0.29617161435590056,0.7038283856440994 +0,0.9831887791209846,0.016811220879015425 +1,0.18736611094566236,0.8126338890543376 +1,0.12702906428963123,0.8729709357103688 +0,0.9999153981294511,8.460187054891091E-5 +0,0.9415812223390108,0.05841877766098927 +1,0.4712390937345957,0.5287609062654043 +0,0.9859816241025291,0.014018375897470946 +0,0.9928710847358878,0.007128915264112183 +0,0.9857051565137779,0.014294843486222068 +0,0.9264876732910977,0.07351232670890229 +0,0.9729415234140932,0.027058476585906814 +0,0.786195714149825,0.213804285850175 +0,0.9976596109805708,0.0023403890194292304 +0,0.9010312263152706,0.09896877368472942 +0,0.7396072447603924,0.2603927552396076 +0,0.9655905676334564,0.034409432366543646 +0,0.9523147669919548,0.047685233008045204 +0,0.9825965034001926,0.01740349659980741 +0,0.9911991962928781,0.008800803707121866 +0,0.8537173611119613,0.14628263888803877 +1,0.4579109846192686,0.5420890153807314 +0,0.9453035846932379,0.05469641530676202 +0,0.846310903233733,0.15368909676626696 +0,0.9657873602611405,0.03421263973885946 +0,0.9149947941692048,0.08500520583079522 +0,0.9193353237419981,0.08066467625800186 +1,0.14763173564915943,0.8523682643508406 +1,0.054600900649880435,0.9453990993501196 +0,0.9996356675370862,3.643324629137345E-4 +1,0.13101267669154515,0.8689873233084549 +0,0.9743828881099703,0.025617111890029645 +1,0.28913473866685213,0.7108652613331479 +1,0.11876500053020911,0.8812349994697909 +1,0.22752164528958962,0.7724783547104104 +0,0.9879282484463044,0.012071751553695512 +0,0.6868307358457866,0.3131692641542134 +0,0.9073528323032785,0.0926471676967216 +0,0.9476964214748853,0.052303578525114684 +0,0.7025880447213753,0.29741195527862474 +0,0.9997924014083032,2.0759859169682348E-4 +0,0.9122251621598997,0.08777483784010033 +0,0.9142830184952874,0.08571698150471259 +1,0.23484474926090482,0.7651552507390952 +1,0.22070658928356413,0.7792934107164359 +0,0.8243668886032163,0.17563311139678373 +0,0.9953563385972132,0.00464366140278681 +0,0.9616415755444997,0.038358424455500334 +0,0.9870198152558808,0.012980184744119175 +0,0.9722725321313711,0.027727467868628897 +0,0.9238118524530636,0.07618814754693634 +0,0.6669676248771146,0.33303237512288547 +1,0.20350107212114,0.79649892787886 +1,0.358013038403974,0.641986961596026 +1,0.33700513120385645,0.6629948687961436 +0,0.979668955369987,0.02033104463001296 +0,0.9972769247432116,0.0027230752567883967 +1,0.46797019501599124,0.5320298049840088 +0,0.9969204154842131,0.0030795845157869854 +0,0.9921885102494649,0.007811489750535099 +0,0.970905816188907,0.029094183811092987 +0,0.8936952644684437,0.10630473553155624 +1,0.14817109069925938,0.8518289093007406 +1,0.19219866006238817,0.8078013399376118 +0,0.8867112587222413,0.11328874127775865 +0,0.9972415241572339,0.002758475842766131 +1,0.32320292357650426,0.6767970764234957 +1,0.195321548621474,0.804678451378526 +0,0.9973190208795583,0.0026809791204416853 +0,0.9818176389856895,0.01818236101431043 +1,0.3568774457365381,0.6431225542634619 +0,0.6962972292765313,0.3037027707234687 +0,0.9905636083311717,0.009436391668828216 +0,0.993374176557775,0.006625823442224962 +0,0.7778834819238067,0.2221165180761932 +0,0.878734238934973,0.12126576106502698 +0,0.9980327475448327,0.0019672524551672694 +0,0.7002452741069012,0.2997547258930988 +0,0.8494064824504525,0.15059351754954756 +0,0.9998890888501591,1.1091114984090746E-4 +0,0.9338155886099347,0.0661844113900653 +0,0.9844697593343047,0.015530240665695264 +0,0.8545880213513113,0.14541197864868866 +0,0.9995997704479741,4.0022955202594947E-4 +0,0.9917969700428635,0.008203029957136478 +0,0.6952550589369142,0.3047449410630858 +0,0.9545253601805881,0.04547463981941187 +1,0.05868989607395925,0.9413101039260408 +0,0.9998522995196834,1.4770048031663004E-4 +0,0.9887466782059776,0.011253321794022362 +1,0.24605203463248015,0.7539479653675198 +1,0.2571570200651587,0.7428429799348413 +1,0.2779696381235529,0.7220303618764471 +0,0.8588824843789954,0.14111751562100464 +0,0.9768094714495812,0.023190528550418796 +1,0.13144344630065807,0.8685565536993419 +0,0.9975255961543825,0.0024744038456175304 +0,0.9201594081419593,0.07984059185804075 +0,0.8481779763068293,0.15182202369317072 +1,0.35341345470269314,0.6465865452973069 +0,0.9984715879526369,0.0015284120473631332 +1,0.06595017942757242,0.9340498205724276 +0,0.725344427180401,0.274655572819599 +0,0.6936770705633641,0.30632292943663586 +1,0.09767672507179981,0.9023232749282002 +0,0.9913290576519682,0.008670942348031823 +0,0.9143367707301763,0.08566322926982377 +0,0.9326309803300287,0.06736901966997133 +1,0.4016239481233773,0.5983760518766227 +0,0.9945414124317901,0.005458587568209962 +0,0.8220369848450523,0.17796301515494775 +0,0.9962883855170208,0.0037116144829792376 +0,0.59795407295483,0.40204592704516995 +0,0.9330855489590619,0.06691445104093807 +0,0.9938948024381424,0.006105197561857594 +0,0.6916099261602977,0.3083900738397023 +0,0.9893135603438713,0.01068643965612874 +0,0.9150969157868347,0.0849030842131653 +1,0.25679880103924557,0.7432011989607544 +0,0.9854603765541913,0.014539623445808718 +0,0.798599997868427,0.20140000213157305 +0,0.9853651264629387,0.014634873537061225 +0,0.9869680442057026,0.013031955794297358 +0,0.9871316527294092,0.012868347270590805 +1,0.24943751248139723,0.7505624875186028 +0,0.9736532239767408,0.026346776023259147 +1,0.062045385503699535,0.9379546144963005 +0,0.9775691692669788,0.022430830733021257 +0,0.8431903567134346,0.1568096432865654 +0,0.7751923979502406,0.2248076020497594 +1,0.028213263504847208,0.9717867364951528 +0,0.9975378965801366,0.002462103419863429 +0,0.9987752331074295,0.0012247668925704162 +0,0.9330885278261775,0.0669114721738225 +0,0.9820934006806626,0.01790659931933739 +1,0.07622359227119313,0.9237764077288069 +0,0.5876783353710238,0.4123216646289763 +0,0.9967518966321577,0.003248103367842346 +0,0.8378740944910431,0.16212590550895692 +0,0.9996645208810483,3.354791189517319E-4 +0,0.9838371606814047,0.01616283931859526 +0,0.9890507121794049,0.010949287820595165 +0,0.6752344898446788,0.3247655101553212 +1,0.11439883901988412,0.8856011609801159 +0,0.5185012356438911,0.48149876435610894 +0,0.997813598750094,0.0021864012499059715 +0,0.9897635871357489,0.010236412864251162 +1,0.4023093481065203,0.5976906518934797 +0,0.9021690246613898,0.09783097533861015 +1,0.14753240399880285,0.8524675960011971 +1,0.13009536178385572,0.8699046382161443 +0,0.9948480893946909,0.005151910605309082 +1,0.12110284697661822,0.8788971530233818 +0,0.9875216097767263,0.012478390223273676 +0,0.9763264572313739,0.023673542768626134 +1,0.24803479542132056,0.7519652045786794 +0,0.9747756571519142,0.025224342848085852 +0,0.9978109490203276,0.0021890509796723486 +1,0.04857366568868937,0.9514263343113106 +0,0.9290461707224252,0.07095382927757478 +0,0.9904522983920274,0.009547701607972579 +1,0.1410457268877956,0.8589542731122044 +0,0.9900231182013641,0.009976881798635881 +0,0.95733664387489,0.04266335612510991 +0,0.9308454157224655,0.06915458427753449 +0,0.8374441610208855,0.16255583897911452 +1,0.10970058420116569,0.8902994157988343 +0,0.9920451005009568,0.00795489949904312 +0,0.9987565343112287,0.0012434656887713538 +0,0.9890010208774813,0.01099897912251869 +0,0.928507370945343,0.07149262905465707 +0,0.652540566233868,0.347459433766132 +0,0.9881093230850417,0.011890676914958317 +1,0.048039678046563616,0.9519603219534364 +0,0.9977124655974808,0.0022875344025191377 +0,0.8931436000444288,0.10685639995557121 +1,0.09766779055748231,0.9023322094425177 +0,0.9240053053030401,0.07599469469695981 +0,0.9852415039038332,0.014758496096166706 +1,0.22325829138068964,0.7767417086193104 +0,0.9684457440690399,0.03155425593096011 +0,0.7551884639281969,0.244811536071803 +0,0.9870436752756768,0.012956324724323178 +0,0.9946920646457282,0.005307935354271726 +0,0.8467368324673424,0.15326316753265753 +0,0.9385204666661892,0.06147953333381087 +0,0.999111485611805,8.885143881950546E-4 +0,0.9953681704078062,0.004631829592193762 +0,0.944863193106852,0.055136806893148045 +0,0.9102315722336219,0.0897684277663781 +0,0.993251444602949,0.006748555397051015 +0,0.9525879768481664,0.0474120231518336 +0,0.9354073409820142,0.06459265901798582 +1,0.20222408433269534,0.7977759156673047 +0,0.9028874803019267,0.0971125196980733 +0,0.6721716187084107,0.3278283812915893 +0,0.8767833559217746,0.1232166440782254 +1,0.2513436185311049,0.7486563814688951 +1,0.12858622087909566,0.8714137791209043 +0,0.9961755776011352,0.003824422398864835 +1,0.2483256036186936,0.7516743963813064 +0,0.9942419262463668,0.005758073753633216 +1,0.3024614411152843,0.6975385588847157 +0,0.6916258159257486,0.30837418407425143 +0,0.9609989786190174,0.039001021380982555 +1,0.47696557713889476,0.5230344228611052 +0,0.9899170431407285,0.01008295685927149 +0,0.9949158783706537,0.005084121629346321 +0,0.7959510194936092,0.20404898050639078 +0,0.9860862754534301,0.013913724546569904 +0,0.9990480880816875,9.519119183124806E-4 +0,0.9982013877160377,0.001798612283962233 +0,0.9869604574608396,0.01303954253916042 +1,0.3759966329865012,0.6240033670134988 +1,0.04011879677019958,0.9598812032298004 +0,0.9957164429018611,0.00428355709813883 +1,0.403303032459979,0.596696967540021 +0,0.9976252895862773,0.0023747104137226997 +0,0.9997067333811518,2.932666188481774E-4 +0,0.9979997742688173,0.0020002257311827303 +0,0.8607370429036576,0.1392629570963424 +0,0.9995837516117233,4.1624838827665413E-4 +1,0.16032225931410315,0.8396777406858968 +0,0.9626741894857435,0.03732581051425654 +0,0.7177396723011655,0.28226032769883447 +0,0.8979851548662259,0.10201484513377417 +0,0.9771826547651976,0.022817345234802375 +1,0.20643827623186628,0.7935617237681337 +0,0.9991824318357959,8.175681642040666E-4 +0,0.5213304883879296,0.4786695116120704 +0,0.9830745891171682,0.016925410882831893 +0,0.8917928368993462,0.10820716310065386 +0,0.9985505355795645,0.001449464420435448 +0,0.9372435729525601,0.06275642704743992 +0,0.9998083359770353,1.9166402296471544E-4 +1,0.14431438245338923,0.8556856175466108 +0,0.9846680532943289,0.015331946705671052 +1,0.4483504686594265,0.5516495313405735 +0,0.5019792682601498,0.4980207317398501 +0,0.9933477532942278,0.006652246705772222 +0,0.9974122577808505,0.0025877422191494938 +1,0.1785810049855946,0.8214189950144054 +0,0.9995688732831257,4.3112671687424355E-4 +0,0.6841363371488529,0.3158636628511471 +0,0.8457299306288796,0.1542700693711204 +0,0.9997580299373187,2.419700626813157E-4 +0,0.9898774688221693,0.010122531177830681 +0,0.957844640483307,0.04215535951669305 +0,0.9701867569492855,0.029813243050714512 +0,0.9478482380939491,0.05215176190605082 +1,0.18148346794018932,0.8185165320598107 +0,0.997079779624729,0.0029202203752709305 +0,0.9794764625884084,0.02052353741159163 +0,0.7206302178083812,0.2793697821916188 +0,0.9735185113949878,0.026481488605012208 +0,0.9956283094295253,0.004371690570474664 +0,0.9714490093911984,0.028550990608801643 +0,0.9909699419825674,0.009030058017432627 +0,0.9210219437756431,0.078978056224357 +0,0.9975777241845226,0.0024222758154774137 +1,0.2639159578682738,0.7360840421317262 +0,0.6341474570925705,0.3658525429074296 +1,0.2339045692161732,0.7660954307838268 +1,0.3571567250670963,0.6428432749329037 +0,0.977896644522396,0.022103355477603958 +0,0.8534338097645224,0.14656619023547754 +0,0.8711994157848509,0.12880058421514906 +0,0.8798367353824705,0.12016326461752941 +0,0.9502635127321977,0.04973648726780235 +0,0.9944813538909063,0.005518646109093682 +1,0.13717952069971273,0.8628204793002873 +0,0.9991616139978858,8.383860021141965E-4 +1,0.07629882187994952,0.9237011781200505 +0,0.9058855041586114,0.09411449584138865 +1,0.08215886351908963,0.9178411364809104 +0,0.7426956746902962,0.2573043253097038 +0,0.9957869474618405,0.004213052538159548 +0,0.5803169388193941,0.419683061180606 +0,0.9837242651986069,0.01627573480139313 +1,0.07474763716385202,0.925252362836148 +0,0.943764451207651,0.05623554879234907 +0,0.9880428561566785,0.011957143843321505 +0,0.9991038073706429,8.961926293571127E-4 +0,0.956345436000926,0.04365456399907399 +0,0.9999013951628801,9.860483711982118E-5 +0,0.6398168327524221,0.36018316724757793 +0,0.9936914244288648,0.006308575571135194 +0,0.9641526055333933,0.03584739446660666 +0,0.9986717991818989,0.0013282008181011028 +0,0.73681136580966,0.26318863419034 +1,0.29754300419465907,0.7024569958053409 +0,0.9817081069019884,0.018291893098011554 +0,0.8153102976320374,0.1846897023679625 +0,0.9481146705578136,0.05188532944218637 +0,0.9932636475600407,0.0067363524399592836 +1,0.37110495454645065,0.6288950454535494 +0,0.9149683775856647,0.08503162241433529 +0,0.8666347897021756,0.1333652102978245 +0,0.9792023136439846,0.020797686356015473 +0,0.6405205263440563,0.3594794736559436 +0,0.9882575119315878,0.01174248806841213 +0,0.992262199478844,0.007737800521156063 +0,0.8798323650214155,0.12016763497858457 +0,0.9995638782708525,4.361217291474767E-4 +0,0.9953577381907986,0.0046422618092013266 +0,0.9669025046069868,0.03309749539301316 +0,0.9979055228518706,0.0020944771481293564 +1,0.36282998822409185,0.6371700117759082 +0,0.986433308624513,0.013566691375487086 +1,0.4108710352081184,0.5891289647918816 +0,0.9883733744982413,0.011626625501758778 +0,0.996011216774024,0.003988783225975935 +0,0.9989005395921939,0.0010994604078060357 +0,0.9766629118090983,0.023337088190901745 +1,0.03313676348267425,0.9668632365173258 +1,0.13532638512376727,0.8646736148762327 +1,0.26980466310649676,0.7301953368935032 +0,0.993477866117222,0.0065221338827779985 +0,0.8352890580238164,0.1647109419761836 +0,0.9616730948858984,0.03832690511410168 +0,0.9963567297222499,0.0036432702777501654 +1,0.22213555890284264,0.7778644410971574 +0,0.9222512261030775,0.07774877389692252 +0,0.8965214647974449,0.10347853520255516 +0,0.9997915603087959,2.084396912040962E-4 +0,0.9935454869333904,0.006454513066609584 +0,0.996434779762339,0.0035652202376610384 +0,0.9741347088298455,0.02586529117015449 +0,0.9994617496458114,5.382503541886063E-4 +0,0.769713470987259,0.23028652901274102 +0,0.9996086886099066,3.913113900933868E-4 +0,0.998170121741344,0.0018298782586560272 +0,0.9763092485883903,0.02369075141160966 +0,0.9967982451713631,0.0032017548286368846 +0,0.9081987058356705,0.09180129416432951 +0,0.9850695287702463,0.014930471229753673 +0,0.9825864704312581,0.017413529568741846 +0,0.9935274541671054,0.006472545832894602 +0,0.9496967553933018,0.05030324460669827 +0,0.9622277251681401,0.03777227483185988 +0,0.9394706292581982,0.06052937074180171 +0,0.9366034317226188,0.0633965682773811 +0,0.9648773690568432,0.03512263094315682 +0,0.646322686591154,0.35367731340884595 +0,0.9928446162288059,0.007155383771194105 +0,0.9998912396138722,1.0876038612785482E-4 +0,0.8934482863635979,0.10655171363640219 +0,0.8999999733872218,0.10000002661277817 +0,0.9962653032937945,0.0037346967062054895 +0,0.9881743002072545,0.011825699792745533 +0,0.994957337001789,0.005042662998210981 +0,0.9944515936536015,0.005548406346398477 +1,0.06130084228602961,0.9386991577139704 +1,0.09853162214855204,0.901468377851448 +1,0.44365709353144167,0.5563429064685583 +0,0.9908137119769935,0.009186288023006495 +0,0.9871374892787985,0.01286251072120146 +1,0.1853756161708131,0.8146243838291869 +0,0.9259350554830215,0.07406494451697848 +0,0.9990218847960046,9.781152039953832E-4 +0,0.9707817683904102,0.029218231609589765 +0,0.9526437455858402,0.047356254414159804 +1,0.3873019221912666,0.6126980778087334 +0,0.9905958707249428,0.009404129275057205 +0,0.9987658174314177,0.001234182568582355 +0,0.8140599549436114,0.18594004505638856 +0,0.9996281996220091,3.7180037799094013E-4 +0,0.7960307159217904,0.20396928407820955 +0,0.7445471846767779,0.255452815323222 +0,0.9530788169476272,0.04692118305237286 +0,0.8940472729739293,0.10595272702607078 +0,0.8614611604279075,0.13853883957209243 +0,0.9983323892827135,0.00166761071728649 +0,0.5304544689864493,0.4695455310135507 +1,0.45202009160357004,0.54797990839643 +0,0.9991276477389056,8.723522610943347E-4 +0,0.98026879010721,0.01973120989278998 +0,0.9941866794432351,0.005813320556764825 +0,0.9382478143629017,0.06175218563709823 +0,0.5359264556628354,0.4640735443371647 +0,0.9446543915662017,0.055345608433798314 +0,0.8500268501827501,0.14997314981724985 +0,0.9972745781743398,0.002725421825660146 +1,0.3751042582287989,0.6248957417712011 +1,0.25391517452304035,0.7460848254769596 +1,0.3093631307777305,0.6906368692222695 +0,0.9066388728622975,0.09336112713770246 +1,0.06011719094225665,0.9398828090577434 +0,0.9987822781884595,0.0012177218115404388 +0,0.9795086602339053,0.020491339766094737 +1,0.14510598345855197,0.854894016541448 +0,0.895344721120187,0.10465527887981292 +0,0.9705568522296234,0.029443147770376623 +0,0.9142074791480655,0.08579252085193449 +0,0.685381079215756,0.3146189207842441 +0,0.6676872926876216,0.33231270731237833 +1,0.22514326514467253,0.7748567348553275 +0,0.9244665107538701,0.07553348924612988 +0,0.9828743175919148,0.017125682408085183 +0,0.9265721165166927,0.07342788348330734 +1,0.12155967324167016,0.8784403267583298 +0,0.8597101950222696,0.14028980497773033 +1,0.27533931481575746,0.7246606851842425 +1,0.3533182147951872,0.6466817852048128 +0,0.9994702088320537,5.297911679462223E-4 +0,0.8360321970006976,0.16396780299930236 +0,0.9885313725743722,0.011468627425627853 +0,0.9996335211369021,3.664788630979745E-4 +0,0.9935772254174451,0.006422774582554929 +0,0.9271719781310653,0.07282802186893468 +0,0.8839609719935321,0.11603902800646791 +0,0.5731041310876485,0.42689586891235154 +0,0.9871471279943043,0.012852872005695775 +0,0.9839385448373462,0.01606145516265379 +0,0.9855156520978194,0.014484347902180549 +0,0.9490051610964186,0.05099483890358132 +0,0.9793886976357823,0.020611302364217737 +0,0.9823708540396037,0.017629145960396286 +0,0.8242691553395255,0.17573084466047453 +0,0.891494096965646,0.10850590303435398 +1,0.35264827545749367,0.6473517245425063 +0,0.7744790291715636,0.22552097082843633 +0,0.9155074852006848,0.08449251479931522 +0,0.7231031660188061,0.27689683398119397 +0,0.8326382070936293,0.16736179290637065 +0,0.9511045242698276,0.04889547573017235 +1,0.10050569863689807,0.8994943013631019 +0,0.9785292500980466,0.02147074990195343 +0,0.9922893951111468,0.007710604888853203 +1,0.13314261704500996,0.86685738295499 +0,0.9994829313608217,5.17068639178338E-4 +0,0.998929446487748,0.0010705535122519988 +0,0.9567518785983808,0.04324812140161921 +0,0.9950412135818018,0.004958786418198235 +0,0.9761567830379287,0.0238432169620712 +0,0.9843425760892839,0.015657423910716076 +0,0.9516932448885725,0.04830675511142742 +0,0.9546684638649084,0.04533153613509157 +0,0.9661526518123125,0.03384734818768757 +0,0.9683049268136644,0.03169507318633553 +0,0.9105635298492445,0.08943647015075556 +0,0.998676478720425,0.0013235212795750571 +0,0.99167666364214,0.008323336357860006 +0,0.8823705853568837,0.11762941464311621 +1,0.058506667416354685,0.9414933325836453 +1,0.29584032255591997,0.70415967744408 +0,0.9813350752650174,0.01866492473498255 +0,0.9160660037029023,0.08393399629709773 +0,0.9627167584047193,0.037283241595280736 +0,0.9996263316766163,3.7366832338374054E-4 +0,0.9986840340776362,0.0013159659223638263 +0,0.9776615377844482,0.022338462215551753 +0,0.9850593020578547,0.014940697942145247 +0,0.999065993284901,9.34006715099035E-4 +0,0.9136040066906216,0.08639599330937843 +1,0.2955929449502954,0.7044070550497046 +0,0.7767738862082592,0.22322611379174084 +0,0.8867340604029881,0.11326593959701194 +0,0.9567153997789032,0.04328460022109685 +0,0.9959911045070923,0.004008895492907754 +0,0.5554665001387331,0.44453349986126683 +0,0.9078130116859541,0.09218698831404594 +0,0.9965971661117679,0.003402833888232192 +0,0.9764061885890094,0.023593811410990633 +1,0.11593595068786144,0.8840640493121386 +0,0.8819751891374783,0.1180248108625217 +0,0.8740860640444126,0.12591393595558747 +0,0.9653935451176548,0.03460645488234519 +0,0.9875624178825394,0.012437582117460575 +0,0.9957762177267173,0.004223782273282655 +0,0.8416215784697513,0.15837842153024873 +0,0.9956971581225114,0.004302841877488688 +0,0.9995324549089355,4.6754509106455475E-4 +1,0.07790700938715833,0.9220929906128417 +0,0.9937947343534747,0.006205265646525297 +0,0.9728595843429463,0.027140415657053687 +0,0.9297430140928047,0.07025698590719526 +0,0.8369963665196959,0.1630036334803041 +0,0.9963946389145476,0.003605361085452351 +1,0.16611944316915328,0.8338805568308467 +0,0.9178666411000871,0.08213335889991293 +1,0.0978208404346309,0.9021791595653691 +0,0.7390103066513292,0.26098969334867084 +0,0.8392782629865339,0.16072173701346612 +1,0.08897818138635549,0.9110218186136445 +0,0.9998355312925366,1.6446870746346801E-4 +1,0.21502807910705413,0.7849719208929459 +0,0.9643682068677137,0.03563179313228631 +0,0.9971175823613606,0.0028824176386393727 +0,0.8956829094812091,0.10431709051879084 +0,0.9958403376107611,0.004159662389238901 +0,0.8573535035989566,0.1426464964010435 +0,0.9911631474687375,0.008836852531262526 +0,0.9959234432913169,0.004076556708683103 +0,0.9562970564068975,0.043702943593102506 +0,0.943001581809148,0.05699841819085202 +0,0.9917969695654961,0.008203030434503832 +1,0.06764723778660142,0.9323527622133986 +0,0.892874064555504,0.107125935444496 +0,0.9962641572467408,0.003735842753259189 +0,0.9965090837908237,0.0034909162091762576 +0,0.875460428604927,0.12453957139507302 +1,0.2558349026260839,0.7441650973739161 +0,0.9989077743853053,0.0010922256146946527 +1,0.07238548658829103,0.927614513411709 +0,0.9660156808080925,0.03398431919190746 +1,0.08899057566486457,0.9110094243351354 +0,0.9947966726109415,0.005203327389058454 +0,0.9981063088358132,0.0018936911641868207 +0,0.9817281655946843,0.01827183440531565 +0,0.8856517340922838,0.1143482659077162 +1,0.2795541348328865,0.7204458651671135 +0,0.6844897663417218,0.3155102336582783 +0,0.9663822982029827,0.03361770179701733 +1,0.1742163182707206,0.8257836817292794 +1,0.2816754037765533,0.7183245962234467 +0,0.9848357192613906,0.015164280738609386 +0,0.9954628503984763,0.004537149601523763 +0,0.9596532867076194,0.04034671329238063 +0,0.9427559106711341,0.057244089328865884 +0,0.9957852910435631,0.004214708956436939 +0,0.9727069195278258,0.027293080472174196 +0,0.9931264367716417,0.0068735632283583046 +0,0.9990016244963595,9.983755036404214E-4 +0,0.9870172997811696,0.012982700218830372 +0,0.9883099794385272,0.011690020561472798 +0,0.9932841315788291,0.006715868421170921 +0,0.9699687222667598,0.030031277733240207 +0,0.9905118618463066,0.009488138153693414 +0,0.9802033570846426,0.019796642915357446 +0,0.991001617755398,0.008998382244601984 +0,0.7864116028756472,0.2135883971243528 +0,0.998601499684134,0.0013985003158659452 +0,0.9993571510965682,6.428489034318045E-4 +0,0.9974227381822406,0.0025772618177594634 +1,0.08036708552822314,0.9196329144717769 +1,0.4282999136299782,0.5717000863700218 +0,0.5705700296208835,0.4294299703791164 +1,0.1749086706448001,0.8250913293551999 +0,0.9221570454329968,0.07784295456700323 +1,0.057247929857356494,0.9427520701426435 +0,0.9929637850852239,0.007036214914776152 +0,0.6838233915956695,0.3161766084043305 +0,0.9874063714684295,0.012593628531570568 +0,0.9383891870654615,0.061610812934538475 +0,0.8539138198527655,0.14608618014723448 +0,0.9343867320618318,0.06561326793816823 +0,0.9733637036882828,0.026636296311717128 +1,0.24787025561985576,0.7521297443801442 +0,0.9954456546217123,0.00455434537828774 +0,0.940558554902165,0.05944144509783504 +1,0.26484965248554815,0.7351503475144519 +0,0.9043086759489519,0.09569132405104806 +0,0.997765351159289,0.0022346488407109753 +0,0.9780417622180487,0.021958237781951308 +0,0.8711133307526091,0.1288866692473909 +0,0.9832199198892951,0.016780080110704917 +0,0.884353876377802,0.11564612362219791 +0,0.7850782755656619,0.2149217244343381 +0,0.9519750473905295,0.04802495260947044 +1,0.30905754259893015,0.6909424574010699 +0,0.9947174740673049,0.005282525932695027 +1,0.11326286649239858,0.8867371335076014 +1,0.3850818264163306,0.6149181735836694 +0,0.8527778113161653,0.14722218868383474 +0,0.9982172634009173,0.001782736599082649 +1,0.396219736553862,0.603780263446138 +0,0.9967756574765679,0.0032243425234320493 +0,0.976926910735093,0.02307308926490704 +0,0.891362227394918,0.108637772605082 +1,0.24475271684840672,0.7552472831515933 +0,0.912677412423855,0.08732258757614501 +0,0.9726825423819844,0.0273174576180156 +0,0.9921265394906794,0.007873460509320545 +0,0.9031115287330013,0.0968884712669987 +0,0.9682103459284137,0.03178965407158624 +0,0.9933279751795062,0.006672024820493833 +1,0.15925551248647196,0.840744487513528 +0,0.998491440027022,0.0015085599729780905 +0,0.9980439947913895,0.001956005208610479 +0,0.6603105887196508,0.3396894112803492 +0,0.9874745528100974,0.012525447189902611 +0,0.9816592703668255,0.018340729633174447 +0,0.9967997290326482,0.003200270967351803 +0,0.6472009012573322,0.3527990987426678 +0,0.9990794199726957,9.205800273043089E-4 +0,0.8999388074434644,0.10006119255653562 +0,0.9144285004010291,0.08557149959897091 +0,0.7628537360127028,0.23714626398729724 +0,0.9371491798882566,0.06285082011174334 +0,0.7237485243173682,0.2762514756826317 +0,0.6136698260489603,0.38633017395103975 +0,0.7469581779394162,0.2530418220605838 +0,0.9223925991882518,0.07760740081174818 +0,0.9872287006496877,0.012771299350312291 +0,0.8620655922264536,0.13793440777354637 +0,0.9960561010774339,0.00394389892256611 +0,0.9996882833627365,3.117166372634264E-4 +0,0.7947746344172523,0.2052253655827477 +0,0.9842526447223493,0.01574735527765071 +1,0.40202987772512255,0.5979701222748774 +0,0.9731929077650552,0.026807092234944783 +0,0.9958239985518935,0.004176001448106531 +1,0.13016081778086097,0.869839182219139 +1,0.11438624357305038,0.8856137564269496 +1,0.36234895421307567,0.6376510457869243 +0,0.5960499196761995,0.4039500803238005 +0,0.9403897197440092,0.05961028025599079 +0,0.9906960805021781,0.009303919497821939 +1,0.4748688395123427,0.5251311604876573 +0,0.7987372588077029,0.2012627411922971 +0,0.9908238810888623,0.009176118911137626 +0,0.6140718571846285,0.38592814281537147 +1,0.06675817050881883,0.9332418294911812 +0,0.9967813521202441,0.0032186478797558964 +0,0.9980232137843779,0.00197678621562212 +0,0.9963528798794321,0.003647120120567942 +0,0.9285414518297884,0.07145854817021154 +0,0.959430031948726,0.040569968051274045 +1,0.3248867383046915,0.6751132616953085 +1,0.06905919065700583,0.9309408093429942 +0,0.7683752803420276,0.23162471965797243 +0,0.9804190168573149,0.019580983142685103 +0,0.9164029961972897,0.08359700380271028 +1,0.22332272148954024,0.7766772785104598 +0,0.7982946481499991,0.20170535185000088 +0,0.9921353506655747,0.007864649334425338 +0,0.9947685794072741,0.005231420592725897 +0,0.997574320936145,0.0024256790638550684 +1,0.20935897819567095,0.790641021804329 +0,0.9936848737157159,0.006315126284284123 +1,0.08612222244596657,0.9138777775540334 +0,0.9217714388971994,0.07822856110280062 +1,0.1329263778622295,0.8670736221377705 +0,0.9992208795518686,7.791204481314188E-4 +1,0.3001699151060513,0.6998300848939487 +1,0.268968219757982,0.731031780242018 +0,0.9708700737311922,0.029129926268807848 +0,0.991871790726872,0.008128209273127948 +1,0.06312832472670982,0.9368716752732902 +0,0.8903086938741398,0.10969130612586016 +0,0.6539241280463979,0.3460758719536022 +0,0.7663102231700433,0.2336897768299567 +1,0.1679188434401192,0.8320811565598808 +0,0.9779737879853084,0.022026212014691536 +0,0.9703500868613062,0.029649913138693758 +0,0.9918290069124951,0.00817099308750487 +0,0.8560636999480297,0.14393630005197033 +0,0.9169141159484949,0.08308588405150509 +1,0.3887395830592314,0.6112604169407686 +1,0.44786633783328267,0.5521336621667173 +0,0.9996920750274992,3.0792497250077425E-4 +0,0.9922588316488848,0.007741168351115203 +0,0.8352461921196943,0.1647538078803057 +0,0.9424408140579079,0.057559185942092125 +0,0.8150498402260266,0.18495015977397347 +0,0.9936993439639198,0.006300656036080161 +0,0.9966647739294536,0.0033352260705464105 +0,0.9181343884122999,0.08186561158770014 +0,0.5100884970306283,0.48991150296937164 +1,0.23125088705095886,0.7687491129490411 +0,0.9939856305486464,0.006014369451353627 +0,0.9468900152531844,0.05310998474681561 +0,0.9362384875412998,0.0637615124587002 +0,0.9948550815897599,0.005144918410240102 +1,0.0760750216733016,0.9239249783266984 +0,0.9694552376857052,0.030544762314294833 +0,0.9941951925221242,0.005804807477875808 +0,0.9783108325582862,0.02168916744171382 +0,0.9563032067532751,0.04369679324672494 +0,0.99121350829262,0.008786491707379945 +0,0.9022324269593186,0.09776757304068137 +1,0.12915923667436802,0.870840763325632 +0,0.9810954567656012,0.01890454323439888 +1,0.08898972332554711,0.9110102766744529 +1,0.2550502554118238,0.7449497445881762 +0,0.9943601136189903,0.00563988638100967 +0,0.9861421232612843,0.01385787673871574 +0,0.9752509831423285,0.02474901685767151 +0,0.8352395972911635,0.16476040270883657 +1,0.23391141780159586,0.7660885821984041 +0,0.9955696510828664,0.004430348917133618 +0,0.9907011503436113,0.009298849656388697 +0,0.9888705187319989,0.011129481268001078 +0,0.9766047955490879,0.02339520445091211 +1,0.35937117730010404,0.640628822699896 +0,0.9090280324607407,0.09097196753925924 +0,0.9990626680805562,9.373319194437787E-4 +0,0.9571793231620954,0.04282067683790459 +0,0.9991755344301964,8.24465569803666E-4 +1,0.3819071413251627,0.6180928586748373 +0,0.789397840326294,0.210602159673706 +0,0.9675572728812307,0.03244272711876922 +0,0.9498980701692734,0.05010192983072656 +0,0.9402374209063639,0.0597625790936361 +0,0.9938945915850205,0.006105408414979539 +1,0.4312403422536242,0.5687596577463758 +1,0.11365852321607506,0.8863414767839249 +0,0.9767173209281688,0.02328267907183119 +0,0.9954836566580523,0.004516343341947757 +0,0.9712386805115023,0.028761319488497736 +0,0.9933624793906853,0.00663752060931463 +1,0.1905913018682236,0.8094086981317764 +0,0.9665166370999417,0.03348336290005826 +1,0.06561275266453104,0.934387247335469 +0,0.8739736297816568,0.12602637021834318 +0,0.933943514035003,0.06605648596499701 +0,0.8414350383975502,0.15856496160244987 +0,0.997963471878283,0.0020365281217169114 +0,0.5156377712284125,0.4843622287715875 +1,0.30715965787512833,0.6928403421248717 +0,0.998492749612525,0.0015072503874750472 +0,0.9658198440791691,0.03418015592083094 +1,0.4214818166127572,0.5785181833872428 +0,0.9734395677689295,0.02656043223107056 +0,0.993652305360054,0.006347694639945998 +0,0.693571349030765,0.306428650969235 +0,0.9857111245078846,0.014288875492115419 +0,0.5257225512958417,0.4742774487041584 +0,0.9996315409626921,3.6845903730791876E-4 +0,0.6412338753689397,0.3587661246310603 +0,0.7437237779594361,0.2562762220405639 +0,0.9976235989894748,0.002376401010525187 +0,0.926668127248598,0.07333187275140193 +0,0.9947340880124789,0.0052659119875211515 +0,0.97361802228158,0.026381977718419953 +0,0.9995144813278805,4.8551867211956074E-4 +0,0.9984626614712444,0.0015373385287556095 +0,0.9159569376425506,0.08404306235744939 +0,0.9985915961870467,0.0014084038129532313 +0,0.8630080322260172,0.13699196777398287 +0,0.9882381981630927,0.011761801836907306 +0,0.9901270782073578,0.009872921792642177 +0,0.981154607284658,0.018845392715342066 +0,0.9863457939089533,0.013654206091046731 +0,0.8931047800366586,0.10689521996334142 +0,0.8868761586460474,0.11312384135395263 +0,0.7347614684877624,0.2652385315122377 +0,0.9995086390007514,4.913609992486247E-4 +0,0.6745625998293655,0.3254374001706345 +0,0.9984632524573382,0.0015367475426617198 +0,0.9955576839532317,0.004442316046768245 +0,0.8931667826096725,0.10683321739032743 +1,0.15085470013677527,0.8491452998632247 +1,0.3131285169135297,0.6868714830864703 +0,0.9862752421391697,0.01372475786083024 +0,0.9915320391179491,0.008467960882050913 +0,0.8519908641344757,0.14800913586552436 +0,0.8487368216644194,0.15126317833558053 +0,0.7745001190339766,0.22549988096602336 +0,0.9997126076837278,2.873923162721432E-4 +0,0.9990382649156492,9.617350843508771E-4 +1,0.1772823951466157,0.8227176048533843 +0,0.9581259956437926,0.04187400435620731 +0,0.5813328857493688,0.4186671142506312 +0,0.9771646280416529,0.022835371958347048 +0,0.9661213247168127,0.033878675283187325 +1,0.16741619683020925,0.8325838031697907 +0,0.993232966192395,0.006767033807605044 +0,0.9222364341743357,0.07776356582566432 +1,0.4082224050226869,0.5917775949773131 +0,0.9104595861880689,0.08954041381193113 +0,0.9990497360374587,9.502639625412869E-4 +0,0.8443305822944658,0.15566941770553422 +0,0.993379924757364,0.006620075242636003 +0,0.9955794309709318,0.004420569029068162 +0,0.9761017363947667,0.02389826360523333 +0,0.9949661617209189,0.005033838279081142 +0,0.9809480973944879,0.019051902605512167 +0,0.9960282070612047,0.0039717929387953895 +0,0.9809155890378206,0.01908441096217942 +0,0.9958701972934931,0.004129802706506831 +0,0.995054325864004,0.004945674135995954 +1,0.06773930276674833,0.9322606972332517 +0,0.8895402509755915,0.11045974902440846 +0,0.9917438043444678,0.008256195655532117 +0,0.8790615201465817,0.12093847985341837 +0,0.9978072920001257,0.0021927079998742267 +0,0.9742287882321257,0.025771211767874367 +0,0.7487461830794399,0.25125381692056015 +0,0.9237939161063613,0.07620608389363867 +0,0.9869525672604496,0.0130474327395505 +0,0.7616075914470575,0.23839240855294258 +1,0.4546215788052572,0.5453784211947428 +0,0.9661252123863933,0.03387478761360671 +0,0.972789489017701,0.02721051098229901 +0,0.9801272893118197,0.019872710688180275 +0,0.9638433245456435,0.03615667545435651 +0,0.9697945168535667,0.030205483146433357 +0,0.9820528297182538,0.017947170281746236 +0,0.9887001030095629,0.011299896990437134 +0,0.9298230847251708,0.07017691527482915 +1,0.12844335828013975,0.8715566417198602 +0,0.7814543382084408,0.21854566179155924 +0,0.9115620735444689,0.0884379264555311 +1,0.44427538184190896,0.555724618158091 +0,0.6109404018498886,0.3890595981501114 +0,0.8200500011221756,0.1799499988778244 +0,0.9807451317998627,0.019254868200137297 +0,0.9125044176040726,0.08749558239592732 +0,0.9992350658318949,7.649341681050786E-4 +0,0.9716125567567532,0.028387443243246803 +0,0.7811705029299945,0.21882949707000554 +1,0.2604893871677023,0.7395106128322977 +1,0.2783599746607218,0.7216400253392782 +0,0.8807109142465087,0.11928908575349133 +0,0.9534938457877339,0.0465061542122661 +1,0.21143888778491304,0.788561112215087 +1,0.24056050832805376,0.7594394916719462 +0,0.8962649250465563,0.10373507495344368 +1,0.11736720233921627,0.8826327976607837 +0,0.5432656085392429,0.4567343914607571 +1,0.47660427148663864,0.5233957285133614 +1,0.4938873794158607,0.5061126205841393 +0,0.9993358516800356,6.641483199644277E-4 +0,0.9954405385644505,0.004559461435549482 +0,0.5722293554209208,0.4277706445790792 +0,0.9698079737949576,0.030192026205042386 +0,0.9974490000599552,0.0025509999400447846 +1,0.14826675690269742,0.8517332430973026 +0,0.9988664839631798,0.0011335160368201608 +0,0.9966466420584749,0.0033533579415251074 +0,0.9376013712114025,0.06239862878859752 +0,0.9285771801261632,0.07142281987383683 +0,0.9933593624051152,0.006640637594884785 +0,0.8991985262092038,0.10080147379079614 +0,0.9838175634574221,0.016182436542577856 +0,0.92988561625333,0.07011438374666996 +0,0.740168778607313,0.25983122139268705 +0,0.9036422951134443,0.09635770488655572 +0,0.9089541874747775,0.09104581252522244 +0,0.8939627133375038,0.10603728666249623 +0,0.9995428584729303,4.57141527069623E-4 +1,0.13691410911240165,0.8630858908875984 +0,0.9871848027658939,0.012815197234106061 +0,0.5754846651342115,0.4245153348657885 +0,0.8315169382404319,0.1684830617595681 +1,0.40919318522886927,0.5908068147711307 +0,0.6457982599535304,0.3542017400464697 +0,0.7300051675435297,0.2699948324564702 +0,0.9224354284676081,0.07756457153239193 +0,0.9921187615491157,0.007881238450884294 +1,0.11838802954348082,0.8816119704565192 +0,0.9700652600078287,0.029934739992171378 +0,0.9912568483786162,0.008743151621383822 +0,0.991602231859435,0.008397768140564994 +0,0.9995140986811926,4.8590131880739716E-4 +1,0.38442432625334644,0.6155756737466536 +1,0.23908824861624423,0.7609117513837558 +0,0.985272646676404,0.014727353323595987 +0,0.9970043120663931,0.0029956879336069117 +0,0.9972941817177656,0.002705818282234384 +0,0.9754732944025629,0.02452670559743703 +1,0.027751593151264742,0.9722484068487353 +0,0.9986225344849607,0.0013774655150392387 +0,0.9586610852915506,0.04133891470844938 +0,0.7400405979362252,0.25995940206377477 +0,0.8895378486390954,0.11046215136090465 +1,0.3867336932272495,0.6132663067727505 +0,0.958197104528073,0.04180289547192693 +0,0.9923074418183732,0.007692558181626804 +0,0.9821099164480843,0.017890083551915723 +0,0.7932776876120635,0.20672231238793642 +1,0.3370122385693767,0.6629877614306233 +1,0.1523705317167835,0.8476294682832165 +0,0.9332406862364352,0.06675931376356478 +0,0.8588591940037722,0.14114080599622786 +0,0.7756378250749026,0.22436217492509736 +0,0.9969044740854844,0.0030955259145155167 +1,0.17000585752239972,0.8299941424776003 +1,0.31890598141526094,0.6810940185847391 +1,0.31695624456585836,0.6830437554341416 +0,0.7604219999155475,0.23957800008445246 +0,0.9911008684408755,0.008899131559124437 +0,0.9264185491242426,0.07358145087575743 +0,0.999755969150025,2.4403084997506983E-4 +0,0.9724022911604399,0.02759770883956018 +1,0.1778494757885264,0.8221505242114736 +0,0.9995660112482784,4.339887517216292E-4 +0,0.9338802008106103,0.06611979918938975 +0,0.9659353752771372,0.034064624722862764 +0,0.9880834218435588,0.011916578156441187 +1,0.23226631987091007,0.7677336801290899 +1,0.27537956718827006,0.7246204328117299 +0,0.9777977990578828,0.02220220094211728 +1,0.06859563887354803,0.931404361126452 +0,0.9386784789593429,0.061321521040657176 +0,0.982984626286425,0.017015373713574974 +1,0.38578158842129695,0.614218411578703 +0,0.9954201281926814,0.004579871807318566 +1,0.09731001952017093,0.9026899804798291 +0,0.9980847388109142,0.0019152611890858246 +0,0.990741224607522,0.009258775392477967 +0,0.9997200181615961,2.799818384039535E-4 +0,0.9854873422356489,0.014512657764351055 +0,0.9198988853913427,0.0801011146086573 +0,0.9959943740766372,0.004005625923362797 +0,0.751444645510168,0.24855535448983201 +0,0.7797421787383598,0.22025782126164012 +0,0.9099358679833244,0.09006413201667558 +0,0.9776412104636648,0.022358789536335178 +0,0.9625778464653659,0.03742215353463404 +0,0.9410767251899569,0.05892327481004314 +1,0.38489095498869796,0.615109045011302 +0,0.7653901638375344,0.23460983616246558 +0,0.8678357160891648,0.1321642839108352 +1,0.22056971536635195,0.779430284633648 +1,0.29645452800854966,0.7035454719914503 +0,0.9718311866542745,0.028168813345725494 +0,0.883231476324112,0.11676852367588797 +0,0.9862186037419662,0.013781396258033754 +0,0.9945313871768329,0.005468612823167151 +0,0.6755620968612945,0.3244379031387054 +1,0.2513006581759514,0.7486993418240486 +0,0.6929333941949214,0.30706660580507855 +0,0.9897695884220697,0.010230411577930299 +0,0.9330344038048283,0.06696559619517173 +1,0.06579195549007288,0.9342080445099271 +0,0.9990920230338193,9.079769661807642E-4 +0,0.6135192770925622,0.3864807229074378 +1,0.08996733021440784,0.9100326697855922 +0,0.9969782045494171,0.003021795450582873 +0,0.992355276232115,0.007644723767885071 +0,0.9601127522742525,0.039887247725747525 +0,0.7019021055511317,0.29809789444886825 +1,0.2849799937237705,0.7150200062762295 +1,0.2868086522744936,0.7131913477255064 +0,0.98931523168148,0.010684768318520063 +0,0.9943968385937307,0.005603161406269224 +0,0.9233798605649223,0.07662013943507769 +1,0.18219510202464606,0.8178048979753539 +0,0.9042463496200082,0.09575365037999187 +0,0.7943760211729445,0.20562397882705555 +0,0.9938642397799342,0.006135760220065737 +0,0.9793493345356965,0.02065066546430348 +1,0.14922120101308323,0.8507787989869168 +0,0.9982574525643342,0.0017425474356658462 +0,0.9988384169667287,0.0011615830332713125 +0,0.9916262595433664,0.008373740456633624 +0,0.7359518427784437,0.26404815722155633 +0,0.724583878114015,0.275416121885985 +0,0.7630469525065442,0.23695304749345575 +0,0.5692826922681743,0.4307173077318257 +1,0.09180140163622919,0.9081985983637708 +0,0.9973897157219538,0.002610284278046267 +0,0.8133509148553721,0.1866490851446278 +0,0.9611151559759626,0.03888484402403734 +0,0.998477777023194,0.0015222229768060724 +0,0.8742360687193075,0.1257639312806925 +0,0.8030345797218923,0.19696542027810765 +0,0.9918039199934608,0.008196080006539107 +0,0.9877584844070592,0.012241515592940828 +0,0.8819903813505556,0.11800961864944443 +1,0.2998713133954547,0.7001286866045453 +0,0.8639067905022475,0.1360932094977525 +0,0.9178432843862219,0.08215671561377819 +0,0.9284603978045035,0.07153960219549649 +0,0.5045368475202053,0.49546315247979467 +0,0.988010196230041,0.011989803769959005 +1,0.19448060194021932,0.8055193980597807 +1,0.4661339633235567,0.5338660366764433 +0,0.9790208484828236,0.020979151517176404 +1,0.20650252376457534,0.7934974762354247 +1,0.16832925095546336,0.8316707490445366 +0,0.9907285698404775,0.009271430159522486 +0,0.8870620107901439,0.11293798920985607 +0,0.8510508516520945,0.14894914834790546 +0,0.9092888600321867,0.09071113996781331 +0,0.9995237568755106,4.762431244893231E-4 +0,0.8651370011594955,0.13486299884050443 +1,0.15307374730842416,0.8469262526915758 +0,0.8351047828193134,0.16489521718068653 +1,0.14205428176567902,0.857945718234321 +1,0.10224359813731054,0.8977564018626895 +0,0.7910839160896428,0.20891608391035715 +0,0.988930830062107,0.011069169937892934 +0,0.9782661854131237,0.021733814586876295 +0,0.9963322185625126,0.003667781437487393 +0,0.9959145410694228,0.004085458930577214 +0,0.9946567594351858,0.005343240564814222 +0,0.5883417205556006,0.41165827944439937 +0,0.9938335237863041,0.006166476213695935 +0,0.8104864831676226,0.18951351683237733 +1,0.12296716293021925,0.8770328370697807 +1,0.356582579339217,0.643417420660783 +0,0.9930493510259621,0.006950648974037886 +0,0.740363696695391,0.2596363033046089 +0,0.7822439859344303,0.21775601406556963 +0,0.9014631519981887,0.09853684800181126 +1,0.17972746691680463,0.8202725330831954 +0,0.9839288810876723,0.01607111891232771 +0,0.9871125217892885,0.012887478210711466 +1,0.3426505783162105,0.6573494216837895 +0,0.7893866382746545,0.21061336172534548 +1,0.4092793054801076,0.5907206945198924 +0,0.9937768190069616,0.0062231809930384544 +1,0.12844716198774864,0.8715528380122514 +0,0.9981158947891441,0.0018841052108559055 +1,0.3049626748271367,0.6950373251728633 +0,0.9343650238350953,0.06563497616490468 +0,0.9992883780102426,7.11621989757433E-4 +0,0.971942878907774,0.02805712109222607 +0,0.9996215715516983,3.784284483016725E-4 +0,0.9618947354777769,0.038105264522223056 +0,0.6705088539889485,0.3294911460110514 +0,0.9796727118360171,0.02032728816398286 +0,0.8160927466784133,0.18390725332158672 +0,0.7415458096871438,0.2584541903128562 +0,0.9501052321621061,0.049894767837893914 +1,0.12536765927705307,0.8746323407229469 +1,0.1368817710731296,0.8631182289268704 +0,0.9638200188802097,0.0361799811197903 +0,0.9982542101950851,0.0017457898049148904 +0,0.934255036188238,0.06574496381176198 +1,0.4792000150845255,0.5207999849154745 +0,0.9125570864963831,0.08744291350361691 +0,0.9993618779689695,6.381220310305541E-4 +0,0.947541709762773,0.05245829023722699 +0,0.836764933746313,0.163235066253687 +0,0.9145151594946844,0.08548484050531553 +1,0.15810707720900685,0.8418929227909931 +0,0.9941297787224329,0.005870221277567067 +0,0.9754058833876482,0.024594116612351783 +0,0.9987893467052426,0.001210653294757405 +0,0.9661245807419718,0.03387541925802823 +0,0.9910541917088131,0.00894580829118681 +0,0.9895692351006727,0.010430764899327233 +0,0.9766968205597273,0.023303179440272687 +1,0.3444858381717927,0.6555141618282073 +0,0.9978521333476815,0.002147866652318489 +0,0.8559961747734263,0.14400382522657373 +0,0.5887743621958359,0.41122563780416405 +0,0.9631117040393659,0.036888295960634164 +0,0.8007733597377988,0.1992266402622012 +0,0.9135366067170476,0.08646339328295241 +0,0.9366255400348928,0.0633744599651072 diff --git a/pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAutoNA.csv b/pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAutoNA.csv new file mode 100644 index 00000000..99ad0f53 --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/csv/LightGBMAutoNA.csv @@ -0,0 +1,393 @@ +mpg +17.11060757745181 +17.135161790626285 +16.22798223764689 +15.320329022599298 +17.33888436916164 +14.135690601102407 +13.271713921730253 +14.954838978096896 +13.309170329238757 +14.189205755628688 +15.538850380707483 +15.790678498247573 +15.395819874411954 +14.854547734618397 +24.031047826909973 +22.14737831342688 +18.644258974403503 +22.139877370180976 +26.94685298262621 +27.31406257660446 +25.06827682650332 +24.962013853247228 +24.061869928873467 +24.822713221761006 +20.954070976798292 +10.917557517780413 +11.978104490114433 +11.796709451510146 +9.366959506169346 +27.15939550034545 +26.63395720186516 +24.84028138844886 +21.127435551052272 +17.34932588022797 +18.900598249309457 +18.27673165083557 +18.736288841091245 +13.502713292178223 +13.106585923055084 +14.392306900326204 +14.843219585846395 +12.91807665382592 +12.649271102036437 +12.17171862261086 +17.67234205798104 +21.350350213438233 +18.867389346718415 +19.368082587138982 +22.620483775390827 +28.059011135882784 +30.472589614553335 +29.479704893228398 +31.785154217503553 +31.951966965399038 +27.244527948072147 +29.910529066287904 +24.108980958733643 +25.790183354805112 +23.341470183450106 +21.136760559582232 +20.187189342079133 +13.852539849203048 +13.160182990070526 +13.565990383953018 +13.767828308518123 +16.46089733312012 +12.646125747130435 +12.986039168927634 +13.312242252085873 +15.71983341528106 +20.221521752587165 +14.427593650671977 +14.014948426681693 +13.372762092201292 +14.758056421963918 +19.846750960618717 +22.758478376667743 +22.673387295580888 +28.334596682371938 +20.709923194821044 +24.56989921213199 +21.98571048574109 +27.422109015153666 +27.836031047745216 +13.845076813694154 +15.373282608505228 +12.399044910345461 +14.628500977782663 +14.719744432225355 +12.025371787961998 +13.625381005400053 +13.070791141786243 +14.319774751302113 +12.05008213300073 +12.09138040097367 +13.922647429539747 +17.84013284483636 +16.0612441769088 +17.736815304708568 +17.755848971659844 +21.478589011249568 +25.96547591548085 +12.531272740342713 +12.634541301950085 +12.938431114223082 +12.82434682019141 +18.097431377831068 +22.614425970286607 +25.148078562317178 +23.526142608244875 +21.104921857853792 +22.651972058151223 +19.895860288437945 +25.32478962174811 +14.19380103956886 +14.621479821580802 +27.646764997727068 +23.164618749211968 +21.69299614621719 +20.042098032004695 +16.185026013835 +23.536039999800135 +19.8937920683571 +11.977855333017509 +19.780768844164896 +19.380390349678905 +16.4415782839579 +31.49662111009474 +23.167793545991664 +31.212122021783937 +25.319168364504783 +17.39703286548518 +16.475973196934575 +18.822379575427835 +15.991699789871495 +13.031077078252691 +16.952030988442747 +14.038900100686051 +14.353276306710097 +28.936056176770883 +27.765781877857997 +24.422184856409057 +31.45718266932718 +32.04057639296739 +26.341937926710784 +25.441573295087867 +27.23848630409795 +25.514621568918916 +26.03574599436395 +30.235996115951856 +19.521870917681767 +18.314367402421702 +16.053698281706232 +17.448890026361806 +14.477279728083936 +14.696278792062406 +14.244199168789802 +13.843308665733636 +17.869894747192124 +16.807243850693276 +14.6349181658463 +16.816384573572495 +20.965932528957897 +18.89753178598656 +14.542197467229997 +29.08895405668576 +22.589274268840484 +19.837675790253567 +23.30353946622687 +23.627865992650328 +25.999570837314387 +26.74928597423683 +18.80356832019024 +29.542393382627647 +18.821346485386677 +23.90815703518051 +22.69027170643535 +22.58063259775537 +24.9831065765564 +29.776393838529287 +26.91597850234224 +24.874389480746302 +25.689543173238924 +26.301518547689337 +27.594817810951653 +16.69676417287163 +14.930608225486864 +15.537259641542759 +14.212325848220468 +21.21549367555821 +19.573012979841124 +22.63520881796096 +21.646711505780786 +30.35846725888897 +27.026026266376544 +29.226022778617704 +33.61510250442193 +20.22282201418929 +18.423682388146098 +18.962749329888403 +17.869756353780115 +28.31909852679661 +30.81515854987895 +27.65920008450311 +27.531094574877255 +20.667674400143266 +14.59419854306994 +19.346382490750205 +20.42169064671122 +16.940983601510247 +15.084847318170787 +13.872200421553712 +13.733926412068497 +14.587842321747193 +30.850742665331133 +30.007138364146865 +34.642485287974374 +24.837601636069362 +33.075921020640735 +15.476546717685748 +16.69533887441375 +15.668325324818454 +15.000031603957305 +18.067547186714172 +20.29585631167103 +18.832979545489255 +18.112214482881246 +14.988048782099991 +17.474923552266684 +15.453744417391112 +16.036829130219477 +30.20111538695947 +25.252245409961276 +25.6027362606809 +24.85320746025372 +31.55975458588609 +32.78453804602613 +31.57682293119651 +29.892648669033612 +22.652420181172037 +22.945048257343682 +22.118782569068404 +39.985176131603644 +35.46952496732807 +33.747138784928275 +35.031826376004624 +36.02732644577062 +19.111708032212736 +18.085086846868915 +19.307298598577074 +19.607017859651382 +20.703814765848627 +20.169444600398844 +24.98323827588054 +19.445482124603092 +19.32229354454016 +20.29986750956379 +20.67731055629129 +20.423160569036426 +17.67188569926034 +20.51269687384683 +17.37574517906606 +18.711303758188432 +15.633862902968923 +30.1334731230438 +25.759911086060157 +26.928705670021877 +29.896465451913404 +23.388197385870775 +23.56092140801431 +24.12869234914426 +23.631227166212856 +21.46614884731453 +18.366497787070763 +23.037110220392982 +17.27080885593095 +31.397540904077662 +30.31266144611437 +21.158645999264774 +22.203739384590286 +23.43158627704046 +20.44722855644063 +20.36522915637184 +18.053065254584062 +19.166610127553717 +17.298468746653345 +17.726633516898463 +16.391775946234834 +14.9224427014809 +19.05490653555185 +17.946182683859906 +32.24755859400626 +33.27374776252533 +34.81392120794824 +28.005329590235196 +24.475092339573692 +21.64992516835694 +26.322926777311125 +23.67562220731587 +34.728625129784355 +34.8858205094435 +32.802684151150274 +37.48474297700337 +27.650945792831394 +27.384682887361755 +26.670306884295954 +31.276329019047285 +38.23351777983359 +38.85210112980934 +31.816940174238123 +37.46859915111923 +28.058793079860326 +27.022663091646066 +23.47831697093417 +20.0554788600751 +33.768202431729094 +28.779963796871538 +29.44571553145843 +36.55719221192352 +35.006524128611524 +44.43577950929612 +26.786670631133 +39.07074875702385 +43.39071037126401 +39.383870672304866 +33.197892481886875 +30.461249155013967 +40.809675654003655 +36.057035310291745 +34.59515387788946 +29.71889183023682 +25.975984828067645 +31.831333963038183 +33.62804149863097 +27.691369027990834 +27.88000456139589 +26.3139590303472 +24.355675430224643 +28.434568461797262 +38.331801378410425 +36.992083718099146 +36.318935429056076 +33.312855070754225 +36.06940088630308 +37.73618259123476 +33.80764898468702 +35.06734353740501 +34.76096380441564 +29.274637274519144 +33.99827820460503 +33.1289850483157 +31.464335510691775 +28.92371360825909 +31.905139603790413 +27.68137555564129 +29.067525087595772 +24.82804178489264 +24.84719848516974 +21.049060205358906 +21.591361117946654 +20.74663651727446 +18.276260812673065 +31.21136540858928 +26.91801453315353 +30.766450370451214 +36.967640588945606 +29.51592165611028 +27.40753509519171 +23.31878853688385 +33.46911477063387 +38.132408296886105 +32.40530800955412 +35.79761166728913 +33.398464304571434 +36.25055794186383 +36.12565131932804 +36.33805510473264 +37.54871439012751 +33.811112255839966 +33.99779286041038 +22.803582696210608 +31.86154758482582 +26.24751731215547 +21.181373074348677 +30.11683878782155 +31.58308803786512 +26.27214374773317 +27.07267045230485 +40.5335136814627 +31.33364853303554 +29.04203287853075 +28.50947910029702 diff --git a/pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAuditNA.pmml b/pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAuditNA.pmml new file mode 100644 index 00000000..83eb0b91 --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAuditNA.pmml @@ -0,0 +1,11535 @@ + + +

+ + 2023-12-26T09:08:12Z +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Age + 914.0 + + + Income + 1120.0 + + + Gender + 173.0 + + + Hours + 497.0 + + + Employment + 29.0 + + + Education + 102.0 + + + Marital + 64.0 + + + Occupation + 131.0 + + + + + + + + + + + + + + + + + + + + + 0 + 0 + + + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Doctorate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Service Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate Doctorate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + Executive Professional Sales Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Bachelor Master + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + Service Machinist Transport Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + Repair Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + Executive Professional Sales Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Bachelor Master + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + Executive Professional Clerical Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master + + + + + + + + + + + + + + Service Transport Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + Executive Professional + + + + + + + + + + + + + + + + + + Service Transport Cleaner + + + + + + + + + + + College Bachelor Master Associate Doctorate + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Service Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + Executive Professional Repair Clerical Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Machinist + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + Executive Professional + + + + + + + + + + + + + + + + + + Sales Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Bachelor Master + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + Executive Professional Repair Clerical Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad College + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clerical Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + Executive Professional Repair + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate Doctorate + + + + + + + + + + + + + + + + + + + + + + + + + + Service Transport Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate Doctorate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + Repair Sales Service Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + Bachelor Master Associate Doctorate Professional + + + + Professional Repair Clerical + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + Service Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Unmarried + + + + HSgrad Master Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + Professional Repair Sales Support + + + + + + + + + + + + Executive Professional Clerical Farming Support Protective + + + + + + + + + + + + + + + + + HSgrad College Bachelor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + Service Transport Cleaner + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Bachelor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + Executive Professional Repair Sales Cleaner + + + + + + + + + + + + + + + HSgrad Vocational Yr11 Yr10 Yr7t8 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + Service Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr11 Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + Executive Professional Clerical Sales Support + + + + HSgrad College Bachelor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSState SelfEmp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + Executive Professional Repair Sales Cleaner + + + + + + + + + + + + Executive Professional Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad College Bachelor Master Associate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Cleaner Farming + + + + + + + + + + + + + Married Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Doctorate Professional + + + + + + + + + + + Executive Professional Protective + + + + + + + + HSgrad College + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + Executive Professional Repair Sales Cleaner + + + + + + + + + + + + + + + Sales Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Cleaner Farming + + + + + + + + + + + + + Married Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Doctorate Professional + + + + + + + + + + + Executive Professional Sales Support Protective + + + + HSgrad College + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Yr10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr11 Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + Service Transport Cleaner Farming + + + + + + + + Private Consultant PSState + + + + + + + + HSgrad College + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Clerical Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Master Associate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad College Vocational Yr10 Yr7t8 Yr5t6 Yr9 + + + + Executive Professional Sales Service Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Sales Farming Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr11 Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + HSgrad College Bachelor + + + + + + + Executive Repair Clerical Machinist Transport Support + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Sales + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sales Service Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + Private Consultant PSState + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate + + + + + + + + + + + Repair Sales Service Cleaner Farming + + + + + + + Private Consultant + + + + + + + + + + + + + + + + + + + + + Private Consultant PSState + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Married Divorced Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Doctorate Professional + + + + + + + + Absent Divorced Unmarried + + + + + + + + + + + + + + + + + + + + Repair Service Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + Executive Professional Repair Clerical Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Transport Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Bachelor Master Associate + + + + + + + + + + + + + + + + + Executive Professional Clerical Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Vocational Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Sales Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSState SelfEmp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + Absent Divorced Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PSLocal PSState SelfEmp + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Machinist Support + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Married-spouse-absent + + + + + + + + + + + + + + + + + + + Executive Professional Sales Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Bachelor Master Associate Doctorate + + + + + + + Professional Repair + + + + + + + + + + + + + + + + + + + + + Professional Repair Machinist Transport Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Vocational Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Private Consultant PSState + + + + Clerical Sales Service Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Sales Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Vocational Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Sales Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Bachelor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr11 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + Service Machinist Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PSLocal SelfEmp PSFederal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Private PSState SelfEmp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Widowed + + + + HSgrad Bachelor Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Master Associate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Repair Service + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Married-spouse-absent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Sales Machinist Transport Support Protective + + + + + + + + + + + + + + + + + + + + + + + HSgrad College Vocational Yr11 Yr7t8 Yr5t6 Yr9 + + + + + + + Executive Professional Sales Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Clerical Service Machinist + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + Absent Divorced Unmarried + + + + + + + Professional Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Sales Service Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Vocational Yr11 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Clerical Machinist Cleaner Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vocational Yr11 Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + Private Consultant SelfEmp + + + + + + + + + Professional Repair Clerical Sales Machinist + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Widowed + + + + HSgrad Bachelor Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Master Associate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Sales Machinist Cleaner Farming + + + + + + + + + + + + + + + + + + + + + College Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Repair Sales + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Repair Clerical Sales Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSState + + + + + + + + + + + + + Bachelor Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad College Bachelor Yr7t8 Yr5t6 Yr9 + + + + Professional Sales Service Cleaner Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Sales Cleaner Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Unmarried + + + + + + + + + + HSgrad Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Clerical Machinist Transport Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Married Divorced Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Clerical Service Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bachelor Associate Doctorate Professional + + + + + + + + + + + + + + + College Bachelor Associate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSState SelfEmp + + + + + + + + + + + + + + + + Executive Professional Repair Sales Machinist + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + Professional Clerical + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sales Service Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSLocal PSState + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Clerical Machinist Support Protective + + + + + + + + + + + + + + + + + + + + + + + Private Consultant PSLocal + + + + + + + + + + + + + + + + + + + + + + + + + Repair Clerical Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Clerical Service Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Yr11 Yr10 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Sales Machinist Cleaner Protective + + + + + + + + + + + + + + + + + + + + + + + + + + College Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clerical Service Machinist Farming Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Yr11 Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Private PSLocal PSState + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Clerical Support Protective + + + + + + + + + + + HSgrad College Bachelor Master Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Yr7t8 Yr5t6 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Private PSState + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Clerical Support Protective + + + + + + + + + + + + + + HSgrad Bachelor Master Vocational Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSState SelfEmp + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Sales + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Clerical Sales + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + + + + Absent Divorced Unmarried + + + + + + + + + + + + + + + + + + + + + + Professional Clerical Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Widowed + + + + + + + HSgrad Bachelor Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Master Associate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Protective + + + + + + + + + + + + + + + + + + + + + + + Married Divorced Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Repair Service Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSLocal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Bachelor Master + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Repair Support + + + + + + + + + + + + + + + + + + + + + + + + Professional Repair Service Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Clerical Support Protective + + + + + + + + + + + + + + HSgrad Bachelor Master Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad Yr7t8 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Sales Machinist Cleaner Protective + + + + + + + + + + + + + + + + + + + + + + + + + + Married Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Married Absent Divorced + + + + + + + + + + + + Married Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consultant PSState SelfEmp + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Clerical Machinist Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Clerical Sales Service Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clerical Sales Transport + + + + + + + + + + + + + + College Bachelor Vocational + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Machinist Transport Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Sales Cleaner + + + + + + + + + + + + + + + + + + + + + Clerical Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HSgrad College Bachelor Yr7t8 Yr9 + + + + Executive Professional Sales Cleaner Farming Protective + + + + + + + + + + + HSgrad College + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Sales Cleaner Support Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Master Associate Doctorate + + + + + Private PSLocal PSState + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Transport Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Repair + + + + + + + + + + + + + + + + + + + + + HSgrad College Yr7t8 Yr9 + + + + Repair Clerical Machinist Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Sales Cleaner Farming Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Service Farming + + + + + + + + + + + + + + + + + + + + + + + College Bachelor Master Associate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + PSLocal PSState SelfEmp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Professional Repair Machinist Farming Support + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sales Service Cleaner + + + + + Private Consultant PSFederal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Sales Service Transport Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Master Doctorate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Yr7t8 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Married Divorced Widowed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Married Divorced + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + HSgrad Master Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Sales Service Cleaner + + + + College Bachelor Master + + + + + + + + + + + + + + + + + + + + + + + + College Bachelor Master + + + + + + + + + + + + + + + + + + + + + + + + + + + + College Yr7t8 Yr9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Repair Clerical Service Machinist Farming Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Master Associate Doctorate Professional + + + + + + + + + + + + + + + + + Professional Clerical Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Executive Repair Machinist Protective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced + + + + + + + + + + + + + Executive Clerical Sales Cleaner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Widowed + + + + + + + HSgrad Bachelor Doctorate Professional + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sales Service Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + Absent Divorced Unmarried + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Professional Repair Service Machinist Cleaner Farming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clerical Sales Machinist Support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAutoNA.pmml b/pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAutoNA.pmml new file mode 100644 index 00000000..d6ab98b5 --- /dev/null +++ b/pmml-sparkml-lightgbm/src/test/resources/pmml/LightGBMAutoNA.pmml @@ -0,0 +1,6108 @@ + + +
+ + 2023-12-26T09:07:07Z +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cylinders + 14.0 + + + origin + 61.0 + + + model_year + 87.0 + + + weight + 373.0 + + + horsepower + 313.0 + + + acceleration + 290.0 + + + displacement + 282.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 78 79 80 81 82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 79 80 81 82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 79 80 81 82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 79 80 81 82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 79 80 81 82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 72 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 79 80 81 82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 75 70 72 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 72 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + 73 76 70 72 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 70 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 72 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + 73 75 70 72 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 70 72 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 70 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 72 77 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 79 80 81 82 77 + + + + + + + + + + + + + + + + + 73 76 70 72 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 75 80 81 82 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 70 72 + + + + + + + + + + + + + + 76 75 77 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 79 72 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 78 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 75 79 72 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 70 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 70 72 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 79 72 77 74 + + + + + + + + + + + + + + + + + 4 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 80 81 82 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 78 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 81 77 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 79 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 70 81 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 78 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 79 77 71 74 + + + + + + + + + + + + + + + + + 4 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 80 82 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 75 70 81 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 75 80 82 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 78 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 72 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 79 81 72 + + + + + + + + + + + + + + + + + + + + 4 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 75 80 82 72 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 75 81 72 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 75 70 80 82 72 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 80 81 82 72 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 70 80 82 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 81 72 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 80 82 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 78 79 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 70 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 79 81 77 74 + + + + + + + + + + + + + + + + + 4 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 75 70 81 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 80 81 82 72 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 81 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 78 79 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 78 81 72 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 70 79 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 80 82 72 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 70 79 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 79 81 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 78 81 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 70 79 71 74 + + + + + + + + + + + + + + + + + + + + 4 6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 79 81 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 79 77 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 78 81 77 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 75 80 82 72 77 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 75 80 82 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 75 79 71 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 76 75 70 79 81 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 79 77 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 79 80 82 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 75 79 81 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 70 82 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 82 77 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 79 77 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 79 80 82 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 70 79 71 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 75 70 79 81 72 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 76 70 82 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 73 70 81 82 72 77 74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 75 80 81 77 + + + + + + + + + + + + + + + + + + + + + + + 4 8 + + + + + + + + + + + + + + + + + + + + + + + + + +
From acb33b5d69f641a39675acd34d5f7560b01941aa Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 09:28:28 +0200 Subject: [PATCH 30/39] Updated XGBoost4J-Spark dependency --- pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2783b9e3..7825e39f 100644 --- a/pom.xml +++ b/pom.xml @@ -52,7 +52,8 @@ [0.9.5,) - [1.0.0,) + + [1.0.0, 2.0.1] From bc065fe2bc56663ff21b5584a37c18621b88f945 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 18:34:24 +0200 Subject: [PATCH 31/39] Improved build configuration --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index 7825e39f..8963d91e 100644 --- a/pom.xml +++ b/pom.xml @@ -54,6 +54,8 @@ [0.9.5,) [1.0.0, 2.0.1] + + false @@ -194,6 +196,8 @@ maven-release-plugin 3.0.1 + + -Psonatype-oss-release -DskipTests=${skipTests} true true false @@ -205,6 +209,7 @@ 3.2.3 ${jacoco.agent} + ${skipTests} false From 1dfea049dca077c677badb82ea427f1df903ec0b Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 20:02:56 +0200 Subject: [PATCH 32/39] [maven-release-plugin] prepare release 2.0.3 --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index d900df3c..fdb6f937 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0-SNAPSHOT + 2.0.3 org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index 74190d52..8f70ff1c 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0-SNAPSHOT + 2.0.3 org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index a9c39d68..0025a7a6 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0-SNAPSHOT + 2.0.3 org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 2f8c9ffd..d00cbe4e 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0-SNAPSHOT + 2.0.3 org.jpmml diff --git a/pom.xml b/pom.xml index 8963d91e..25215f25 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.0-SNAPSHOT + 2.0.3 pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - HEAD + 2.0.3 GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.0-SNAPSHOT + 2.0.3 org.jpmml pmml-sparkml-example - 2.0-SNAPSHOT + 2.0.3 org.jpmml pmml-sparkml-lightgbm - 2.0-SNAPSHOT + 2.0.3 org.jpmml pmml-sparkml-xgboost - 2.0-SNAPSHOT + 2.0.3 From acafc4c015ad0ccf552302dd075be7e04604b475 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 20:02:56 +0200 Subject: [PATCH 33/39] [maven-release-plugin] prepare for next development iteration --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index fdb6f937..d900df3c 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0.3 + 2.0-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index 8f70ff1c..74190d52 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0.3 + 2.0-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index 0025a7a6..a9c39d68 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0.3 + 2.0-SNAPSHOT org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index d00cbe4e..2f8c9ffd 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.0.3 + 2.0-SNAPSHOT org.jpmml diff --git a/pom.xml b/pom.xml index 25215f25..8963d91e 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.0.3 + 2.0-SNAPSHOT pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - 2.0.3 + HEAD GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.0.3 + 2.0-SNAPSHOT org.jpmml pmml-sparkml-example - 2.0.3 + 2.0-SNAPSHOT org.jpmml pmml-sparkml-lightgbm - 2.0.3 + 2.0-SNAPSHOT org.jpmml pmml-sparkml-xgboost - 2.0.3 + 2.0-SNAPSHOT From ad563f59bc7f04d44056c4106be50d33acb82ad7 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 22:13:00 +0200 Subject: [PATCH 34/39] [maven-release-plugin] prepare release 2.1.3 --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index 03663491..3c18a10e 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1-SNAPSHOT + 2.1.3 org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index d2133e5c..c0edff4c 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1-SNAPSHOT + 2.1.3 org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index 006dcb0e..1333205f 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1-SNAPSHOT + 2.1.3 org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index daad683b..93b053fe 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1-SNAPSHOT + 2.1.3 org.jpmml diff --git a/pom.xml b/pom.xml index 0a4f53a7..90f14053 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.1-SNAPSHOT + 2.1.3 pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - HEAD + 2.1.3 GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.1-SNAPSHOT + 2.1.3 org.jpmml pmml-sparkml-example - 2.1-SNAPSHOT + 2.1.3 org.jpmml pmml-sparkml-lightgbm - 2.1-SNAPSHOT + 2.1.3 org.jpmml pmml-sparkml-xgboost - 2.1-SNAPSHOT + 2.1.3 From b3423aad8a73553b450ec3fca910dac8b23aaa57 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 22:13:00 +0200 Subject: [PATCH 35/39] [maven-release-plugin] prepare for next development iteration --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index 3c18a10e..03663491 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1.3 + 2.1-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index c0edff4c..d2133e5c 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1.3 + 2.1-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index 1333205f..006dcb0e 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1.3 + 2.1-SNAPSHOT org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 93b053fe..daad683b 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.1.3 + 2.1-SNAPSHOT org.jpmml diff --git a/pom.xml b/pom.xml index 90f14053..0a4f53a7 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.1.3 + 2.1-SNAPSHOT pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - 2.1.3 + HEAD GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.1.3 + 2.1-SNAPSHOT org.jpmml pmml-sparkml-example - 2.1.3 + 2.1-SNAPSHOT org.jpmml pmml-sparkml-lightgbm - 2.1.3 + 2.1-SNAPSHOT org.jpmml pmml-sparkml-xgboost - 2.1.3 + 2.1-SNAPSHOT From 79293c9f9ddc80b9831e33c076d1e74b56bd4564 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 23:13:40 +0200 Subject: [PATCH 36/39] [maven-release-plugin] prepare release 2.2.3 --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index 39ca8f9d..cafbd29e 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2-SNAPSHOT + 2.2.3 org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index 6357df77..b644c5ed 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2-SNAPSHOT + 2.2.3 org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index 85c52b75..db522561 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2-SNAPSHOT + 2.2.3 org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 7e04982b..1a5fb13b 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2-SNAPSHOT + 2.2.3 org.jpmml diff --git a/pom.xml b/pom.xml index e86e830e..14517f9a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.2-SNAPSHOT + 2.2.3 pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - HEAD + 2.2.3 GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.2-SNAPSHOT + 2.2.3 org.jpmml pmml-sparkml-example - 2.2-SNAPSHOT + 2.2.3 org.jpmml pmml-sparkml-lightgbm - 2.2-SNAPSHOT + 2.2.3 org.jpmml pmml-sparkml-xgboost - 2.2-SNAPSHOT + 2.2.3 From ab1ae3152bb70b6c0fbc9ad773bdb69f4b4a10d1 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Wed, 27 Dec 2023 23:13:40 +0200 Subject: [PATCH 37/39] [maven-release-plugin] prepare for next development iteration --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index cafbd29e..39ca8f9d 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2.3 + 2.2-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index b644c5ed..6357df77 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2.3 + 2.2-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index db522561..85c52b75 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2.3 + 2.2-SNAPSHOT org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 1a5fb13b..7e04982b 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.2.3 + 2.2-SNAPSHOT org.jpmml diff --git a/pom.xml b/pom.xml index 14517f9a..e86e830e 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.2.3 + 2.2-SNAPSHOT pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - 2.2.3 + HEAD GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.2.3 + 2.2-SNAPSHOT org.jpmml pmml-sparkml-example - 2.2.3 + 2.2-SNAPSHOT org.jpmml pmml-sparkml-lightgbm - 2.2.3 + 2.2-SNAPSHOT org.jpmml pmml-sparkml-xgboost - 2.2.3 + 2.2-SNAPSHOT From a342d6c92549214b0a7859d478759bb0abd5c7b0 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Thu, 28 Dec 2023 07:32:57 +0200 Subject: [PATCH 38/39] [maven-release-plugin] prepare release 2.3.2 --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index edcfd406..61bc9431 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3-SNAPSHOT + 2.3.2 org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index a05f3d23..344cd65b 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3-SNAPSHOT + 2.3.2 org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index b3b555fc..049f0f52 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3-SNAPSHOT + 2.3.2 org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 05d0153a..88be2691 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3-SNAPSHOT + 2.3.2 org.jpmml diff --git a/pom.xml b/pom.xml index ce3fa9a8..3d234a76 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.3-SNAPSHOT + 2.3.2 pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - HEAD + 2.3.2 GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.3-SNAPSHOT + 2.3.2 org.jpmml pmml-sparkml-example - 2.3-SNAPSHOT + 2.3.2 org.jpmml pmml-sparkml-lightgbm - 2.3-SNAPSHOT + 2.3.2 org.jpmml pmml-sparkml-xgboost - 2.3-SNAPSHOT + 2.3.2 From c963a7607c956fd0483dac15880f484fd60167e1 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Thu, 28 Dec 2023 07:32:57 +0200 Subject: [PATCH 39/39] [maven-release-plugin] prepare for next development iteration --- pmml-sparkml-example/pom.xml | 2 +- pmml-sparkml-lightgbm/pom.xml | 2 +- pmml-sparkml-xgboost/pom.xml | 2 +- pmml-sparkml/pom.xml | 2 +- pom.xml | 12 ++++++------ 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pmml-sparkml-example/pom.xml b/pmml-sparkml-example/pom.xml index 61bc9431..edcfd406 100644 --- a/pmml-sparkml-example/pom.xml +++ b/pmml-sparkml-example/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.2 + 2.3-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-lightgbm/pom.xml b/pmml-sparkml-lightgbm/pom.xml index 344cd65b..a05f3d23 100644 --- a/pmml-sparkml-lightgbm/pom.xml +++ b/pmml-sparkml-lightgbm/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.2 + 2.3-SNAPSHOT org.jpmml diff --git a/pmml-sparkml-xgboost/pom.xml b/pmml-sparkml-xgboost/pom.xml index 049f0f52..b3b555fc 100644 --- a/pmml-sparkml-xgboost/pom.xml +++ b/pmml-sparkml-xgboost/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.2 + 2.3-SNAPSHOT org.jpmml diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 88be2691..05d0153a 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -5,7 +5,7 @@ org.jpmml jpmml-sparkml - 2.3.2 + 2.3-SNAPSHOT org.jpmml diff --git a/pom.xml b/pom.xml index 3d234a76..ce3fa9a8 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.jpmml jpmml-sparkml - 2.3.2 + 2.3-SNAPSHOT pom JPMML-SparkML @@ -43,7 +43,7 @@ scm:git:git@github.com:jpmml/jpmml-sparkml.git scm:git:git@github.com:jpmml/jpmml-sparkml.git git://github.com/jpmml/jpmml-sparkml.git - 2.3.2 + HEAD GitHub @@ -63,22 +63,22 @@ org.jpmml pmml-sparkml - 2.3.2 + 2.3-SNAPSHOT org.jpmml pmml-sparkml-example - 2.3.2 + 2.3-SNAPSHOT org.jpmml pmml-sparkml-lightgbm - 2.3.2 + 2.3-SNAPSHOT org.jpmml pmml-sparkml-xgboost - 2.3.2 + 2.3-SNAPSHOT

NfcopmCDIq{@FYE#TG+w1@j853@uUhO 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 From cfd2109b76389445d56df62c8d642fd970ecf18f Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sat, 23 Dec 2023 16:02:14 +0200 Subject: [PATCH 19/39] Improved GitHub Actions CI configuration See https://github.com/dmlc/xgboost/issues/9898 --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 107eee33..d22b3c5e 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -22,4 +22,4 @@ jobs: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - - run: mvn -B package --file pom.xml + - run: mvn -Dxgboost4j-spark.version=2.0.1 -B package --file pom.xml From 110920c71c933376a0f4789bc1dc334ccb821864 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 24 Dec 2023 11:07:26 +0200 Subject: [PATCH 20/39] Added support for sparse datasets --- pmml-sparkml/src/main/java/org/jpmml/sparkml/DatasetUtil.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/DatasetUtil.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/DatasetUtil.java index c41db0e6..101a48ab 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/DatasetUtil.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/DatasetUtil.java @@ -88,6 +88,8 @@ public Dataset loadCsv(SparkSession sparkSession, File file) throws IOExcep .format("csv") .option("header", true) .option("inferSchema", true) + .option("nullValue", "N/A") + .option("nanValue", "N/A") .load(file.getAbsolutePath()); } From 0c2ebb5bff86fb288e9bca8f7f6a929d9651525c Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Sun, 24 Dec 2023 11:40:22 +0200 Subject: [PATCH 21/39] Improved build configuration --- pmml-sparkml/pom.xml | 30 ------------------------------ pom.xml | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/pmml-sparkml/pom.xml b/pmml-sparkml/pom.xml index 4ed64e03..2f8c9ffd 100644 --- a/pmml-sparkml/pom.xml +++ b/pmml-sparkml/pom.xml @@ -76,36 +76,6 @@ - - net.alchim31.maven - scala-maven-plugin - 4.8.1 - - ${project.build.sourceEncoding} - ScalaThenJava - - -Xmx1024m - - 2.12.15 - - - - scala-compile-first - process-resources - - add-source - compile - - - - scala-test-compile - process-test-resources - - testCompile - - - - diff --git a/pom.xml b/pom.xml index c836c0d6..2783b9e3 100644 --- a/pom.xml +++ b/pom.xml @@ -207,6 +207,36 @@ false + + net.alchim31.maven + scala-maven-plugin + 4.8.1 + + ${project.build.sourceEncoding} + ScalaThenJava + + -Xmx1024m + + 2.12.15 + + + + scala-compile-first + process-resources + + add-source + compile + + + + scala-test-compile + process-test-resources + + testCompile + + + + org.jacoco jacoco-maven-plugin From d71ae5ed4d27b2c1518594d1ad657a809be55a03 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Mon, 25 Dec 2023 07:33:23 +0200 Subject: [PATCH 22/39] Added PipelineModelUtil#removeStage(PipelineModel, int) utility method --- .../org/jpmml/sparkml/PipelineModelUtil.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java index 13327c9a..57390669 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java @@ -24,6 +24,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.reflect.Field; import java.nio.file.FileVisitResult; import java.nio.file.FileVisitor; import java.nio.file.Files; @@ -31,7 +32,9 @@ import java.nio.file.Paths; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; +import java.util.Arrays; import java.util.Enumeration; +import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; @@ -39,15 +42,37 @@ import com.google.common.io.ByteStreams; import com.google.common.io.MoreFiles; import org.apache.spark.ml.PipelineModel; +import org.apache.spark.ml.Transformer; import org.apache.spark.ml.util.MLReader; import org.apache.spark.ml.util.MLWriter; import org.apache.spark.sql.SparkSession; +import org.jpmml.model.ReflectionUtil; public class PipelineModelUtil { private PipelineModelUtil(){ } + static + public void addStage(PipelineModel pipelineModel, int index, Transformer transformer){ + List stages = Arrays.asList(pipelineModel.stages()); + + stages.add(index, transformer); + + ReflectionUtil.setFieldValue(PipelineModelUtil.FIELD_STAGES, pipelineModel, stages.toArray(new Transformer[stages.size()])); + } + + static + public Transformer removeStage(PipelineModel pipelineModel, int index){ + List stages = Arrays.asList(pipelineModel.stages()); + + Transformer result = stages.remove(index); + + ReflectionUtil.setFieldValue(PipelineModelUtil.FIELD_STAGES, pipelineModel, stages.toArray(new Transformer[stages.size()])); + + return result; + } + static public PipelineModel load(SparkSession sparkSession, File dir) throws IOException { MLReader mlReader = new PipelineModel.PipelineModelReader(); @@ -177,4 +202,6 @@ private void uncompress(ZipFile zipFile, File dir) throws IOException { } } } + + private static final Field FIELD_STAGES = ReflectionUtil.getField(PipelineModel.class, "stages"); } \ No newline at end of file From d9f55776e6b992e736fe5e0ef89a68f907cdaa09 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Mon, 25 Dec 2023 07:54:22 +0200 Subject: [PATCH 23/39] Fixed commit d71ae5ed4d --- .../src/main/java/org/jpmml/sparkml/PipelineModelUtil.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java index 57390669..f3be1830 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java @@ -32,6 +32,7 @@ import java.nio.file.Paths; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; +import java.util.ArrayList; import java.util.Arrays; import java.util.Enumeration; import java.util.List; @@ -55,7 +56,7 @@ private PipelineModelUtil(){ static public void addStage(PipelineModel pipelineModel, int index, Transformer transformer){ - List stages = Arrays.asList(pipelineModel.stages()); + List stages = new ArrayList<>(Arrays.asList(pipelineModel.stages())); stages.add(index, transformer); @@ -64,7 +65,7 @@ public void addStage(PipelineModel pipelineModel, int index, Transformer transfo static public Transformer removeStage(PipelineModel pipelineModel, int index){ - List stages = Arrays.asList(pipelineModel.stages()); + List stages = new ArrayList<>(Arrays.asList(pipelineModel.stages())); Transformer result = stages.remove(index); From ae757b46c76b26a5411603fe803497b5167a3486 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Mon, 25 Dec 2023 10:05:56 +0200 Subject: [PATCH 24/39] Extracted ArchiveUtil utility class --- .../java/org/jpmml/sparkml/example/Main.java | 3 +- .../java/org/jpmml/sparkml/ArchiveUtil.java | 170 ++++++++++++++++++ .../org/jpmml/sparkml/PipelineModelUtil.java | 110 +----------- .../sparkml/testing/SparkMLEncoderBatch.java | 3 +- 4 files changed, 176 insertions(+), 110 deletions(-) create mode 100644 pmml-sparkml/src/main/java/org/jpmml/sparkml/ArchiveUtil.java diff --git a/pmml-sparkml-example/src/main/java/org/jpmml/sparkml/example/Main.java b/pmml-sparkml-example/src/main/java/org/jpmml/sparkml/example/Main.java index 83d04031..5fc1278c 100644 --- a/pmml-sparkml-example/src/main/java/org/jpmml/sparkml/example/Main.java +++ b/pmml-sparkml-example/src/main/java/org/jpmml/sparkml/example/Main.java @@ -37,6 +37,7 @@ import org.apache.spark.sql.types.StructType; import org.dmg.pmml.PMML; import org.jpmml.model.metro.MetroJAXBUtil; +import org.jpmml.sparkml.ArchiveUtil; import org.jpmml.sparkml.PMMLBuilder; import org.jpmml.sparkml.PipelineModelUtil; import org.jpmml.sparkml.model.HasPredictionModelOptions; @@ -187,7 +188,7 @@ private void run() throws Exception { logger.info("Loading pipeline model.."); if(this.pipelineInput.isFile()){ - this.pipelineInput = PipelineModelUtil.uncompress(this.pipelineInput); + this.pipelineInput = ArchiveUtil.uncompress(this.pipelineInput); } long begin = System.currentTimeMillis(); diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/ArchiveUtil.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/ArchiveUtil.java new file mode 100644 index 00000000..ce387f03 --- /dev/null +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/ArchiveUtil.java @@ -0,0 +1,170 @@ +/* + * Copyright (c) 2023 Villu Ruusmann + * + * This file is part of JPMML-SparkML + * + * JPMML-SparkML is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * JPMML-SparkML is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with JPMML-SparkML. If not, see . + */ +package org.jpmml.sparkml; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitor; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.Enumeration; +import java.util.zip.ZipEntry; +import java.util.zip.ZipFile; +import java.util.zip.ZipOutputStream; + +import com.google.common.io.ByteStreams; +import com.google.common.io.MoreFiles; +import org.apache.spark.ml.PipelineStage; +import org.apache.spark.ml.util.MLReadable; +import org.apache.spark.ml.util.MLReader; +import org.apache.spark.ml.util.MLWritable; +import org.apache.spark.ml.util.MLWriter; + +public class ArchiveUtil { + + private ArchiveUtil(){ + } + + static + public > E loadZip(MLReader mlReader, File file) throws IOException { + File tmpDir = ArchiveUtil.uncompress(file); + + E stage = mlReader.load(tmpDir.getAbsolutePath()); + + MoreFiles.deleteRecursively(tmpDir.toPath()); + + return stage; + } + + static + public void storeZip(E stage, File file) throws IOException { + storeZip(stage.write(), file); + } + + static + public void storeZip(MLWriter mlWriter, File file) throws IOException { + File tmpDir = File.createTempFile("PipelineStage", ""); + if(!tmpDir.delete()){ + throw new IOException(); + } + + mlWriter.save(tmpDir.getAbsolutePath()); + + ArchiveUtil.compress(tmpDir, file); + + MoreFiles.deleteRecursively(tmpDir.toPath()); + } + + static + public void compress(File dir, File file) throws IOException { + Path dirPath = Paths.get(dir.getAbsolutePath()); + + try(OutputStream os = new FileOutputStream(file)){ + ZipOutputStream zos = new ZipOutputStream(os); + + FileVisitor dirFileVisitor = new SimpleFileVisitor(){ + + @Override + public FileVisitResult visitFile(Path path, BasicFileAttributes mainAtts) throws IOException { + File dirFile = path.toFile(); + + Path relativePath = dirPath.relativize(path); + + ZipEntry entry = new ZipEntry(relativePath.toString()); + entry.setSize(dirFile.length()); + entry.setTime(dirFile.lastModified()); + + zos.putNextEntry(entry); + + try(InputStream is = new FileInputStream(dirFile)){ + ByteStreams.copy(is, zos); + } + + zos.closeEntry(); + + return FileVisitResult.CONTINUE; + } + }; + + Files.walkFileTree(dirPath, dirFileVisitor); + + zos.finish(); + } + } + + static + public File uncompress(File file) throws IOException { + + try(ZipFile zipFile = new ZipFile(file)){ + File tmpDir = File.createTempFile("PipelineModel", ""); + if(!tmpDir.delete()){ + throw new IOException(); + } + + tmpDir.mkdirs(); + + ArchiveUtil.uncompress(zipFile, tmpDir); + + return tmpDir; + } + } + + static + public void uncompress(File file, File dir) throws IOException { + + try(ZipFile zipFile = new ZipFile(file)){ + uncompress(zipFile, dir); + } + } + + static void uncompress(ZipFile zipFile, File dir) throws IOException { + + for(Enumeration entries = zipFile.entries(); entries.hasMoreElements(); ){ + ZipEntry entry = entries.nextElement(); + + if(entry.isDirectory()){ + continue; + } + + try(InputStream is = zipFile.getInputStream(entry)){ + File file = new File(dir, entry.getName()); + + File parentDir = file.getParentFile(); + if(!parentDir.exists()){ + + if(!parentDir.mkdirs()){ + throw new IOException(parentDir.getAbsolutePath()); + } + } + + try(OutputStream os = new FileOutputStream(file)){ + ByteStreams.copy(is, os); + } + } + } + } +} \ No newline at end of file diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java index f3be1830..325e7485 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/PipelineModelUtil.java @@ -19,28 +19,12 @@ package org.jpmml.sparkml; import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; import java.lang.reflect.Field; -import java.nio.file.FileVisitResult; -import java.nio.file.FileVisitor; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.nio.file.SimpleFileVisitor; -import java.nio.file.attribute.BasicFileAttributes; import java.util.ArrayList; import java.util.Arrays; -import java.util.Enumeration; import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipFile; -import java.util.zip.ZipOutputStream; -import com.google.common.io.ByteStreams; import com.google.common.io.MoreFiles; import org.apache.spark.ml.PipelineModel; import org.apache.spark.ml.Transformer; @@ -84,7 +68,7 @@ public PipelineModel load(SparkSession sparkSession, File dir) throws IOExceptio static public PipelineModel loadZip(SparkSession sparkSession, File file) throws IOException { - File tmpDir = uncompress(file); + File tmpDir = ArchiveUtil.uncompress(file); PipelineModel pipelineModel = load(sparkSession, tmpDir); @@ -109,100 +93,10 @@ public void storeZip(PipelineModel pipelineModel, File file) throws IOException store(pipelineModel, tmpDir); - compress(tmpDir, file); + ArchiveUtil.compress(tmpDir, file); MoreFiles.deleteRecursively(tmpDir.toPath()); } - static - public void compress(File dir, File file) throws IOException { - Path dirPath = Paths.get(dir.getAbsolutePath()); - - try(OutputStream os = new FileOutputStream(file)){ - ZipOutputStream zos = new ZipOutputStream(os); - - FileVisitor dirFileVisitor = new SimpleFileVisitor(){ - - @Override - public FileVisitResult visitFile(Path path, BasicFileAttributes mainAtts) throws IOException { - File dirFile = path.toFile(); - - Path relativePath = dirPath.relativize(path); - - ZipEntry entry = new ZipEntry(relativePath.toString()); - entry.setSize(dirFile.length()); - entry.setTime(dirFile.lastModified()); - - zos.putNextEntry(entry); - - try(InputStream is = new FileInputStream(dirFile)){ - ByteStreams.copy(is, zos); - } - - zos.closeEntry(); - - return FileVisitResult.CONTINUE; - } - }; - - Files.walkFileTree(dirPath, dirFileVisitor); - - zos.finish(); - } - } - - static - public File uncompress(File file) throws IOException { - - try(ZipFile zipFile = new ZipFile(file)){ - File tmpDir = File.createTempFile("PipelineModel", ""); - if(!tmpDir.delete()){ - throw new IOException(); - } - - tmpDir.mkdirs(); - - uncompress(zipFile, tmpDir); - - return tmpDir; - } - } - - static - public void uncompress(File file, File dir) throws IOException { - - try(ZipFile zipFile = new ZipFile(file)){ - uncompress(zipFile, dir); - } - } - - static - private void uncompress(ZipFile zipFile, File dir) throws IOException { - - for(Enumeration entries = zipFile.entries(); entries.hasMoreElements(); ){ - ZipEntry entry = entries.nextElement(); - - if(entry.isDirectory()){ - continue; - } - - try(InputStream is = zipFile.getInputStream(entry)){ - File file = new File(dir, entry.getName()); - - File parentDir = file.getParentFile(); - if(!parentDir.exists()){ - - if(!parentDir.mkdirs()){ - throw new IOException(parentDir.getAbsolutePath()); - } - } - - try(OutputStream os = new FileOutputStream(file)){ - ByteStreams.copy(is, os); - } - } - } - } - private static final Field FIELD_STAGES = ReflectionUtil.getField(PipelineModel.class, "stages"); } \ No newline at end of file diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java index c4c50777..ad60224b 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java @@ -42,6 +42,7 @@ import org.jpmml.converter.testing.ModelEncoderBatch; import org.jpmml.evaluator.ResultField; import org.jpmml.evaluator.testing.PMMLEquivalence; +import org.jpmml.sparkml.ArchiveUtil; import org.jpmml.sparkml.DatasetUtil; import org.jpmml.sparkml.PMMLBuilder; import org.jpmml.sparkml.PipelineModelUtil; @@ -107,7 +108,7 @@ public PMML getPMML() throws Exception { tmpResources.add(tmpZipFile); - File tmpPipelineDir = PipelineModelUtil.uncompress(tmpZipFile); + File tmpPipelineDir = ArchiveUtil.uncompress(tmpZipFile); tmpResources.add(tmpPipelineDir); From 509030ee652f652bfd6b39640f1ac0fa55cb9935 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Mon, 25 Dec 2023 12:04:08 +0200 Subject: [PATCH 25/39] Refactored SparkMLEncoderBatch class --- .../sparkml/testing/SparkMLEncoderBatch.java | 75 +++++++++++-------- 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java b/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java index ad60224b..61431bf4 100644 --- a/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java +++ b/pmml-sparkml/src/main/java/org/jpmml/sparkml/testing/SparkMLEncoderBatch.java @@ -72,7 +72,7 @@ public String getSchemaJsonPath(){ return "/schema/" + getDataset() + ".json"; } - public String getPipelineZipPath(){ + public String getPipelineModelZipPath(){ return "/pipeline/" + getAlgorithm() + getDataset() + ".zip"; } @@ -91,41 +91,13 @@ public PMML getPMML() throws Exception { List tmpResources = new ArrayList<>(); - StructType schema; + StructType schema = loadSchema(sparkSession, tmpResources); - try(InputStream is = open(getSchemaJsonPath())){ - File tmpSchemaFile = toTmpFile(is, getDataset(), ".json"); - - tmpResources.add(tmpSchemaFile); - - schema = DatasetUtil.loadSchema(tmpSchemaFile); - } - - PipelineModel pipelineModel; - - try(InputStream is = open(getPipelineZipPath())){ - File tmpZipFile = toTmpFile(is, getAlgorithm() + getDataset(), ".zip"); - - tmpResources.add(tmpZipFile); - - File tmpPipelineDir = ArchiveUtil.uncompress(tmpZipFile); - - tmpResources.add(tmpPipelineDir); - - pipelineModel = PipelineModelUtil.load(sparkSession, tmpPipelineDir); - } + PipelineModel pipelineModel = loadPipelineModel(sparkSession, tmpResources); schema = updateSchema(schema, pipelineModel); - Dataset inputDataset; - - try(InputStream is = open(getInputCsvPath())){ - File tmpCsvFile = toTmpFile(is, getDataset(), ".csv"); - - tmpResources.add(tmpCsvFile); - - inputDataset = DatasetUtil.loadCsv(sparkSession, tmpCsvFile); - } + Dataset inputDataset = loadInput(sparkSession, tmpResources); inputDataset = DatasetUtil.castColumns(inputDataset, schema); @@ -162,12 +134,49 @@ public PMML getPMML() throws Exception { return pmml; } + protected StructType loadSchema(SparkSession sparkSession, List tmpResources) throws IOException { + + try(InputStream is = open(getSchemaJsonPath())){ + File tmpSchemaFile = toTmpFile(is, getDataset(), ".json"); + + tmpResources.add(tmpSchemaFile); + + return DatasetUtil.loadSchema(tmpSchemaFile); + } + } + + protected PipelineModel loadPipelineModel(SparkSession sparkSession, List tmpResources) throws IOException { + + try(InputStream is = open(getPipelineModelZipPath())){ + File tmpZipFile = toTmpFile(is, getAlgorithm() + getDataset(), ".zip"); + + tmpResources.add(tmpZipFile); + + File tmpPipelineModelDir = ArchiveUtil.uncompress(tmpZipFile); + + tmpResources.add(tmpPipelineModelDir); + + return PipelineModelUtil.load(sparkSession, tmpPipelineModelDir); + } + } + protected StructType updateSchema(StructType schema, PipelineModel pipelineModel){ return schema; } + protected Dataset loadInput(SparkSession sparkSession, List tmpResources) throws IOException { + + try(InputStream is = open(getInputCsvPath())){ + File tmpCsvFile = toTmpFile(is, getDataset(), ".csv"); + + tmpResources.add(tmpCsvFile); + + return DatasetUtil.loadCsv(sparkSession, tmpCsvFile); + } + } + static - private File toTmpFile(InputStream is, String prefix, String suffix) throws IOException { + protected File toTmpFile(InputStream is, String prefix, String suffix) throws IOException { File tmpFile = File.createTempFile(prefix, suffix); try(OutputStream os = new FileOutputStream(tmpFile)){ From ea52540363ab859427dd6fdacd9fda3d92cd1189 Mon Sep 17 00:00:00 2001 From: Villu Ruusmann Date: Mon, 25 Dec 2023 12:53:06 +0200 Subject: [PATCH 26/39] Updated test resources --- .../lightgbm/testing/LightGBMTest.java | 9 +- .../sparkml/xgboost/testing/XGBoostTest.java | 115 +- .../src/test/resources/XGBoostAuditNA.scala | 54 + .../src/test/resources/XGBoostAutoNA.scala | 43 + .../src/test/resources/csv/AuditNA.csv | 1900 +++++++++++++++++ .../src/test/resources/csv/AutoNA.csv | 393 ++++ .../src/test/resources/csv/XGBoostAuditNA.csv | 1900 +++++++++++++++++ .../src/test/resources/csv/XGBoostAutoNA.csv | 393 ++++ .../pipeline/TransformersAuditNA.zip | Bin 0 -> 9157 bytes .../resources/pipeline/TransformersAutoNA.zip | Bin 0 -> 5383 bytes .../XGBoostClassificationModelAuditNA.zip | Bin 0 -> 108820 bytes .../pipeline/XGBoostRegressionModelAutoNA.zip | Bin 0 -> 113824 bytes .../src/test/resources/schema/AuditNA.json | 1 + .../src/test/resources/schema/AutoNA.json | 1 + 14 files changed, 4799 insertions(+), 10 deletions(-) create mode 100644 pmml-sparkml-xgboost/src/test/resources/XGBoostAuditNA.scala create mode 100644 pmml-sparkml-xgboost/src/test/resources/XGBoostAutoNA.scala create mode 100644 pmml-sparkml-xgboost/src/test/resources/csv/AuditNA.csv create mode 100644 pmml-sparkml-xgboost/src/test/resources/csv/AutoNA.csv create mode 100644 pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuditNA.csv create mode 100644 pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAutoNA.csv create mode 100644 pmml-sparkml-xgboost/src/test/resources/pipeline/TransformersAuditNA.zip create mode 100644 pmml-sparkml-xgboost/src/test/resources/pipeline/TransformersAutoNA.zip create mode 100644 pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostClassificationModelAuditNA.zip create mode 100644 pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostRegressionModelAutoNA.zip create mode 100644 pmml-sparkml-xgboost/src/test/resources/schema/AuditNA.json create mode 100644 pmml-sparkml-xgboost/src/test/resources/schema/AutoNA.json diff --git a/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java b/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java index a6f819b7..4bb8e680 100644 --- a/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java +++ b/pmml-sparkml-lightgbm/src/test/java/org/jpmml/sparkml/lightgbm/testing/LightGBMTest.java @@ -21,6 +21,7 @@ import java.util.function.Predicate; import com.google.common.base.Equivalence; +import org.jpmml.converter.testing.Datasets; import org.jpmml.evaluator.ResultField; import org.jpmml.evaluator.testing.IntegrationTest; import org.jpmml.evaluator.testing.PMMLEquivalence; @@ -28,7 +29,7 @@ import org.jpmml.sparkml.testing.SparkMLEncoderBatchTest; import org.junit.Test; -public class LightGBMTest extends IntegrationTest { +public class LightGBMTest extends IntegrationTest implements Datasets { public LightGBMTest(){ super(new PMMLEquivalence(1e-14, 1e-14)); @@ -43,16 +44,16 @@ public SimpleArchiveBatch createBatch(String algorithm, String dataset, Predicat @Test public void evaluateLightGBMAudit() throws Exception { - evaluate("LightGBM", "Audit"); + evaluate("LightGBM", AUDIT); } @Test public void evaluateLightGBMAuto() throws Exception { - evaluate("LightGBM", "Auto"); + evaluate("LightGBM", AUTO); } @Test public void evaluateLightGBMIris() throws Exception { - evaluate("LightGBM", "Iris"); + evaluate("LightGBM", IRIS); } } \ No newline at end of file diff --git a/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java b/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java index 5f2ad0f0..4d6179ec 100644 --- a/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java +++ b/pmml-sparkml-xgboost/src/test/java/org/jpmml/sparkml/xgboost/testing/XGBoostTest.java @@ -18,6 +18,9 @@ */ package org.jpmml.sparkml.xgboost.testing; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -25,6 +28,14 @@ import java.util.function.Predicate; import com.google.common.base.Equivalence; +import ml.dmlc.xgboost4j.scala.spark.XGBoostClassificationModel; +import ml.dmlc.xgboost4j.scala.spark.XGBoostRegressionModel; +import org.apache.spark.ml.PipelineModel; +import org.apache.spark.ml.PredictionModel; +import org.apache.spark.ml.util.MLReader; +import org.apache.spark.sql.Dataset; +import org.apache.spark.sql.Row; +import org.apache.spark.sql.SparkSession; import org.dmg.pmml.Model; import org.dmg.pmml.PMML; import org.dmg.pmml.VerificationField; @@ -36,6 +47,8 @@ import org.jpmml.evaluator.ResultField; import org.jpmml.evaluator.testing.FloatEquivalence; import org.jpmml.model.visitors.AbstractVisitor; +import org.jpmml.sparkml.ArchiveUtil; +import org.jpmml.sparkml.PipelineModelUtil; import org.jpmml.sparkml.testing.SparkMLEncoderBatch; import org.jpmml.sparkml.testing.SparkMLEncoderBatchTest; import org.jpmml.sparkml.xgboost.HasSparkMLXGBoostOptions; @@ -44,7 +57,7 @@ import org.junit.BeforeClass; import org.junit.Test; -public class XGBoostTest extends SparkMLEncoderBatchTest { +public class XGBoostTest extends SparkMLEncoderBatchTest implements Datasets { public XGBoostTest(){ super(new FloatEquivalence(12)); @@ -84,7 +97,7 @@ public PMML getPMML() throws Exception { @Override public VisitorAction visit(Model model){ - if(Objects.equals(dataset, Datasets.AUDIT)){ + if(Objects.equals(dataset, AUDIT)){ model.setModelVerification(null); } @@ -104,6 +117,86 @@ public VisitorAction visit(VerificationField verificationField){ return pmml; } + + @Override + protected PipelineModel loadPipelineModel(SparkSession sparkSession, List tmpResources) throws IOException { + String dataset = getDataset(); + + if(Objects.equals(dataset, AUDIT_NA)){ + return loadPipelineModel(sparkSession, "Transformers", "XGBoostClassificationModel", tmpResources); + } else + + if(Objects.equals(dataset, AUTO_NA)){ + return loadPipelineModel(sparkSession, "Transformers", "XGBoostRegressionModel", tmpResources); + } else + + { + return super.loadPipelineModel(sparkSession, tmpResources); + } + } + + private PipelineModel loadPipelineModel(SparkSession sparkSession, String pipelineModelName, String modelName, List tmpResources) throws IOException { + String dataset = getDataset(); + + PipelineModel pipelineModel; + + try(InputStream is = open("/pipeline/" + pipelineModelName + dataset + ".zip")){ + File tmpZipFile = toTmpFile(is, pipelineModelName + dataset, ".zip"); + + tmpResources.add(tmpZipFile); + + File tmpPipelineModelDir = ArchiveUtil.uncompress(tmpZipFile); + + tmpResources.add(tmpPipelineModelDir); + + pipelineModel = PipelineModelUtil.load(sparkSession, tmpPipelineModelDir); + } + + PredictionModel model; + + try(InputStream is = open("/pipeline/" + modelName + dataset + ".zip")){ + File tmpZipFile = toTmpFile(is, modelName + dataset, ".zip"); + + tmpResources.add(tmpZipFile); + + File tmpModelDir = ArchiveUtil.uncompress(tmpZipFile); + + tmpResources.add(tmpModelDir); + + MLReader mlReader; + + if(modelName.endsWith("ClassificationModel")){ + mlReader = new XGBoostClassificationModel.XGBoostClassificationModelReader(); + } else + + if(modelName.endsWith("RegressionModel")){ + mlReader = new XGBoostRegressionModel.XGBoostRegressionModelReader(); + } else + + { + throw new IllegalArgumentException(); + } + + mlReader.session(sparkSession); + + model = (PredictionModel)mlReader.load(tmpModelDir.getAbsolutePath()); + } + + PipelineModelUtil.addStage(pipelineModel, (pipelineModel.stages()).length, model); + + return pipelineModel; + } + + @Override + public Dataset getVerificationDataset(Dataset inputDataset){ + String dataset = getDataset(); + + if(Objects.equals(dataset, AUDIT_NA) || Objects.equals(dataset, AUTO_NA)){ + return null; + } + + return super.getVerificationDataset(inputDataset); + } }; return result; @@ -111,22 +204,32 @@ public VisitorAction visit(VerificationField verificationField){ @Test public void evaluateAudit() throws Exception { - evaluate("XGBoost", "Audit", excludeFields(Fields.AUDIT_PROBABILITY_FALSE), new FloatEquivalence(64 + 8)); + evaluate("XGBoost", AUDIT, excludeFields(Fields.AUDIT_PROBABILITY_FALSE), new FloatEquivalence(64 + 8)); + } + + @Test + public void evaluateAuditNA() throws Exception { + evaluate("XGBoost", AUDIT_NA, excludeFields(Fields.AUDIT_PROBABILITY_FALSE), new FloatEquivalence(64 + 8)); } @Test public void evaluateAuto() throws Exception { - evaluate("XGBoost", "Auto"); + evaluate("XGBoost", AUTO); + } + + @Test + public void evaluateAutoNA() throws Exception { + evaluate("XGBoost", AUTO_NA); } @Test public void evaluateHousing() throws Exception { - evaluate("XGBoost", "Housing"); + evaluate("XGBoost", HOUSING); } @Test public void evaluateIris() throws Exception { - evaluate("XGBoost", "Iris", new FloatEquivalence(16)); + evaluate("XGBoost", IRIS, new FloatEquivalence(16)); } @BeforeClass diff --git a/pmml-sparkml-xgboost/src/test/resources/XGBoostAuditNA.scala b/pmml-sparkml-xgboost/src/test/resources/XGBoostAuditNA.scala new file mode 100644 index 00000000..dd9c377e --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/XGBoostAuditNA.scala @@ -0,0 +1,54 @@ +import java.io.File + +import ml.dmlc.xgboost4j.scala.spark.XGBoostClassifier +import org.apache.spark.ml.Pipeline +import org.apache.spark.ml.feature._ +import org.apache.spark.ml.linalg.Vector +import org.apache.spark.ml.param.ParamMap +import org.apache.spark.sql.functions.{lit, udf} +import org.apache.spark.sql.types.StringType +import org.apache.spark.ml.util.MLWritable +import org.jpmml.sparkml.{ArchiveUtil, DatasetUtil, PipelineModelUtil} +import org.jpmml.sparkml.feature.{InvalidCategoryTransformer, SparseToDenseTransformer} + +var df = DatasetUtil.loadCsv(spark, new File("csv/AuditNA.csv")) +df = DatasetUtil.castColumn(df, "Adjusted", StringType) + +DatasetUtil.storeSchema(df, new File("schema/AuditNA.json")) + +val cat_cols = Array("Education", "Employment", "Gender", "Marital", "Occupation") +val cont_cols = Array("Age", "Hours", "Income") + +val labelIndexer = new StringIndexer().setInputCol("Adjusted").setOutputCol("idx_Adjusted") + +val indexer = new StringIndexer().setInputCols(cat_cols).setOutputCols(cat_cols.map(cat_col => "idx_" + cat_col)).setHandleInvalid("keep") +val indexTransformer = new InvalidCategoryTransformer().setInputCols(indexer.getOutputCols).setOutputCols(cat_cols.map(cat_col => "idxTransformed_" + cat_col)) + +val assembler = new VectorAssembler().setInputCols(indexTransformer.getOutputCols ++ cont_cols).setOutputCol("featureVector").setHandleInvalid("keep") + +val sparse2dense = new SparseToDenseTransformer().setInputCol(assembler.getOutputCol).setOutputCol("denseFeatureVec") + +val classifier = new XGBoostClassifier(Map("objective" -> "binary:logistic", "num_round" -> 101)).setLabelCol(labelIndexer.getOutputCol).setFeaturesCol(sparse2dense.getOutputCol).setFeatureTypes(Array("c", "c", "c", "c", "c", "q", "q", "q"))//.setHandleInvalid("keep").setMissing(Float.NaN) + +val pipeline = new Pipeline().setStages(Array(labelIndexer, indexer, indexTransformer, assembler, sparse2dense, classifier)) +val pipelineModel = pipeline.fit(df) + +//PipelineModelUtil.storeZip(pipelineModel, new File("pipeline/XGBoostAuditNA.zip")) + +val transformers = pipelineModel.copy(new ParamMap()) +val classificationModel = PipelineModelUtil.removeStage(transformers, 5) + +PipelineModelUtil.storeZip(transformers, new File("pipeline/TransformersAuditNA.zip")) + +val mlWriter = classificationModel.asInstanceOf[MLWritable].write.option("format", "json") +ArchiveUtil.storeZip(mlWriter, new File("pipeline/XGBoostClassificationModelAuditNA.zip")) + +val predLabel = udf{ (value: Float) => value.toInt.toString } +val vectorToColumn = udf{ (vec: Vector, index: Int) => vec(index).toFloat } + +var xgbDf = pipelineModel.transform(df) +xgbDf = xgbDf.selectExpr("prediction", "probability") +xgbDf = xgbDf.withColumn("Adjusted", predLabel(xgbDf("prediction"))).drop("prediction") +xgbDf = xgbDf.withColumn("probability(0)", vectorToColumn(xgbDf("probability"), lit(0))).withColumn("probability(1)", vectorToColumn(xgbDf("probability"), lit(1))).drop("probability").drop("probability") + +DatasetUtil.storeCsv(xgbDf, new File("csv/XGBoostAuditNA.csv")) diff --git a/pmml-sparkml-xgboost/src/test/resources/XGBoostAutoNA.scala b/pmml-sparkml-xgboost/src/test/resources/XGBoostAutoNA.scala new file mode 100644 index 00000000..d43f6060 --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/XGBoostAutoNA.scala @@ -0,0 +1,43 @@ +import java.io.File + +import ml.dmlc.xgboost4j.scala.spark.XGBoostRegressor +import org.apache.spark.ml.Pipeline +import org.apache.spark.ml.feature._ +import org.apache.spark.ml.param.ParamMap +import org.apache.spark.ml.util.MLWritable +import org.apache.spark.sql.types.FloatType +import org.jpmml.sparkml.{ArchiveUtil, DatasetUtil, PipelineModelUtil} +import org.jpmml.sparkml.feature.InvalidCategoryTransformer + +var df = DatasetUtil.loadCsv(spark, new File("csv/AutoNA.csv")) + +DatasetUtil.storeSchema(df, new File("schema/AutoNA.json")) + +val cat_cols = Array("cylinders", "model_year", "origin") +val cont_cols = Array("acceleration", "displacement", "horsepower", "weight") + +val indexer = new StringIndexer().setInputCols(cat_cols).setOutputCols(cat_cols.map(cat_col => "idx_" + cat_col)).setHandleInvalid("keep") +val indexTransformer = new InvalidCategoryTransformer().setInputCols(indexer.getOutputCols).setOutputCols(cat_cols.map(cat_col => "idxTransformed_" + cat_col)) + +val assembler = new VectorAssembler().setInputCols(indexTransformer.getOutputCols ++ cont_cols).setOutputCol("featureVector").setHandleInvalid("keep") + +val regressor = new XGBoostRegressor(Map("objective" -> "reg:squarederror", "num_round" -> 101, "num_workers" -> 1, "tree_method" -> "hist")).setLabelCol("mpg").setFeaturesCol(assembler.getOutputCol).setFeatureTypes(Array("c", "c", "c", "q", "q", "q", "q")) + +val pipeline = new Pipeline().setStages(Array(indexer, indexTransformer, assembler, regressor)) +val pipelineModel = pipeline.fit(df) + +//PipelineModelUtil.storeZip(pipelineModel, new File("pipeline/XGBoostAutoNA.zip")) + +val transformers = pipelineModel.copy(new ParamMap()) +val regressionModel = PipelineModelUtil.removeStage(transformers, 3) + +PipelineModelUtil.storeZip(transformers, new File("pipeline/TransformersAutoNA.zip")) + +val mlWriter = regressionModel.asInstanceOf[MLWritable].write.option("format", "json") +ArchiveUtil.storeZip(mlWriter, new File("pipeline/XGBoostRegressionModelAutoNA.zip")) + +var xgbDf = pipelineModel.transform(df) +xgbDf = xgbDf.selectExpr("prediction as mpg") +xgbDf = DatasetUtil.castColumn(xgbDf, "mpg", FloatType) + +DatasetUtil.storeCsv(xgbDf, new File("csv/XGBoostAutoNA.csv")) diff --git a/pmml-sparkml-xgboost/src/test/resources/csv/AuditNA.csv b/pmml-sparkml-xgboost/src/test/resources/csv/AuditNA.csv new file mode 100644 index 00000000..7d904c78 --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/csv/AuditNA.csv @@ -0,0 +1,1900 @@ +Age,Employment,Education,Marital,Occupation,Income,Gender,Deductions,Hours,Adjusted +38,Private,College,Unmarried,Service,81838,N/A,0,72,0 +35,N/A,Associate,N/A,N/A,72099,N/A,0,30,0 +N/A,Private,HSgrad,Divorced,Clerical,154676.74,N/A,N/A,40,0 +45,Private,Bachelor,Married,Repair,27743.82,Male,0,N/A,1 +60,N/A,College,Married,Executive,7568.23,Male,0,N/A,1 +74,Private,HSgrad,Married,Service,33144.4,Male,N/A,N/A,0 +43,Private,Bachelor,N/A,N/A,43391.17,Male,0,50,1 +35,Private,N/A,N/A,Machinist,59906.65,Male,0,N/A,0 +25,Private,Associate,Divorced,N/A,126888.91,Female,0,40,0 +22,Private,N/A,Absent,N/A,52466.49,Female,N/A,37,0 +N/A,Private,College,Divorced,N/A,N/A,Female,N/A,N/A,0 +60,Private,N/A,N/A,N/A,24155.31,Male,0,40,0 +21,Private,N/A,Absent,Service,N/A,Female,0,35,0 +21,Private,College,Absent,Machinist,N/A,Male,0,40,0 +50,N/A,Master,N/A,Executive,34919.16,N/A,0,40,1 +37,Private,N/A,Divorced,N/A,N/A,N/A,0,35,0 +30,Consultant,HSgrad,N/A,Repair,9608.48,Male,0,40,0 +32,Private,HSgrad,Married,Machinist,12475.84,Male,0,40,0 +65,N/A,College,Married,Sales,32963.39,Male,0,40,0 +N/A,Private,N/A,Married,Executive,31534.97,Male,N/A,55,0 +N/A,N/A,N/A,Divorced,N/A,182165.08,N/A,N/A,40,0 +41,PSState,Bachelor,Divorced,N/A,70603.7,Male,0,40,0 +30,Private,N/A,Absent,Service,N/A,N/A,N/A,30,0 +38,Private,N/A,Married,Repair,8670.9,N/A,N/A,N/A,0 +N/A,Private,Yr11,Unmarried,Professional,260405.44,N/A,0,N/A,0 +42,PSState,College,Absent,Executive,N/A,Female,0,40,0 +26,Private,N/A,Absent,Sales,73751.48,Female,0,40,0 +32,Consultant,N/A,Married,Sales,N/A,N/A,0,60,1 +49,PSFederal,College,N/A,Support,15345.33,Male,0,N/A,1 +N/A,Private,HSgrad,Married,Repair,N/A,Male,0,40,0 +N/A,Private,Yr10,Married,Machinist,33493.89,Male,N/A,40,0 +N/A,PSFederal,N/A,Married,Support,54653.36,Male,0,24,0 +46,Private,HSgrad,Absent,Service,229077.27,Female,0,N/A,0 +42,N/A,College,Absent,Machinist,59201.06,Female,0,40,0 +39,Private,College,Divorced,N/A,31036.73,Female,N/A,40,0 +N/A,Private,Yr11,Absent,Machinist,N/A,Female,0,40,0 +47,PSLocal,Doctorate,Absent,Professional,N/A,Female,0,40,0 +24,Private,Associate,Unmarried,Repair,193135.59,Male,0,40,1 +45,Private,N/A,Married,Repair,26717.49,Male,0,N/A,0 +40,PSFederal,Associate,Absent,Clerical,N/A,Female,0,N/A,0 +51,SelfEmp,Doctorate,Married,Professional,13612.07,N/A,0,N/A,1 +77,N/A,HSgrad,Married,Service,39950.92,Male,0,N/A,0 +N/A,Private,College,Married,N/A,N/A,Male,0,45,0 +39,Private,Yr9,Divorced,Cleaner,78516.3,Male,N/A,50,0 +39,PSState,N/A,N/A,N/A,92268.68,Female,0,40,0 +63,SelfEmp,Bachelor,N/A,Farming,N/A,Male,N/A,N/A,1 +N/A,Private,HSgrad,Widowed,Service,148865.82,Female,0,38,0 +39,Private,Bachelor,Married,Professional,N/A,Male,0,N/A,1 +66,N/A,Yr5t6,Married-spouse-absent,N/A,139087.01,Female,0,40,0 +N/A,N/A,College,Married,Executive,N/A,Male,0,45,1 +31,PSLocal,N/A,N/A,Clerical,67012.13,Female,N/A,N/A,0 +31,Private,Bachelor,Married,Executive,N/A,N/A,1,45,1 +45,Private,Professional,Absent,N/A,44102.23,Male,N/A,40,1 +19,PSLocal,College,Absent,Service,N/A,Female,N/A,35,0 +32,Private,HSgrad,N/A,Machinist,14657.59,Male,0,40,0 +27,Private,N/A,Absent,Professional,89775.14,Male,0,N/A,1 +25,N/A,N/A,Married,Transport,56417.35,Male,0,30,0 +21,Private,N/A,N/A,Clerical,43362.93,Male,0,65,0 +N/A,Consultant,HSgrad,Absent,Farming,214238.62,Male,0,70,0 +N/A,Private,Bachelor,Absent,Executive,83143.19,Male,1,38,0 +56,PSFederal,N/A,Divorced,N/A,37078.8,N/A,0,40,0 +N/A,Volunteer,Associate,Married,N/A,N/A,Male,0,50,0 +28,N/A,Associate,Absent,N/A,166953.87,N/A,0,60,0 +39,Private,HSgrad,N/A,Executive,28907.41,N/A,0,40,0 +61,PSLocal,Master,Absent,Professional,5138.14,N/A,0,N/A,0 +32,N/A,HSgrad,Absent,N/A,82182.54,Female,0,N/A,0 +48,PSState,Bachelor,Married,Executive,N/A,N/A,0,40,1 +27,N/A,HSgrad,Married,Farming,25990.54,N/A,N/A,N/A,0 +N/A,Private,N/A,Absent,Transport,N/A,N/A,N/A,50,0 +37,Private,HSgrad,N/A,Machinist,83414.55,Male,0,40,0 +43,Private,College,N/A,Repair,N/A,Male,N/A,N/A,0 +47,Consultant,HSgrad,N/A,Machinist,61231.06,Male,N/A,N/A,1 +33,Private,Yr11,N/A,Service,32550.53,N/A,0,40,0 +64,Private,N/A,Married,Machinist,61592.42,Male,0,40,0 +44,N/A,Bachelor,Married,Sales,37662.02,Male,0,50,1 +23,Private,College,N/A,Service,100335.51,Female,N/A,35,0 +22,Private,HSgrad,Absent,N/A,342939.73,Female,0,N/A,0 +N/A,PSLocal,Master,Married,Executive,30098.58,Male,0,50,1 +28,PSFederal,N/A,Absent,Executive,150516.9,Female,0,70,0 +36,Private,HSgrad,Divorced,Transport,N/A,N/A,0,50,0 +22,Private,Bachelor,Absent,Professional,N/A,Female,N/A,15,0 +29,N/A,Vocational,Married,Transport,N/A,Male,0,55,0 +N/A,Private,N/A,Absent,Support,151462.25,Male,0,20,0 +N/A,Private,Bachelor,Married,Executive,29461.26,Male,0,40,1 +26,N/A,N/A,Absent,N/A,38142.98,Female,0,8,0 +28,Private,Bachelor,Absent,Executive,76539.28,Female,0,60,0 +19,Private,Yr11,N/A,Sales,N/A,N/A,0,25,0 +45,N/A,N/A,Married,Sales,38599.89,N/A,0,50,1 +35,Private,College,Divorced,Sales,N/A,Female,0,N/A,0 +42,Private,Vocational,Married,Service,N/A,Male,N/A,N/A,0 +58,PSState,Doctorate,N/A,N/A,N/A,Male,0,40,0 +55,Private,N/A,Married,Repair,39087.51,Male,0,40,0 +N/A,Private,HSgrad,N/A,Repair,N/A,N/A,0,28,0 +78,SelfEmp,Bachelor,Married,Executive,39472.73,N/A,0,45,1 +53,PSLocal,HSgrad,N/A,Executive,56065.12,Male,0,N/A,0 +34,Private,Vocational,N/A,N/A,35910.03,Male,0,40,0 +28,Private,N/A,N/A,Sales,N/A,N/A,N/A,40,0 +50,Private,N/A,N/A,Sales,47011.78,N/A,0,N/A,0 +47,N/A,N/A,Married,Clerical,203798.03,Female,0,35,1 +N/A,SelfEmp,Master,Widowed,Executive,92158.43,Female,N/A,99,0 +45,Consultant,N/A,Absent,Professional,N/A,Male,0,30,1 +33,Private,N/A,N/A,Repair,34078.48,N/A,N/A,N/A,0 +39,Private,N/A,Married,Support,N/A,Male,0,N/A,1 +N/A,Private,College,Divorced,Repair,86618.25,Male,0,44,1 +43,Private,College,Married,N/A,27604.3,N/A,0,40,0 +35,Private,HSgrad,Absent,Clerical,N/A,Male,0,N/A,1 +22,N/A,Yr10,Absent,N/A,N/A,N/A,0,84,0 +63,Private,College,N/A,Repair,32562.24,Male,0,45,0 +64,N/A,College,Widowed,N/A,73525.6,Female,N/A,N/A,0 +54,Private,HSgrad,Married,Machinist,N/A,Male,0,45,1 +57,Private,HSgrad,Widowed,Clerical,81343.45,Female,0,40,0 +45,N/A,College,Divorced,Support,125370.21,Female,N/A,40,0 +33,Private,N/A,Married,Executive,129091.19,Female,0,N/A,1 +25,Private,HSgrad,Absent,Sales,177873.59,Male,0,40,0 +N/A,N/A,N/A,Absent,Repair,64358.33,Male,0,50,0 +N/A,Private,HSgrad,Married,Executive,41442.67,N/A,0,40,1 +46,N/A,Associate,Absent,Professional,80318.75,Female,N/A,33,0 +22,Private,HSgrad,Absent,Service,70541.91,N/A,0,35,0 +N/A,N/A,HSgrad,Married,N/A,37634.41,Male,1,60,1 +30,Private,College,N/A,Machinist,N/A,Male,0,40,1 +28,Private,HSgrad,N/A,Cleaner,156434.13,Male,0,30,0 +21,N/A,College,Absent,N/A,N/A,Female,0,10,0 +N/A,Consultant,College,N/A,N/A,N/A,Male,0,35,1 +32,Private,N/A,N/A,Repair,103733.33,Male,0,50,0 +32,PSLocal,N/A,Married,Professional,163587.6,Female,0,N/A,1 +N/A,Private,N/A,Absent,Clerical,N/A,Female,N/A,40,0 +22,Private,College,N/A,N/A,223592.88,Male,0,35,0 +40,Private,HSgrad,Married,Professional,49546.92,N/A,N/A,N/A,1 +31,Private,College,Married,N/A,22086.63,N/A,0,N/A,0 +N/A,Private,Associate,Married-spouse-absent,Machinist,198418.74,Male,0,40,0 +23,Private,College,Divorced,Sales,115237.91,Female,0,N/A,0 +N/A,Consultant,Bachelor,Widowed,N/A,126304,Female,0,N/A,1 +35,Private,Bachelor,N/A,Executive,N/A,N/A,0,50,1 +N/A,N/A,HSgrad,Married,Clerical,N/A,N/A,0,25,0 +40,N/A,Bachelor,Married,N/A,34674.28,Male,0,50,0 +23,N/A,N/A,Absent,Repair,N/A,N/A,0,40,0 +N/A,Private,HSgrad,Absent,N/A,123634.05,Male,N/A,40,0 +17,Private,Yr9,Absent,N/A,130301.1,Male,0,22,0 +59,Private,HSgrad,Widowed,Service,53968.46,Female,0,10,0 +37,Private,College,Divorced,Transport,66341.59,Male,0,N/A,0 +27,N/A,HSgrad,Married,Machinist,13567.01,Male,0,N/A,0 +82,Private,Yr5t6,Widowed,Service,252435.63,Male,0,N/A,0 +30,Private,N/A,Married,Machinist,35880.85,Male,0,60,1 +23,Private,Bachelor,Absent,N/A,106057.24,Male,0,30,0 +30,Private,HSgrad,Married,Cleaner,50241.5,Male,N/A,40,0 +43,N/A,College,Divorced,Executive,175224.4,Female,0,45,0 +N/A,Private,N/A,Married,Professional,9371.51,Male,0,N/A,0 +N/A,Private,N/A,N/A,Transport,35189.05,N/A,0,55,0 +N/A,Private,Yr5t6,Absent,Clerical,98176.24,Female,0,40,0 +N/A,Private,N/A,Married,N/A,N/A,Male,0,N/A,0 +62,PSState,Bachelor,Divorced,N/A,77664.69,N/A,N/A,N/A,0 +41,Private,N/A,Married,Professional,18754.25,N/A,N/A,40,1 +44,N/A,Bachelor,N/A,Professional,243076.64,Female,N/A,60,0 +N/A,Private,HSgrad,Divorced,Clerical,43002.61,N/A,0,40,0 +29,Private,College,Absent,Professional,88981.36,Female,0,40,0 +42,N/A,Bachelor,Married,Executive,66952.28,Male,0,40,0 +40,Private,HSgrad,N/A,Repair,144187.19,Female,N/A,40,1 +29,PSFederal,College,Married,Clerical,54390.65,Male,0,40,1 +55,N/A,College,N/A,Clerical,N/A,Male,0,40,1 +45,PSLocal,Master,Divorced,Professional,133907.33,Female,N/A,40,0 +30,Private,HSgrad,Married,Executive,56622.85,Male,0,50,0 +34,Private,N/A,Married,Executive,4524.86,Male,0,40,1 +46,Private,HSgrad,Married,Sales,N/A,Male,0,45,1 +54,N/A,Doctorate,Absent,Executive,71715.5,Female,0,50,1 +N/A,N/A,N/A,Absent,Sales,93070,Female,0,N/A,0 +N/A,Private,N/A,Married,N/A,30353.77,Male,0,60,1 +61,Private,Yr7t8,Divorced,N/A,184682.08,Female,N/A,N/A,0 +50,Private,HSgrad,Married,Repair,N/A,N/A,0,40,0 +70,Private,N/A,Married,N/A,72715.96,Male,N/A,40,1 +51,Private,HSgrad,N/A,Machinist,N/A,Male,N/A,40,0 +N/A,Private,N/A,Married,Repair,49237.33,N/A,0,N/A,0 +18,N/A,N/A,Absent,Service,52489.11,Female,0,25,0 +N/A,Private,N/A,Absent,Farming,82725.18,Female,1,30,0 +65,Private,HSgrad,Widowed,Clerical,115548.72,Female,0,20,0 +24,Private,N/A,N/A,Service,N/A,Female,0,N/A,0 +35,SelfEmp,Bachelor,Unmarried,Professional,42736.77,Female,0,50,0 +32,Private,College,Absent,Repair,96488.54,N/A,0,72,0 +42,N/A,N/A,Married-spouse-absent,Transport,97187.73,N/A,0,60,0 +34,N/A,N/A,Married,Executive,35573.04,N/A,N/A,45,1 +53,N/A,HSgrad,N/A,N/A,N/A,Male,0,N/A,1 +30,Private,Vocational,Married,N/A,21551.74,Female,0,24,0 +N/A,Private,HSgrad,N/A,Cleaner,73730.39,Male,N/A,40,0 +N/A,N/A,N/A,Absent,N/A,22529.54,Female,N/A,38,0 +44,Consultant,N/A,N/A,Repair,N/A,Male,0,50,1 +34,Private,Professional,Absent,N/A,N/A,Female,0,40,0 +52,Private,HSgrad,Divorced,Repair,N/A,Male,N/A,40,0 +36,N/A,Yr10,N/A,Machinist,34268.18,Male,0,40,0 +N/A,PSFederal,HSgrad,Absent,Service,112250.05,Female,0,32,0 +73,N/A,Bachelor,Married,Sales,20608.32,N/A,0,50,1 +54,PSLocal,Master,Divorced,Professional,N/A,Female,N/A,40,0 +22,PSLocal,College,N/A,Clerical,72111.64,Female,0,55,0 +45,Private,HSgrad,Married,Repair,37605.81,Male,N/A,40,0 +34,Private,HSgrad,Absent,Machinist,110412.9,Male,N/A,40,0 +53,N/A,Preschool,N/A,Machinist,123739.96,Female,0,35,0 +30,N/A,HSgrad,Married,Machinist,28988.26,Male,N/A,N/A,0 +N/A,PSLocal,Bachelor,Divorced,Professional,296284.55,Female,0,40,0 +25,Private,HSgrad,Absent,Executive,N/A,Male,N/A,45,0 +60,SelfEmp,HSgrad,Married,Clerical,N/A,Female,0,N/A,1 +N/A,Private,Yr10,Divorced,Machinist,68357.88,Female,0,40,0 +23,Private,College,Absent,Sales,48397.69,Male,0,25,0 +31,N/A,College,Married,Repair,N/A,N/A,0,40,1 +N/A,Private,College,Married,N/A,47123.24,Male,0,N/A,0 +74,Consultant,Doctorate,Married-spouse-absent,N/A,40643.16,Male,0,N/A,1 +N/A,Private,HSgrad,Absent,Service,N/A,Female,0,N/A,0 +39,Private,Bachelor,Absent,N/A,57245.29,N/A,0,45,0 +29,Private,College,Absent,N/A,113713.14,Male,0,30,0 +43,Private,Master,Married,N/A,26718.94,Male,N/A,50,1 +26,PSLocal,N/A,Absent,Professional,80090.43,Female,0,40,0 +N/A,N/A,Yr11,Absent,Repair,71065.53,Male,0,N/A,0 +40,N/A,Bachelor,Married,Professional,30140.84,Male,0,60,0 +57,Private,HSgrad,N/A,Clerical,55758.54,N/A,0,36,0 +N/A,Private,HSgrad,Divorced,Repair,N/A,Male,N/A,40,0 +29,Private,College,Married,Cleaner,32079.84,N/A,0,20,0 +36,PSFederal,HSgrad,N/A,N/A,154637.16,Female,0,N/A,0 +N/A,N/A,N/A,Married,Executive,N/A,Male,0,N/A,0 +N/A,Private,N/A,Absent,Cleaner,78338.21,Male,0,20,0 +20,Private,Yr12,Absent,Machinist,N/A,Male,N/A,40,0 +48,Private,HSgrad,N/A,Machinist,116242.34,Female,0,N/A,0 +N/A,Private,HSgrad,Absent,Service,76092.27,Male,0,N/A,0 +N/A,Private,College,Married,N/A,33450.41,Male,0,60,0 +N/A,Private,N/A,Married,N/A,37168.49,Male,0,40,1 +40,Private,College,Married,Machinist,39443.33,N/A,0,40,0 +N/A,N/A,Yr11,Married,Farming,N/A,Male,0,40,0 +23,Private,HSgrad,Absent,Sales,N/A,Male,N/A,40,0 +N/A,Private,College,Married,Machinist,12651.15,N/A,0,N/A,1 +18,Private,HSgrad,Absent,Service,N/A,N/A,0,N/A,0 +N/A,Consultant,Doctorate,Absent,Professional,N/A,Female,0,45,0 +54,Consultant,College,Married,N/A,29282.08,Male,0,N/A,0 +44,Consultant,HSgrad,Married,Farming,22917.76,Male,N/A,N/A,0 +N/A,Private,N/A,Married,Repair,35956.04,Male,0,41,0 +N/A,Private,College,Married,Repair,N/A,Male,0,N/A,1 +38,PSState,Bachelor,N/A,Executive,59178.12,Male,0,40,0 +41,Private,N/A,Divorced,Sales,10747.59,Female,0,48,0 +N/A,Consultant,HSgrad,Married,N/A,72286.49,Male,0,60,0 +21,Private,HSgrad,Absent,Sales,N/A,Male,0,N/A,0 +37,N/A,N/A,Married,Repair,N/A,Male,0,40,0 +41,Private,College,Married,Executive,192398.74,Male,0,40,1 +49,SelfEmp,College,N/A,N/A,189129.57,Female,N/A,65,1 +39,Private,HSgrad,N/A,N/A,89935.48,Male,0,40,0 +24,Private,HSgrad,Divorced,Machinist,55642.17,Male,N/A,40,0 +65,N/A,HSgrad,N/A,Clerical,49027.46,Male,N/A,40,1 +N/A,Private,HSgrad,N/A,Farming,29965.82,Male,0,45,1 +34,Private,Bachelor,N/A,Clerical,81462.83,Female,0,25,0 +33,Private,College,Married,Professional,27593.68,N/A,0,40,0 +30,Private,HSgrad,N/A,Repair,29380.77,Male,1,40,1 +N/A,N/A,Vocational,Married,Executive,20300.74,Male,0,N/A,1 +N/A,Private,N/A,Divorced,Professional,133620.15,Female,0,36,0 +29,Private,HSgrad,Absent,Executive,86241.61,Female,N/A,40,0 +36,N/A,Bachelor,N/A,N/A,7377.51,Male,1,50,1 +45,N/A,Master,Divorced,Professional,25419.27,N/A,N/A,N/A,0 +45,N/A,N/A,N/A,N/A,N/A,Male,0,N/A,0 +40,N/A,Yr10,Absent,Service,166702.86,N/A,N/A,N/A,0 +27,Private,College,N/A,Sales,59321.84,Male,0,50,0 +20,N/A,N/A,N/A,N/A,171960.33,Male,0,40,0 +30,Private,College,N/A,Transport,107142.62,N/A,0,40,0 +47,PSState,HSgrad,Married,N/A,146328.63,N/A,0,N/A,1 +41,Private,College,Divorced,Clerical,59474.99,Female,N/A,55,0 +26,PSLocal,Bachelor,Absent,Clerical,64037.85,Male,0,42,0 +N/A,Consultant,Bachelor,Married,Transport,24800.44,N/A,N/A,N/A,1 +39,Private,Master,Absent,Executive,N/A,N/A,0,50,1 +55,N/A,College,N/A,Professional,N/A,Male,0,N/A,0 +46,Private,HSgrad,Divorced,Professional,126466.42,Female,0,40,0 +N/A,Private,Yr9,N/A,Protective,27989.97,N/A,0,40,0 +51,Private,College,Absent,N/A,75170.57,Female,N/A,12,0 +N/A,N/A,N/A,Absent,Farming,179015.01,Male,1,16,0 +37,PSFederal,College,Married,Machinist,21520.56,Male,N/A,N/A,0 +44,N/A,College,Unmarried,Executive,N/A,Male,1,45,0 +27,N/A,Associate,N/A,N/A,199104.55,Female,0,N/A,0 +N/A,Private,N/A,N/A,Service,155241.01,Female,0,40,0 +N/A,Private,Vocational,Absent,N/A,39249.37,Male,N/A,30,0 +N/A,PSLocal,Associate,Married,Support,N/A,Male,N/A,40,1 +38,Private,N/A,Married,Machinist,N/A,Male,0,40,1 +44,Consultant,College,N/A,Farming,N/A,Male,0,40,0 +52,Private,HSgrad,Married,Repair,38175.16,Male,N/A,50,1 +51,PSLocal,N/A,Married,Transport,50305.81,Male,N/A,40,0 +67,PSState,Doctorate,Married,N/A,15898.03,Male,N/A,12,0 +58,Private,Vocational,Married,N/A,49228.83,N/A,N/A,40,1 +52,SelfEmp,Bachelor,N/A,N/A,N/A,Male,0,55,0 +42,Private,Doctorate,Absent,Professional,N/A,Male,0,N/A,1 +41,N/A,Master,Married,Professional,39795.37,N/A,0,50,1 +53,PSState,Yr10,Married,Transport,N/A,N/A,N/A,N/A,1 +40,N/A,College,Married,Professional,N/A,Female,0,40,0 +41,Private,Bachelor,N/A,Professional,25307.22,Male,N/A,40,0 +60,Consultant,N/A,Married,N/A,36145.47,Male,0,45,0 +39,N/A,N/A,Married,Machinist,32080.22,N/A,1,N/A,0 +29,Private,HSgrad,Divorced,Service,80201.6,Female,N/A,N/A,0 +N/A,N/A,N/A,N/A,N/A,152961.87,Female,0,40,0 +28,Consultant,Bachelor,N/A,N/A,88287.76,Male,N/A,50,1 +40,Private,College,N/A,Service,N/A,Female,N/A,40,0 +21,Private,HSgrad,Absent,Repair,N/A,Male,0,N/A,0 +31,Private,College,N/A,Executive,N/A,Male,0,40,0 +23,N/A,HSgrad,Absent,Farming,27390.28,Male,N/A,40,0 +54,Private,Master,Married,Professional,29811.43,Male,0,N/A,0 +23,Private,Associate,Absent,Sales,N/A,Male,0,40,0 +29,Private,N/A,Married,Service,N/A,N/A,0,40,0 +N/A,PSLocal,College,N/A,N/A,N/A,Male,0,N/A,0 +N/A,Private,College,Divorced,Repair,N/A,Male,0,50,0 +N/A,N/A,N/A,N/A,N/A,57135.48,Female,N/A,45,0 +65,Consultant,N/A,Married,Executive,N/A,Male,N/A,10,1 +37,N/A,College,Married-spouse-absent,N/A,147993.31,Female,N/A,27,0 +21,Private,HSgrad,Absent,Sales,70275.91,Female,0,30,0 +N/A,Private,HSgrad,Married,Repair,22770.44,Male,0,40,0 +54,Private,Vocational,Married,Support,66433.01,N/A,0,N/A,1 +N/A,Private,N/A,Divorced,Clerical,47070.57,Female,0,N/A,0 +N/A,Private,HSgrad,N/A,Machinist,279599.42,Female,0,48,0 +43,PSState,Master,Married,Executive,15762.95,Male,0,40,1 +N/A,Consultant,Yr11,N/A,Cleaner,93671.92,N/A,0,40,0 +64,Private,HSgrad,Widowed,Clerical,N/A,Female,0,30,0 +N/A,PSFederal,College,Divorced,Clerical,111422.53,Female,0,N/A,0 +29,N/A,HSgrad,N/A,N/A,329171.43,Female,0,18,0 +27,Private,N/A,N/A,N/A,N/A,N/A,0,35,0 +50,Private,N/A,Divorced,N/A,145031.73,N/A,0,40,0 +N/A,N/A,Bachelor,Married,N/A,26158.2,N/A,N/A,43,1 +45,Private,Yr9,N/A,Cleaner,59534.87,Male,0,40,0 +39,N/A,HSgrad,N/A,N/A,85565.16,Female,N/A,10,0 +40,N/A,N/A,Divorced,Service,128629.84,N/A,N/A,45,0 +26,Private,Yr12,Absent,Service,199628.02,N/A,0,40,0 +27,Private,College,Married,Repair,27932.75,N/A,N/A,N/A,0 +41,PSLocal,HSgrad,N/A,Transport,108760.33,Female,0,38,0 +29,Private,Bachelor,Married,Repair,30838.37,Male,0,45,0 +32,Private,Yr10,Absent,Repair,229452.89,Male,N/A,40,0 +60,PSState,Master,N/A,Professional,25719.5,Male,N/A,N/A,1 +38,N/A,HSgrad,Married,Transport,N/A,Male,0,40,0 +N/A,PSLocal,Bachelor,Absent,N/A,N/A,Male,N/A,40,0 +41,N/A,College,Divorced,Repair,126239.52,Male,N/A,40,0 +26,Private,Bachelor,Married,Professional,13790.85,Male,0,58,1 +23,Private,Vocational,Absent,Professional,33182.37,Female,N/A,N/A,0 +24,N/A,N/A,N/A,Repair,N/A,Male,0,40,0 +N/A,PSLocal,N/A,N/A,Professional,49859.42,Female,0,46,0 +27,N/A,HSgrad,Married,Clerical,N/A,N/A,N/A,39,0 +36,Private,N/A,N/A,N/A,96900.94,Female,N/A,40,0 +N/A,SelfEmp,N/A,Married,Sales,22536.37,Male,0,40,1 +29,Private,HSgrad,Married,Machinist,53693.92,Male,0,45,0 +N/A,PSState,N/A,Divorced,Protective,161281.24,N/A,0,N/A,0 +N/A,PSFederal,HSgrad,Absent,Executive,38932.19,Female,0,40,0 +41,PSLocal,Master,Divorced,Professional,N/A,Female,0,N/A,0 +31,Private,Bachelor,Divorced,Executive,100095.95,Female,0,50,1 +39,Private,Yr9,Married,Service,136378.92,N/A,0,34,0 +66,Consultant,Yr9,Married,Farming,25973.47,Male,N/A,N/A,1 +39,N/A,College,Married,Clerical,15275.18,Male,0,25,0 +44,Private,Master,Married,Executive,N/A,N/A,N/A,40,1 +22,N/A,College,Absent,N/A,249741.88,Female,0,N/A,0 +43,PSFederal,N/A,N/A,Professional,21737.96,N/A,N/A,40,0 +34,Private,HSgrad,Absent,Repair,59338.83,Male,0,40,0 +N/A,Private,HSgrad,Married,Transport,35751.45,Male,0,40,0 +N/A,Private,Bachelor,Absent,Professional,41992.73,Female,0,9,0 +41,Private,HSgrad,Married,N/A,N/A,Male,0,N/A,0 +32,N/A,College,N/A,N/A,176806.47,Female,N/A,N/A,0 +24,N/A,HSgrad,Absent,Cleaner,101594.16,Male,N/A,N/A,0 +45,N/A,HSgrad,Married,Farming,39403.87,N/A,0,40,0 +56,Private,N/A,N/A,Machinist,N/A,Male,0,N/A,0 +53,Consultant,HSgrad,Married,Farming,N/A,Male,N/A,N/A,0 +27,Consultant,HSgrad,Absent,Repair,72408.32,Male,0,30,0 +32,N/A,Vocational,Absent,Service,N/A,Male,0,N/A,0 +31,N/A,Bachelor,Divorced,N/A,122380.38,Male,0,60,0 +39,Private,HSgrad,Married,Repair,N/A,Male,0,40,1 +N/A,Private,Yr10,Married,Transport,60708.32,N/A,0,N/A,0 +32,Private,HSgrad,Divorced,Clerical,115759.45,Female,N/A,N/A,0 +51,Consultant,Yr10,Widowed,Transport,38448.49,Female,N/A,40,0 +50,Private,HSgrad,Married-spouse-absent,Cleaner,N/A,Female,0,40,0 +29,Private,N/A,Married,Transport,16596.93,Male,0,40,0 +41,Private,Bachelor,Absent,Professional,N/A,Male,0,40,1 +31,Private,N/A,Absent,N/A,266708.54,Male,0,45,0 +34,Private,HSgrad,Absent,Repair,65181.4,Male,0,N/A,0 +30,Private,HSgrad,Married,N/A,N/A,N/A,0,40,0 +26,Private,Yr11,Absent,Machinist,N/A,Female,0,N/A,0 +64,Private,N/A,N/A,Executive,29018.13,Male,0,N/A,0 +46,Private,Bachelor,Absent,Professional,104411.29,Male,0,60,0 +N/A,N/A,Bachelor,Married,Executive,29372.19,Male,0,40,0 +N/A,Private,N/A,N/A,Machinist,N/A,Male,0,N/A,1 +34,Private,College,Unmarried,Machinist,69650.32,N/A,N/A,40,0 +50,PSLocal,Master,N/A,N/A,54815.01,Female,0,30,0 +45,N/A,N/A,Married,Clerical,273024.98,Female,0,40,1 +N/A,Private,HSgrad,N/A,Home,N/A,N/A,0,25,0 +45,N/A,HSgrad,Married,Executive,N/A,N/A,N/A,N/A,0 +33,PSLocal,N/A,Absent,Protective,83998.37,Male,0,N/A,0 +N/A,Private,College,Absent,Sales,119648.25,Male,0,40,0 +N/A,Private,Bachelor,Absent,Clerical,302473.86,Female,0,40,0 +22,Private,HSgrad,N/A,Service,151717.77,Female,0,19,0 +45,PSLocal,HSgrad,Unmarried,Service,191903.12,Female,0,40,0 +N/A,N/A,Vocational,Married,Repair,N/A,Male,0,N/A,0 +23,Private,N/A,N/A,Executive,190071.74,N/A,0,40,0 +17,Private,Yr12,Absent,Cleaner,N/A,N/A,0,17,0 +N/A,Private,College,Married,Machinist,43274.45,Male,N/A,40,1 +N/A,N/A,Yr11,Married,Repair,N/A,N/A,N/A,60,1 +61,Private,N/A,Married,Executive,163175.67,Female,0,N/A,1 +31,Private,N/A,Divorced,Transport,105269.72,Male,0,45,0 +N/A,N/A,Master,Married-spouse-absent,Professional,N/A,Female,0,40,0 +42,Private,College,Married,N/A,58980.99,Male,N/A,N/A,1 +28,Private,Doctorate,Absent,Clerical,73107.98,Male,0,18,0 +21,Private,College,N/A,Machinist,243764.23,N/A,0,N/A,0 +33,Private,N/A,Married,Cleaner,48116.66,Male,0,40,0 +N/A,Private,N/A,Divorced,Service,100775.05,Male,N/A,N/A,0 +22,N/A,N/A,Absent,Cleaner,N/A,Male,1,40,1 +N/A,Private,Vocational,Unmarried,N/A,240485.92,Female,N/A,35,0 +37,Private,Master,Married,N/A,24992.3,Male,0,45,1 +65,N/A,Bachelor,Absent,Executive,26076.22,Male,0,40,0 +28,Private,Bachelor,Absent,Professional,9541.93,Female,0,40,0 +30,Private,N/A,Widowed,Clerical,N/A,Female,N/A,N/A,0 +47,Private,Yr11,Divorced,Service,107450.83,Female,0,40,0 +34,Private,College,N/A,Sales,87586.93,Female,0,40,0 +57,N/A,Master,Married,Protective,21467.02,N/A,0,14,1 +57,Private,N/A,Married,Transport,N/A,Male,0,40,0 +N/A,Private,HSgrad,Divorced,Sales,63446.23,N/A,0,35,0 +46,PSState,Vocational,Divorced,Clerical,N/A,N/A,0,38,0 +51,Private,HSgrad,Divorced,Professional,N/A,Female,0,N/A,0 +40,PSLocal,HSgrad,Absent,Service,N/A,N/A,N/A,40,0 +55,Private,College,Married,Repair,N/A,N/A,0,40,0 +50,SelfEmp,HSgrad,Married,Farming,4930.3,Male,0,50,0 +N/A,Private,College,Married,Service,195744.31,Female,0,N/A,0 +42,PSLocal,HSgrad,Married,N/A,43027.27,N/A,0,N/A,0 +31,Private,Doctorate,Married,Professional,39068.04,N/A,0,40,0 +N/A,N/A,N/A,N/A,Machinist,174325.46,Male,0,40,0 +34,Private,College,Married,N/A,30033.75,N/A,0,40,0 +N/A,SelfEmp,College,N/A,Sales,67669.6,Female,0,35,0 +65,Consultant,N/A,N/A,Executive,N/A,Male,0,24,0 +47,Private,Yr9,Absent,Service,208195.84,Female,0,50,0 +N/A,Consultant,HSgrad,Married,Transport,32418.68,N/A,0,45,0 +41,PSState,N/A,N/A,N/A,2584.53,Male,0,40,0 +49,SelfEmp,N/A,Divorced,Executive,N/A,Female,0,40,0 +22,Private,HSgrad,Absent,N/A,79019.51,N/A,0,60,0 +42,N/A,N/A,Married,Executive,46796.14,Male,0,40,1 +36,Private,N/A,Married,Professional,14220.59,Male,N/A,55,1 +36,N/A,Associate,Married,Professional,68166.53,Male,N/A,N/A,1 +62,Consultant,Bachelor,Divorced,Professional,63454.72,Female,0,40,1 +24,N/A,Bachelor,Absent,Farming,N/A,Male,N/A,40,0 +46,N/A,N/A,Married,Transport,18752.31,Male,N/A,N/A,0 +46,N/A,Bachelor,Married,Clerical,23064.1,Male,1,N/A,1 +52,Private,Yr10,Married,Transport,43220.42,Male,0,45,0 +27,Private,HSgrad,Married,N/A,12631.84,Male,0,40,0 +N/A,N/A,Vocational,N/A,Professional,242928.15,N/A,N/A,40,0 +43,Consultant,N/A,Married,Repair,19833.16,Male,0,N/A,0 +N/A,SelfEmp,Bachelor,Divorced,Executive,79424.23,N/A,0,50,0 +N/A,Private,Bachelor,Divorced,Executive,138108.83,Female,0,45,1 +N/A,SelfEmp,Associate,Married,Sales,N/A,Male,0,40,1 +38,Private,HSgrad,Divorced,Repair,N/A,Male,0,N/A,0 +57,Private,Yr10,Married,Machinist,12951.57,Male,0,40,0 +19,Private,HSgrad,Absent,Machinist,N/A,Male,0,30,0 +25,Private,College,N/A,Clerical,30693.55,Male,0,N/A,0 +31,Private,HSgrad,N/A,Repair,21015.93,Male,0,N/A,0 +40,Private,Vocational,Absent,Clerical,82953.38,Female,N/A,40,0 +N/A,Private,HSgrad,Absent,Service,174501.6,Male,N/A,35,0 +46,N/A,HSgrad,N/A,Repair,34962.4,Male,0,40,0 +27,Private,Bachelor,N/A,Professional,34754.32,Male,0,42,1 +N/A,Private,Master,N/A,N/A,39564.87,Male,0,40,1 +17,N/A,Yr11,Absent,Service,134913.32,N/A,0,15,0 +58,PSLocal,HSgrad,Married,N/A,33730.79,N/A,0,40,1 +N/A,Private,Master,Married,N/A,52706.14,Male,N/A,40,1 +N/A,Private,N/A,Unmarried,Cleaner,N/A,Male,0,40,0 +34,N/A,HSgrad,N/A,N/A,N/A,N/A,0,40,0 +47,Private,HSgrad,Absent,Clerical,16724.7,Male,N/A,33,0 +26,Private,Associate,Absent,N/A,N/A,Male,N/A,N/A,0 +48,Private,N/A,Married,Repair,N/A,Male,N/A,N/A,0 +39,N/A,N/A,Absent,N/A,N/A,Female,N/A,N/A,0 +N/A,N/A,Yr9,N/A,Transport,50564.64,N/A,0,99,0 +33,Consultant,Bachelor,Absent,Sales,69232.77,N/A,N/A,40,0 +N/A,Consultant,N/A,Married,Executive,55981.64,Male,0,N/A,0 +33,PSLocal,Bachelor,Married,Protective,36228.26,Male,0,70,1 +35,N/A,Bachelor,Married,Executive,56791.05,Male,N/A,47,1 +33,Private,College,Absent,Service,N/A,Female,0,28,0 +56,N/A,Bachelor,Married,Sales,42603.57,N/A,0,40,1 +45,N/A,N/A,Divorced,Executive,107961.84,Male,N/A,50,0 +66,Private,Bachelor,Married,N/A,33987.22,Male,0,15,1 +46,PSState,HSgrad,N/A,N/A,48807.28,N/A,0,N/A,1 +23,Private,Associate,N/A,Sales,92970.53,N/A,0,N/A,0 +N/A,N/A,Associate,Divorced,Executive,112480.86,Male,0,40,1 +21,N/A,HSgrad,Absent,Sales,N/A,Female,N/A,N/A,0 +46,N/A,HSgrad,Divorced,Executive,56889.59,Female,0,N/A,0 +37,Private,N/A,N/A,Clerical,N/A,Male,0,38,0 +58,N/A,N/A,Married,Executive,N/A,Male,0,40,1 +43,Private,HSgrad,Divorced,Executive,N/A,Female,0,40,0 +28,Private,Bachelor,N/A,N/A,81967.31,Female,0,N/A,0 +N/A,N/A,HSgrad,Absent,Executive,116076.42,N/A,0,45,0 +19,Private,N/A,Absent,Cleaner,N/A,Male,0,35,0 +68,Private,N/A,Married,Repair,N/A,Male,N/A,44,0 +N/A,SelfEmp,N/A,Married,N/A,48852.77,Male,0,N/A,1 +31,Consultant,HSgrad,N/A,N/A,N/A,N/A,1,40,1 +N/A,PSState,Master,Married,Professional,N/A,Male,0,50,1 +50,Private,HSgrad,N/A,N/A,59745.14,Male,0,40,1 +N/A,N/A,HSgrad,Absent,Service,129388.23,Female,0,20,0 +57,N/A,HSgrad,Married,Executive,53313.24,Male,0,1,0 +N/A,N/A,N/A,N/A,Service,113834.61,Female,0,N/A,0 +34,N/A,College,N/A,Transport,57302.55,Male,1,40,0 +37,Private,HSgrad,Married,Repair,26674.21,Male,0,40,0 +49,PSState,Master,Married,N/A,38082.1,N/A,0,45,1 +41,N/A,HSgrad,Married,N/A,46992.2,Male,1,40,1 +38,Private,College,Divorced,Sales,94304.23,Female,0,40,0 +N/A,Private,HSgrad,Married,Clerical,N/A,N/A,0,45,0 +35,Private,HSgrad,Married,Cleaner,42134.13,Male,0,N/A,0 +41,N/A,HSgrad,N/A,Sales,176293.81,Female,N/A,40,0 +56,N/A,Bachelor,Married,Repair,17996.83,N/A,0,40,0 +N/A,Private,N/A,Absent,Support,N/A,Female,0,40,0 +19,Private,College,Absent,Repair,222208.64,Male,0,40,0 +32,Private,Bachelor,N/A,Sales,66145.39,Male,0,50,1 +37,Private,HSgrad,Married,N/A,38208.31,N/A,N/A,50,0 +44,SelfEmp,N/A,Married,Repair,N/A,Male,0,58,1 +44,N/A,Bachelor,Married,Executive,48292.14,Male,0,48,0 +26,Private,Bachelor,N/A,Service,67468.36,Male,0,30,0 +40,Private,N/A,Divorced,Service,N/A,Female,N/A,20,0 +N/A,SelfEmp,HSgrad,Married,Repair,7933.4,Male,0,40,0 +30,Private,HSgrad,N/A,Machinist,42654.08,Male,0,40,0 +24,N/A,Bachelor,Absent,Professional,60796.94,Male,N/A,45,0 +N/A,Private,Associate,Absent,N/A,N/A,Male,0,30,0 +25,N/A,N/A,Absent,Clerical,N/A,Female,N/A,40,0 +24,N/A,N/A,N/A,Clerical,117086.88,Female,0,40,0 +N/A,Private,College,Married,Sales,33975.92,Male,0,N/A,1 +18,Private,HSgrad,Absent,N/A,109846.82,Female,N/A,N/A,0 +32,Consultant,HSgrad,Married,Service,89398.02,Female,0,5,0 +34,Private,HSgrad,Divorced,Clerical,N/A,Female,N/A,35,0 +24,N/A,Bachelor,N/A,Executive,166052.52,N/A,0,45,1 +39,Private,Professional,Divorced,Professional,70847.77,Male,0,70,1 +32,Private,N/A,Divorced,Professional,91745.36,Female,0,30,0 +27,Private,College,Absent,Clerical,44527.23,Female,0,40,0 +25,N/A,College,Married,Clerical,177114.9,N/A,N/A,56,1 +17,Private,N/A,N/A,Home,N/A,N/A,0,N/A,0 +N/A,N/A,HSgrad,Widowed,Machinist,N/A,Female,0,N/A,0 +59,N/A,College,N/A,Clerical,N/A,Female,0,34,0 +23,Private,College,Absent,Service,88744.88,Male,0,N/A,0 +46,PSLocal,N/A,Absent,N/A,62609.31,N/A,0,40,0 +45,Private,Bachelor,Married,Executive,40475.97,N/A,0,N/A,1 +35,N/A,N/A,N/A,N/A,24147.69,Male,N/A,50,1 +38,Private,N/A,Married,Repair,N/A,Male,0,40,0 +N/A,Private,Bachelor,N/A,Support,189962.59,Male,0,N/A,0 +N/A,Private,N/A,Married-spouse-absent,Repair,164211.16,Female,N/A,N/A,0 +22,Private,College,Absent,Cleaner,N/A,Male,0,N/A,0 +44,N/A,HSgrad,N/A,Transport,33651.43,Male,0,N/A,0 +62,N/A,HSgrad,Married,Service,N/A,Male,N/A,40,1 +27,N/A,Bachelor,Absent,Executive,229417.24,Female,0,40,0 +35,N/A,HSgrad,Married,N/A,314194.62,Female,N/A,40,0 +59,PSLocal,Yr10,N/A,N/A,25218.36,Male,0,40,0 +30,Private,College,Divorced,Professional,N/A,Female,N/A,40,0 +N/A,Private,HSgrad,Absent,Sales,197192.92,Female,0,N/A,0 +59,PSLocal,Bachelor,Married,N/A,11008.39,Male,0,50,1 +18,Private,N/A,Absent,Repair,N/A,Male,0,5,0 +22,N/A,Vocational,Absent,N/A,106734.77,Female,N/A,36,0 +N/A,Private,N/A,N/A,Clerical,162093.26,Female,0,N/A,0 +66,Private,HSgrad,Widowed,Sales,96057.04,N/A,0,40,1 +49,PSState,Master,Divorced,Professional,N/A,Female,0,40,1 +32,N/A,Bachelor,N/A,Service,66932.76,N/A,0,40,0 +N/A,Private,College,Divorced,N/A,N/A,Female,0,30,0 +33,Private,N/A,Married,Farming,48288.7,Male,0,40,0 +N/A,PSLocal,Yr5t6,Married,N/A,48618.95,Male,N/A,20,0 +34,Private,N/A,Married,N/A,N/A,Male,0,40,1 +41,Private,HSgrad,N/A,N/A,49161.35,Male,0,N/A,0 +50,PSLocal,N/A,Married,Protective,41471.41,Male,0,44,1 +35,Private,Vocational,N/A,Service,27632.54,Female,N/A,65,0 +31,Private,Vocational,Absent,Service,81517.56,N/A,N/A,N/A,0 +55,Private,Bachelor,N/A,N/A,53577.25,Male,0,40,1 +33,Private,HSgrad,N/A,N/A,N/A,N/A,N/A,N/A,0 +40,PSFederal,HSgrad,N/A,Executive,19944.35,Male,0,40,1 +50,SelfEmp,College,Married,N/A,38682.78,N/A,0,N/A,0 +71,Private,Bachelor,N/A,Executive,N/A,Female,N/A,14,0 +65,Consultant,Yr9,Married,Repair,47063.94,N/A,0,45,0 +36,Consultant,HSgrad,N/A,Service,N/A,Female,N/A,16,0 +N/A,Private,Yr5t6,Married,Repair,49389.22,Male,0,40,0 +41,N/A,HSgrad,Married,Machinist,N/A,Male,0,40,0 +N/A,Private,Bachelor,Married,Sales,30242.65,Male,0,50,0 +51,Private,N/A,Married,Cleaner,65007.68,Male,0,50,0 +83,N/A,HSgrad,Widowed,Protective,65460.8,Male,N/A,N/A,0 +N/A,Consultant,College,N/A,Professional,49297.77,Male,1,35,0 +66,Private,N/A,Widowed,N/A,60987.96,Female,0,25,0 +N/A,SelfEmp,Vocational,Divorced,Sales,62300.23,Male,N/A,56,0 +46,PSLocal,Bachelor,Married,Protective,N/A,Male,0,40,1 +N/A,Private,Master,N/A,Executive,N/A,Male,0,45,1 +41,Private,HSgrad,Married,Executive,32833.32,Male,N/A,40,1 +N/A,Private,College,Married,Transport,N/A,Male,N/A,60,0 +28,Private,Bachelor,N/A,N/A,481259.5,N/A,0,40,1 +40,Private,Yr11,N/A,Machinist,146014.32,N/A,0,N/A,0 +27,Private,HSgrad,Absent,Executive,N/A,Female,0,N/A,0 +48,PSFederal,Bachelor,Divorced,Executive,51903.79,N/A,0,45,0 +38,PSLocal,HSgrad,Married,Transport,N/A,Male,0,40,0 +N/A,PSLocal,N/A,Absent,Clerical,N/A,Female,0,40,1 +N/A,Private,College,Absent,Service,106813.49,N/A,0,32,0 +25,Private,Bachelor,Absent,Sales,169922,N/A,0,40,0 +47,Private,HSgrad,Divorced,Service,196408.98,Female,0,40,0 +46,Private,Bachelor,N/A,Executive,46716.6,Male,0,40,1 +35,N/A,HSgrad,N/A,Service,284810.56,Female,0,40,0 +46,N/A,Bachelor,N/A,Machinist,121294.18,N/A,1,N/A,0 +25,Private,N/A,Absent,N/A,69059.63,Male,0,50,0 +N/A,PSFederal,HSgrad,Married,Clerical,25092.81,Male,0,40,0 +20,N/A,College,Absent,Sales,128364.91,Male,0,20,0 +21,Private,HSgrad,Absent,Machinist,N/A,N/A,0,N/A,0 +47,Private,Vocational,Absent,Service,80477.09,N/A,0,40,0 +23,Private,HSgrad,N/A,N/A,N/A,Male,0,N/A,0 +23,N/A,Yr11,N/A,Cleaner,55206.8,Male,0,40,0 +66,Private,HSgrad,N/A,Sales,N/A,Female,0,35,0 +42,N/A,Master,N/A,Executive,31457.77,Male,0,45,0 +24,Private,Bachelor,Absent,Sales,112617.59,Male,0,N/A,0 +46,N/A,Vocational,Divorced,Support,144181.15,N/A,N/A,N/A,0 +67,Private,N/A,N/A,N/A,79554.22,Female,0,40,0 +28,PSLocal,College,N/A,Clerical,44411.01,Female,0,N/A,0 +48,N/A,Master,Married,Professional,N/A,Male,N/A,N/A,1 +42,SelfEmp,Bachelor,N/A,Clerical,216373,Female,N/A,35,0 +48,Private,HSgrad,Married,Cleaner,235077.88,N/A,N/A,40,0 +18,Private,N/A,Absent,Service,55889.47,Male,0,8,0 +N/A,Private,College,Widowed,Sales,134361.82,Female,N/A,45,0 +53,N/A,N/A,Married,Executive,30441.04,Male,N/A,45,1 +N/A,Private,N/A,N/A,Support,36457.74,N/A,0,40,1 +48,Private,N/A,Absent,N/A,15481.2,Male,N/A,40,0 +38,N/A,Bachelor,Married,N/A,41845.12,Male,N/A,N/A,1 +N/A,Private,HSgrad,Unmarried,Machinist,176485.25,Male,0,40,0 +57,Private,HSgrad,Widowed,N/A,164663.6,Male,0,N/A,0 +N/A,Private,College,Absent,N/A,92535.68,N/A,0,45,0 +44,N/A,Vocational,Married,Executive,N/A,Male,0,40,0 +31,N/A,College,Unmarried,Cleaner,88116.45,Male,N/A,40,0 +57,Private,N/A,Married,N/A,42522.57,N/A,0,40,0 +24,N/A,HSgrad,N/A,Clerical,106167.56,Female,N/A,N/A,0 +69,Private,Yr5t6,Married,N/A,N/A,Male,1,40,0 +N/A,N/A,HSgrad,Married,Farming,N/A,Male,0,55,0 +27,Private,N/A,Married,Cleaner,N/A,Male,N/A,40,0 +28,Private,N/A,Married,N/A,239217.93,N/A,0,40,0 +61,N/A,Bachelor,N/A,N/A,50401.28,Male,N/A,50,1 +30,Private,College,Married,N/A,15097.86,N/A,0,40,1 +25,Private,Bachelor,Absent,Support,244248.76,N/A,0,40,0 +59,PSLocal,N/A,Divorced,Clerical,N/A,Female,0,N/A,0 +37,Private,Yr5t6,N/A,Service,60542.61,Male,0,40,0 +26,Private,N/A,Divorced,N/A,81147.27,Female,0,40,0 +41,N/A,N/A,Unmarried,N/A,66294.52,Male,0,40,0 +51,Private,Bachelor,Absent,Sales,N/A,N/A,1,43,1 +27,Private,N/A,Divorced,Machinist,172504.15,Male,1,40,0 +37,N/A,N/A,Married,Repair,22745.9,Male,N/A,N/A,0 +28,Private,Yr10,N/A,N/A,218597.45,N/A,0,40,0 +43,Private,HSgrad,Absent,Professional,117813.86,Male,0,40,0 +N/A,N/A,Associate,N/A,N/A,66415.75,Female,0,40,0 +43,SelfEmp,College,Married,Executive,34585.86,Male,0,N/A,1 +45,Private,HSgrad,Absent,N/A,N/A,N/A,0,40,0 +32,Private,HSgrad,Absent,Farming,132527.18,N/A,0,40,0 +21,Private,N/A,Absent,Clerical,N/A,Female,0,N/A,0 +N/A,N/A,College,Absent,N/A,N/A,Male,N/A,N/A,0 +30,N/A,N/A,Married,Cleaner,43547.15,N/A,0,60,0 +44,Consultant,Master,Absent,N/A,N/A,Male,0,99,0 +N/A,Private,Yr7t8,Absent,N/A,127464.3,Male,0,30,0 +60,N/A,N/A,Divorced,Professional,N/A,Female,N/A,10,0 +49,PSFederal,College,Married,Repair,48438.96,N/A,0,40,0 +22,Private,HSgrad,N/A,Repair,65813.54,Male,0,35,0 +47,N/A,HSgrad,Married,Clerical,201977.13,Female,0,20,1 +N/A,Private,N/A,Absent,Professional,82291.28,Male,0,40,0 +30,Private,Master,Absent,Professional,95314.79,Male,0,40,0 +24,Consultant,College,Unmarried,Cleaner,70069.45,Male,N/A,45,0 +43,N/A,Yr10,Married,Transport,32075.56,Male,0,40,0 +N/A,N/A,Bachelor,N/A,N/A,68034.9,Female,0,55,0 +57,Private,Master,N/A,Executive,26521.5,Male,1,40,1 +24,N/A,College,Absent,N/A,139763.94,Male,0,24,0 +24,N/A,N/A,Absent,Service,N/A,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Transport,44957.03,Male,0,50,0 +N/A,N/A,HSgrad,N/A,N/A,N/A,Male,0,N/A,0 +40,Private,HSgrad,Divorced,Service,76714.87,Male,0,40,0 +27,Private,HSgrad,Divorced,Clerical,278897.99,N/A,0,40,0 +30,Private,HSgrad,N/A,Executive,144481.36,N/A,0,40,0 +44,Private,Bachelor,Married,N/A,N/A,Male,1,50,1 +31,Private,HSgrad,Divorced,Clerical,225049.48,Female,0,38,0 +18,Private,Yr11,Absent,N/A,65037.68,Male,0,N/A,0 +39,N/A,HSgrad,Absent,Repair,45401.02,Male,1,50,1 +N/A,Private,Master,N/A,N/A,N/A,N/A,1,60,1 +N/A,Private,HSgrad,Absent,N/A,N/A,Female,0,48,0 +46,N/A,N/A,Absent,Repair,N/A,Female,0,48,0 +45,N/A,N/A,Married,N/A,34120.79,Male,0,40,1 +62,PSState,Master,Married,N/A,27452.47,N/A,0,60,1 +36,Private,Yr10,Married,Repair,29073.78,N/A,0,40,0 +25,SelfEmp,Associate,N/A,Sales,N/A,N/A,0,60,0 +N/A,N/A,HSgrad,Married,Machinist,135665.63,Female,0,40,0 +38,Private,College,Absent,Sales,193681.15,N/A,0,50,0 +26,Private,College,Absent,N/A,195976.31,N/A,0,20,0 +28,Private,Yr7t8,N/A,N/A,114956.87,N/A,0,N/A,0 +N/A,Private,HSgrad,Married,N/A,23972.13,Male,0,N/A,0 +N/A,Private,College,Absent,N/A,164461.64,N/A,0,43,0 +38,Private,N/A,Married,Executive,31609.41,Male,N/A,N/A,1 +N/A,PSLocal,HSgrad,Widowed,N/A,110146.06,N/A,1,N/A,0 +45,Private,Doctorate,Married,N/A,25651.97,Male,0,50,1 +39,N/A,Associate,Widowed,Clerical,N/A,Female,0,45,0 +N/A,Private,N/A,Absent,Cleaner,120980.4,Male,0,40,0 +N/A,Private,HSgrad,Married,Farming,48301.94,Male,0,60,0 +44,N/A,Vocational,Married,Executive,9528.22,Male,0,40,0 +N/A,Consultant,College,Absent,Service,23291.16,Female,0,20,0 +29,Private,College,N/A,Home,97217.72,Female,N/A,30,0 +21,N/A,Yr11,Absent,Professional,N/A,Female,0,24,0 +N/A,Private,N/A,Married,Sales,11616.92,Male,0,N/A,0 +40,SelfEmp,Master,Married,Sales,N/A,Male,0,70,1 +38,N/A,HSgrad,Divorced,N/A,N/A,N/A,0,N/A,0 +N/A,PSLocal,N/A,N/A,N/A,38001.7,Male,0,40,0 +N/A,Private,HSgrad,N/A,Sales,2378.63,Male,0,N/A,0 +N/A,SelfEmp,College,N/A,Sales,50055.68,Male,0,N/A,1 +23,Private,HSgrad,Absent,Transport,153876.57,Male,0,40,0 +58,Private,N/A,N/A,Farming,3150,Male,0,N/A,0 +34,Private,N/A,Married,Service,N/A,Male,N/A,62,0 +51,N/A,Master,Absent,Professional,90090.03,Male,0,40,1 +N/A,Private,Yr9,Absent,N/A,90825.33,Male,0,49,0 +19,N/A,N/A,Absent,N/A,56946.06,N/A,0,20,0 +38,Private,N/A,Married,Executive,N/A,Male,0,40,1 +35,Private,Bachelor,Married,Service,26682.44,Male,0,20,1 +N/A,N/A,Associate,Married,Repair,35224.3,Male,0,60,1 +23,Private,N/A,Married,Cleaner,20261.1,Male,0,N/A,0 +49,Private,Yr7t8,Married,N/A,24076.66,Male,0,48,0 +36,Private,N/A,Widowed,Cleaner,178082.65,Female,0,30,0 +20,N/A,N/A,Absent,Service,117717.61,Male,0,40,0 +35,SelfEmp,College,Married,Sales,11328.85,Male,0,60,1 +37,PSState,N/A,Absent,N/A,67520.29,Male,0,N/A,0 +29,N/A,Master,Absent,Professional,N/A,N/A,0,40,0 +26,Private,College,Absent,Executive,83863.35,N/A,0,N/A,0 +38,Consultant,N/A,N/A,Sales,35520.73,N/A,0,64,0 +N/A,Private,N/A,N/A,Professional,N/A,Female,0,50,1 +36,Private,N/A,Married,Executive,52940.73,Male,0,N/A,0 +40,PSFederal,Master,Absent,N/A,89901.16,Male,0,40,0 +36,PSFederal,N/A,Married,Support,51114.65,Male,N/A,40,0 +32,N/A,Bachelor,N/A,Professional,74199.12,Male,N/A,N/A,1 +50,Consultant,HSgrad,N/A,Professional,43445.15,Female,0,60,0 +47,PSLocal,College,N/A,Executive,56729.66,N/A,N/A,56,1 +54,Private,HSgrad,Married,Repair,5360.35,Male,0,44,0 +N/A,Private,Bachelor,Married,Support,113867.76,Female,0,40,1 +37,Private,Bachelor,Married,Professional,39289.48,Male,0,N/A,1 +44,N/A,HSgrad,Married,N/A,N/A,Male,0,40,1 +40,Private,N/A,Married,Repair,N/A,Male,0,N/A,0 +27,Private,College,N/A,N/A,108664.63,N/A,0,N/A,0 +N/A,Private,Bachelor,Married,Support,34606.74,Male,N/A,40,0 +45,Private,N/A,Married,N/A,198316.61,Female,N/A,35,1 +32,PSState,Bachelor,Married,Executive,134250.87,Female,N/A,55,1 +19,Private,N/A,Absent,Clerical,260015.72,Female,N/A,20,0 +22,Private,HSgrad,Absent,N/A,N/A,N/A,0,40,0 +40,N/A,N/A,Absent,Machinist,111604.03,Female,0,40,0 +45,PSState,HSgrad,Divorced,Support,N/A,N/A,0,40,0 +45,PSState,Professional,Divorced,N/A,105763.11,Female,0,43,0 +N/A,N/A,N/A,N/A,N/A,N/A,Female,N/A,60,0 +N/A,Private,Yr7t8,Married,Cleaner,N/A,Male,0,30,0 +53,Private,N/A,Divorced,Machinist,102342.44,Male,0,N/A,0 +45,Private,HSgrad,Divorced,Clerical,N/A,N/A,N/A,38,0 +N/A,Private,HSgrad,N/A,N/A,37598.92,Male,0,50,0 +61,Consultant,N/A,N/A,N/A,29392.56,Male,N/A,N/A,0 +20,Private,Vocational,Absent,Service,180841.47,Female,N/A,N/A,0 +31,Private,N/A,Married,N/A,36692.7,N/A,0,48,1 +29,N/A,Yr10,N/A,Professional,78257.05,Male,0,40,0 +29,Private,Doctorate,N/A,N/A,128737.61,Male,0,40,0 +N/A,Private,HSgrad,Married,Repair,35987.72,N/A,0,60,0 +21,Private,Preschool,Absent,N/A,N/A,Male,0,50,0 +37,Private,HSgrad,N/A,N/A,214984.25,Female,0,60,0 +34,PSState,HSgrad,Unmarried,Clerical,138982.23,Female,0,20,0 +40,Private,College,Married,Professional,39459.43,Male,0,N/A,1 +33,Private,College,Married,Machinist,12121.85,N/A,N/A,55,0 +42,PSFederal,N/A,Married,Executive,N/A,Male,0,52,1 +N/A,Private,Vocational,N/A,Executive,33700.67,Male,0,40,0 +58,Private,Bachelor,Married,Professional,N/A,Male,0,40,1 +N/A,Private,N/A,Absent,Transport,N/A,N/A,0,50,0 +33,Private,HSgrad,N/A,Service,158246.58,N/A,0,40,0 +46,Private,Bachelor,Married,Sales,N/A,N/A,0,50,1 +51,PSLocal,Doctorate,Married,Professional,58901.13,Female,0,40,1 +22,Private,HSgrad,N/A,Transport,179631.06,Male,N/A,N/A,0 +23,Private,HSgrad,Absent,Support,105740.62,Male,N/A,N/A,0 +N/A,Private,Yr7t8,Absent,N/A,97678.27,Male,0,40,0 +30,N/A,N/A,Married,Service,N/A,N/A,N/A,40,0 +30,Private,Vocational,Married-spouse-absent,Clerical,56324.13,Female,0,N/A,0 +27,Private,HSgrad,Married,Repair,50784.51,Male,0,40,1 +N/A,Private,N/A,Absent,Executive,190280.44,N/A,0,N/A,0 +46,Private,Yr5t6,Absent,Machinist,N/A,Female,0,N/A,0 +N/A,Private,HSgrad,Absent,Service,131220.35,Male,0,25,0 +21,Private,College,N/A,N/A,142964.61,Female,0,20,0 +51,N/A,HSgrad,N/A,Support,50330.96,Male,0,40,0 +N/A,PSLocal,HSgrad,N/A,Protective,96788.66,Female,0,40,0 +N/A,N/A,Bachelor,Married,Executive,12860.37,Male,0,40,1 +N/A,Private,Bachelor,Married,Repair,25755.81,Male,0,50,0 +N/A,N/A,Yr11,Absent,Service,160238.05,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Sales,N/A,Male,0,50,0 +23,Private,Associate,Married,Sales,N/A,Female,N/A,25,0 +35,Private,Bachelor,Married,N/A,325013.98,Female,N/A,N/A,1 +40,Consultant,HSgrad,Divorced,N/A,73617.56,Male,0,50,0 +27,Private,Yr10,Absent,Service,69852.03,Male,0,40,0 +N/A,N/A,College,Absent,Professional,N/A,N/A,0,40,0 +20,Private,College,N/A,Service,N/A,Male,N/A,30,0 +38,Private,Associate,Married,Sales,47401.48,Male,0,50,1 +61,Private,Doctorate,Married,Professional,40935.01,N/A,N/A,40,1 +55,PSState,Master,N/A,Professional,N/A,Male,0,45,1 +26,Private,N/A,Absent,N/A,57726.47,Female,0,40,0 +36,SelfEmp,College,N/A,N/A,9113.89,N/A,0,N/A,1 +59,PSState,Bachelor,Absent,Executive,N/A,Female,0,40,0 +N/A,Private,Yr10,Married,Sales,N/A,N/A,N/A,40,0 +27,N/A,HSgrad,Married,N/A,10662.97,Male,0,53,0 +39,N/A,N/A,Divorced,N/A,274431.1,Female,0,N/A,0 +45,PSFederal,HSgrad,N/A,Clerical,N/A,N/A,1,40,0 +N/A,N/A,Bachelor,Married,Professional,N/A,N/A,0,40,0 +23,N/A,College,Absent,Clerical,126590.09,Female,0,40,0 +32,Private,College,Absent,Sales,N/A,Female,0,40,0 +32,N/A,Yr10,Married,Repair,37420.49,Male,0,40,1 +N/A,Private,HSgrad,Absent,N/A,N/A,Male,N/A,N/A,0 +56,Private,N/A,Absent,Cleaner,N/A,Male,N/A,N/A,0 +24,Private,College,N/A,Farming,102611.6,N/A,0,N/A,0 +19,N/A,N/A,Absent,Sales,87617.15,Female,0,24,0 +52,Consultant,College,Married,Support,28753.79,Male,0,60,1 +31,Private,Yr9,N/A,Machinist,42408.09,Male,0,40,0 +47,Private,College,Married,Repair,38787.53,Male,0,40,0 +46,Private,College,Married,N/A,100347.61,Female,0,40,1 +17,Private,Yr9,Absent,Transport,61681.73,Male,0,20,0 +21,N/A,College,Absent,Clerical,154890.3,Female,N/A,15,0 +44,PSLocal,N/A,Absent,Repair,N/A,N/A,0,44,0 +34,N/A,Associate,Married,Sales,N/A,Male,1,50,1 +35,Private,Bachelor,Married,Executive,N/A,N/A,N/A,45,1 +21,Private,College,Absent,N/A,N/A,Female,0,40,0 +20,Private,College,N/A,Sales,84471.66,Female,0,N/A,0 +N/A,Private,College,Absent,Sales,56027.94,N/A,0,N/A,0 +34,N/A,Bachelor,N/A,Sales,104055.14,N/A,0,40,0 +N/A,N/A,College,N/A,Executive,80053.94,Male,0,50,0 +22,PSLocal,Vocational,N/A,Clerical,82936.28,N/A,0,10,0 +N/A,Consultant,College,N/A,N/A,16557.72,Male,0,50,1 +61,Private,HSgrad,Married,Repair,13147.86,Male,1,20,0 +27,N/A,N/A,Absent,Machinist,158458.54,Male,N/A,45,0 +N/A,Private,N/A,N/A,Executive,40925.7,Male,0,N/A,1 +20,Private,College,Absent,Transport,163772,N/A,0,N/A,0 +N/A,Private,HSgrad,Married,Transport,27661.6,Male,N/A,N/A,1 +52,N/A,N/A,Married,N/A,N/A,Male,0,40,0 +37,Private,Bachelor,Absent,N/A,94623.76,Female,0,N/A,0 +19,PSState,N/A,N/A,Clerical,213011.2,Female,0,N/A,0 +N/A,Consultant,N/A,Married,Sales,69200.36,Male,N/A,75,1 +30,Private,HSgrad,Married,Cleaner,33187.91,N/A,0,44,0 +29,Private,Associate,Absent,Sales,40905.21,N/A,N/A,40,0 +33,PSLocal,Master,Absent,Professional,82559.71,Female,0,N/A,0 +N/A,PSFederal,College,Married,N/A,2654.56,N/A,0,N/A,1 +N/A,N/A,Bachelor,Married,Sales,44226.52,Male,0,N/A,1 +33,N/A,N/A,Married,Executive,151493.63,Female,N/A,32,1 +N/A,Consultant,HSgrad,Absent,Repair,N/A,Male,N/A,50,1 +48,N/A,Bachelor,N/A,Professional,74381.26,N/A,0,36,1 +34,Private,Bachelor,N/A,Clerical,81418.44,N/A,0,45,0 +30,Private,College,Absent,Executive,52915.44,Male,0,52,0 +23,Private,HSgrad,N/A,Service,157676.14,Male,0,35,0 +44,PSLocal,Associate,N/A,Protective,101677.29,N/A,0,56,1 +N/A,Private,N/A,N/A,N/A,N/A,Female,0,50,0 +34,N/A,Yr11,Married,Cleaner,18208.52,Male,N/A,40,0 +41,SelfEmp,N/A,Unmarried,Executive,163715.34,Male,0,40,0 +19,Private,N/A,N/A,N/A,184671.16,Female,0,20,0 +48,PSLocal,Master,Divorced,Professional,63452.61,Female,0,N/A,1 +N/A,Private,College,Married,Clerical,227449.1,Female,0,40,1 +29,Private,HSgrad,Divorced,Machinist,192971.42,Male,0,N/A,0 +N/A,Private,HSgrad,N/A,N/A,8292.78,Male,0,40,0 +32,N/A,HSgrad,N/A,N/A,45951.16,Female,N/A,25,0 +30,N/A,Bachelor,Absent,Sales,153262.9,N/A,N/A,N/A,0 +26,N/A,College,Unmarried,Repair,120415.46,N/A,0,30,0 +N/A,Private,College,Absent,Service,N/A,Male,0,40,0 +29,Private,N/A,Married,N/A,71387.94,N/A,0,40,1 +N/A,Private,Yr11,N/A,Sales,48591.21,Male,0,N/A,0 +41,N/A,HSgrad,Married,Repair,N/A,N/A,0,50,0 +N/A,Private,College,Absent,Machinist,26127.67,N/A,0,40,0 +24,Private,HSgrad,N/A,N/A,107521.53,N/A,0,N/A,0 +55,Consultant,Bachelor,Married,Professional,330573.21,Female,0,8,0 +N/A,Private,N/A,Absent,N/A,208645.63,Male,0,40,0 +N/A,Private,Yr11,Absent,N/A,N/A,N/A,0,15,0 +45,Private,Bachelor,Married,Professional,30060.37,N/A,1,40,1 +N/A,N/A,N/A,N/A,Clerical,154675.1,Female,N/A,35,0 +49,Private,Vocational,N/A,Cleaner,N/A,N/A,1,42,0 +36,Private,HSgrad,Divorced,Service,N/A,Female,0,30,0 +19,PSState,Yr12,Absent,Transport,100155.39,Male,0,20,0 +37,N/A,Bachelor,N/A,Executive,15834.6,Male,0,N/A,1 +46,N/A,N/A,Married,N/A,48465.11,Male,0,36,0 +N/A,N/A,HSgrad,Married,Executive,45259.14,Male,N/A,N/A,1 +65,Private,N/A,N/A,N/A,43736.99,Male,N/A,40,1 +45,N/A,College,N/A,Repair,35352.57,Male,0,40,1 +44,Private,HSgrad,N/A,Repair,89285.95,Male,N/A,N/A,0 +N/A,N/A,HSgrad,Married,Clerical,91243.71,Female,0,38,1 +22,Private,College,Absent,Repair,285526.27,Male,0,40,0 +32,PSLocal,HSgrad,Married,Service,N/A,Male,0,41,0 +61,Private,N/A,Married,Machinist,34720.61,Male,0,40,0 +35,Private,N/A,N/A,Executive,41900.16,Male,N/A,60,1 +44,N/A,College,Married,Professional,50153.16,Male,0,40,1 +26,Private,N/A,Absent,Protective,84098.64,Male,0,44,0 +N/A,Private,Bachelor,Married,Professional,35840.09,Male,0,50,0 +N/A,N/A,HSgrad,Married,N/A,33613.77,Male,0,80,1 +57,Private,N/A,Married,Executive,N/A,Female,0,38,0 +45,N/A,N/A,Married,Executive,49376.01,N/A,N/A,60,1 +33,Private,N/A,Married,Executive,32526.41,Male,0,50,1 +34,Private,HSgrad,Divorced,Clerical,193043.03,N/A,0,40,0 +29,Private,College,Married,Repair,14845.09,Male,0,40,1 +44,Private,Bachelor,Married,Executive,33987.25,Male,0,40,1 +21,Private,N/A,Absent,Farming,177077.59,Male,0,20,0 +33,PSState,HSgrad,N/A,Support,10137.31,N/A,0,40,0 +49,Private,Bachelor,Married,Professional,N/A,N/A,0,N/A,0 +N/A,Private,College,Divorced,Clerical,N/A,Female,N/A,N/A,0 +19,Consultant,N/A,Absent,Repair,109743.23,Male,N/A,40,0 +N/A,Private,Yr10,Divorced,N/A,51457.79,Male,N/A,50,0 +70,Private,Yr11,Married,Transport,35483.35,N/A,N/A,40,0 +54,Private,N/A,Divorced,Clerical,N/A,N/A,N/A,N/A,0 +42,Private,HSgrad,Married,Repair,N/A,Male,1,N/A,0 +N/A,N/A,College,N/A,Transport,55497.9,N/A,N/A,20,0 +46,PSFederal,HSgrad,N/A,Clerical,62060.46,Male,N/A,40,0 +N/A,PSLocal,N/A,Married,N/A,29586.54,Male,N/A,40,0 +27,Private,Bachelor,Absent,Support,287243.51,N/A,N/A,N/A,0 +N/A,PSFederal,HSgrad,Divorced,Clerical,287407.11,Female,N/A,40,0 +25,Private,Yr10,N/A,Transport,18646.05,Male,0,40,0 +30,N/A,College,Divorced,Professional,N/A,Female,N/A,40,0 +N/A,N/A,HSgrad,N/A,Farming,19546.74,Male,0,N/A,0 +N/A,Private,N/A,Married,Sales,N/A,Male,0,40,1 +N/A,Private,HSgrad,Absent,N/A,174203.82,N/A,0,42,0 +N/A,Private,Yr9,Married,Executive,26230.68,N/A,0,40,0 +62,N/A,Yr5t6,Married,Farming,45312.74,Male,N/A,40,0 +N/A,Private,College,Married,Service,28079.2,Male,0,40,0 +35,N/A,HSgrad,Married,Repair,N/A,Male,0,35,0 +56,N/A,Professional,Married,N/A,34745.85,Male,0,45,1 +N/A,Private,Master,Married,Professional,61249.9,Male,0,40,1 +30,Consultant,HSgrad,Divorced,Service,285365.67,Female,0,40,0 +44,N/A,N/A,Married,Protective,94124.65,N/A,N/A,40,1 +27,Private,HSgrad,Absent,Sales,N/A,Male,0,N/A,0 +31,Private,HSgrad,Married,Clerical,160377.84,N/A,N/A,N/A,1 +N/A,Private,Master,Married,Executive,34666.62,N/A,0,50,1 +28,Private,Yr11,Married,Executive,42357,N/A,0,50,1 +67,N/A,N/A,Widowed,N/A,99701.35,N/A,N/A,24,0 +28,PSFederal,Bachelor,N/A,N/A,59390.97,Male,0,50,0 +33,N/A,N/A,N/A,N/A,N/A,N/A,N/A,40,0 +20,N/A,College,Absent,Cleaner,N/A,Male,0,40,0 +42,Private,Bachelor,Married,Professional,28766.09,Male,0,N/A,0 +19,Private,College,Absent,N/A,155493.78,Female,0,27,0 +25,N/A,Yr12,Married,Farming,N/A,Male,N/A,60,0 +N/A,N/A,Bachelor,N/A,Professional,115787.94,Male,0,45,0 +59,SelfEmp,N/A,Married,Professional,26498.59,Male,0,40,1 +49,PSFederal,N/A,N/A,Repair,16388.38,N/A,0,N/A,1 +34,Consultant,Bachelor,Married,Repair,16967.77,Male,0,40,0 +N/A,N/A,College,Absent,Sales,N/A,Male,N/A,25,0 +22,N/A,College,N/A,N/A,194054.26,Male,0,N/A,0 +21,PSState,N/A,N/A,N/A,N/A,N/A,0,40,0 +45,PSLocal,HSgrad,Divorced,Service,N/A,N/A,N/A,40,0 +49,SelfEmp,Vocational,N/A,Executive,100800.81,Male,N/A,60,0 +N/A,PSState,HSgrad,N/A,Executive,41771.75,N/A,N/A,40,0 +39,Private,N/A,Married,Executive,53614.87,N/A,0,50,1 +N/A,PSFederal,N/A,N/A,Repair,17748.54,Male,N/A,40,1 +66,Private,N/A,Married,N/A,N/A,N/A,0,45,1 +N/A,Private,N/A,N/A,Service,N/A,Male,0,32,0 +30,Private,Bachelor,Absent,Repair,166349.59,Male,0,10,0 +N/A,Private,HSgrad,N/A,Repair,47316.24,N/A,N/A,40,1 +N/A,N/A,N/A,N/A,Service,N/A,Female,0,20,0 +28,Private,Vocational,Married,Service,79749.71,N/A,N/A,40,0 +58,N/A,N/A,Divorced,Executive,204682.96,Female,0,40,0 +N/A,N/A,HSgrad,N/A,N/A,193492.7,N/A,0,N/A,0 +54,Private,N/A,N/A,Executive,34550.16,Male,0,45,1 +N/A,Consultant,N/A,Married,N/A,126715.93,N/A,0,50,1 +N/A,PSLocal,HSgrad,Married,Machinist,30781.3,Male,0,40,0 +27,Private,Yr5t6,Absent,Farming,110499.57,Male,0,48,0 +N/A,Private,College,N/A,N/A,51634.23,Male,0,60,1 +48,N/A,College,N/A,Sales,26291.84,N/A,0,N/A,1 +23,PSFederal,N/A,Absent,Military,104833.65,Male,0,40,0 +50,N/A,College,Divorced,Repair,5918.22,Male,0,22,0 +N/A,Private,HSgrad,Married,Cleaner,18759.1,N/A,N/A,45,1 +43,Private,HSgrad,N/A,Repair,N/A,Female,N/A,N/A,1 +40,PSLocal,HSgrad,Married,Service,96688.71,Male,N/A,N/A,0 +N/A,Private,N/A,Absent,Service,N/A,Male,0,16,0 +44,Private,College,Married,Sales,50115.03,Male,N/A,N/A,0 +N/A,Private,N/A,N/A,Clerical,N/A,Female,0,N/A,0 +24,Private,N/A,Absent,Machinist,27822.71,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Executive,60899.02,Male,0,48,0 +52,Private,College,N/A,Executive,39134.45,Male,N/A,60,0 +19,Private,College,Absent,Service,61766.53,Female,0,25,0 +29,Private,HSgrad,Absent,Farming,N/A,Male,N/A,50,0 +27,N/A,HSgrad,Married,Service,66816.56,N/A,0,40,0 +49,N/A,N/A,Married,Clerical,27486.02,N/A,0,40,0 +21,N/A,College,Absent,N/A,68020.6,N/A,N/A,30,0 +54,N/A,Yr1t4,Married,Service,51084.22,Male,0,35,0 +N/A,N/A,HSgrad,N/A,N/A,26317.48,Male,N/A,N/A,0 +30,Private,Preschool,N/A,Farming,45892.78,Male,0,N/A,0 +44,PSState,Doctorate,Married,Professional,60894.18,N/A,N/A,40,1 +18,Private,N/A,Absent,Service,157404.51,Female,0,25,0 +N/A,Private,HSgrad,Divorced,N/A,N/A,Female,0,N/A,0 +30,SelfEmp,HSgrad,Married,Repair,50969.27,Male,1,48,1 +37,Private,Bachelor,Absent,Executive,79468.38,Male,0,N/A,1 +33,Private,N/A,Married,N/A,66616.76,Male,0,50,1 +36,Private,HSgrad,Absent,Repair,100171.69,Male,0,65,0 +33,Private,College,N/A,Clerical,110517.33,Female,0,40,0 +33,N/A,N/A,Married,Professional,43867.42,Male,N/A,N/A,1 +37,Consultant,Yr11,Absent,N/A,154025.31,Male,0,37,0 +47,Consultant,Yr11,N/A,Executive,123669.96,Female,N/A,N/A,0 +N/A,Private,HSgrad,N/A,Clerical,36985.48,N/A,0,38,0 +48,PSLocal,HSgrad,Married,N/A,23457.66,Male,0,N/A,1 +23,Private,N/A,Absent,Support,99024.29,Female,0,40,0 +51,PSFederal,Doctorate,Married,Professional,35189.66,Male,0,N/A,1 +42,N/A,HSgrad,Married,Executive,23637.85,Male,0,N/A,0 +37,N/A,Associate,Married,Clerical,N/A,Male,0,N/A,0 +33,Private,Bachelor,Married,Executive,N/A,Male,0,45,1 +N/A,N/A,College,N/A,Professional,66656.23,Female,0,N/A,0 +N/A,Private,N/A,N/A,Executive,76610.29,N/A,0,40,0 +57,PSFederal,College,N/A,Service,52295.23,N/A,0,40,0 +28,Private,HSgrad,N/A,Transport,64633.82,Male,0,N/A,1 +33,Private,HSgrad,Absent,Service,N/A,Male,N/A,40,0 +42,PSState,Associate,Divorced,Professional,N/A,N/A,0,40,0 +22,Private,College,Absent,N/A,65127.04,N/A,N/A,50,0 +33,Private,Master,Married,N/A,44356.81,N/A,0,N/A,0 +41,Private,HSgrad,Married,Repair,59515.36,Male,0,N/A,0 +20,Private,N/A,N/A,Repair,97111.81,Male,N/A,N/A,0 +41,N/A,Bachelor,Married,Professional,45246.6,N/A,0,60,0 +24,PSState,N/A,Absent,Professional,65624.31,Male,N/A,N/A,0 +41,PSFederal,Master,Divorced,Professional,122572.32,N/A,0,40,0 +48,N/A,College,Married,Transport,N/A,N/A,0,45,1 +40,Consultant,N/A,Unmarried,N/A,136067.1,N/A,0,N/A,0 +N/A,N/A,HSgrad,Married,Executive,35210.77,Male,0,40,0 +24,Private,N/A,Absent,N/A,87199.48,Male,0,40,0 +N/A,Private,HSgrad,Divorced,N/A,N/A,N/A,0,N/A,0 +34,Consultant,N/A,Divorced,Clerical,201606.08,Female,0,50,0 +N/A,Private,College,N/A,Clerical,31969.17,N/A,N/A,N/A,1 +25,N/A,College,N/A,N/A,N/A,Male,N/A,40,0 +45,PSState,Master,Married,Professional,N/A,Male,N/A,60,1 +57,N/A,N/A,Widowed,N/A,299857.24,Male,0,52,0 +N/A,Private,HSgrad,Unmarried,Clerical,N/A,Female,0,N/A,0 +45,N/A,College,Married,N/A,N/A,Male,0,N/A,0 +43,Private,Master,Married,N/A,326956.83,N/A,0,32,1 +N/A,Private,College,Absent,Sales,290175.87,Female,N/A,20,0 +46,Private,Vocational,Divorced,Machinist,216606.07,Male,0,40,0 +50,Private,HSgrad,Married,Cleaner,15828.78,Male,0,N/A,0 +26,Private,N/A,Absent,Repair,N/A,Male,N/A,48,0 +56,Private,Master,Married,Professional,44065.89,Male,0,N/A,1 +44,Private,Bachelor,Married,Support,25134.57,Male,N/A,N/A,0 +N/A,N/A,Yr10,Absent,Transport,70018.35,Male,N/A,40,0 +N/A,N/A,N/A,Married,Repair,49315.87,Male,N/A,N/A,0 +20,Private,College,Absent,Clerical,176057.51,N/A,0,35,0 +55,Private,N/A,Divorced,Clerical,53682.58,Female,0,N/A,0 +35,N/A,HSgrad,Divorced,N/A,N/A,Female,0,48,0 +42,PSLocal,N/A,N/A,Cleaner,N/A,N/A,0,40,1 +48,Consultant,College,Married,N/A,N/A,Male,0,40,1 +N/A,PSState,HSgrad,Divorced,N/A,67000.93,Male,N/A,40,1 +26,Private,Yr7t8,N/A,Cleaner,320098.1,Male,0,40,0 +17,Private,N/A,N/A,Repair,152721.29,Male,0,40,0 +N/A,N/A,N/A,Married,Support,32743.27,Male,0,38,1 +32,Private,HSgrad,Married,N/A,31291.31,Female,N/A,N/A,0 +49,PSState,N/A,Married,Professional,22596.58,Male,N/A,40,1 +26,Private,College,Married,Support,64051.32,Male,0,40,1 +21,Private,HSgrad,Absent,N/A,107175.8,Male,0,40,0 +55,PSFederal,Master,Married,Executive,51108.26,Male,N/A,N/A,1 +24,Private,HSgrad,N/A,Machinist,219602.18,Female,0,40,0 +32,Private,Yr9,Married,Transport,N/A,Male,N/A,50,0 +39,Private,Bachelor,Married,Professional,N/A,Female,0,32,1 +46,N/A,Bachelor,Absent,N/A,73276.12,Male,1,40,0 +44,Private,Yr7t8,Divorced,Cleaner,80946.05,Male,N/A,48,0 +47,Private,Bachelor,N/A,Executive,14774.29,Male,1,N/A,1 +49,Private,N/A,Married,N/A,28082.43,Male,0,N/A,0 +45,Private,N/A,Unmarried,Service,125594.01,N/A,N/A,40,0 +47,PSLocal,College,Married,N/A,N/A,Male,1,40,1 +29,Private,Yr10,N/A,Machinist,109341.58,N/A,0,N/A,0 +56,PSLocal,College,Widowed,Clerical,91953.88,Female,N/A,40,0 +33,Private,Master,Absent,Professional,106946.9,Female,0,N/A,0 +N/A,Private,Associate,N/A,Clerical,324427.42,Female,0,N/A,0 +42,N/A,Bachelor,Absent,Executive,N/A,Male,0,55,1 +N/A,Private,Vocational,Divorced,Executive,248376.07,N/A,0,45,0 +23,N/A,Bachelor,Absent,Clerical,39308.66,Female,0,N/A,0 +N/A,Private,HSgrad,N/A,Sales,218259.97,N/A,N/A,35,0 +51,PSLocal,N/A,N/A,N/A,274195.24,N/A,0,52,0 +59,N/A,College,Married,Protective,N/A,Male,N/A,N/A,0 +40,PSState,Bachelor,N/A,N/A,45738.2,Female,0,20,0 +44,Private,College,Married,Clerical,411783.25,Female,1,6,1 +30,PSFederal,Bachelor,Absent,Clerical,14717.12,Female,0,35,0 +N/A,Private,Bachelor,N/A,Executive,37328.8,Female,0,40,0 +34,N/A,N/A,N/A,Professional,19430.06,Male,N/A,N/A,1 +36,Private,N/A,Divorced,Machinist,N/A,Male,N/A,40,0 +31,Private,N/A,N/A,Professional,186734,Male,0,25,0 +N/A,Private,N/A,Unmarried,N/A,27040.44,Female,0,50,1 +22,Private,Yr10,Married,Machinist,37129.41,Female,0,40,0 +44,SelfEmp,N/A,Married,N/A,26368.58,N/A,0,N/A,0 +51,Private,N/A,Divorced,Service,N/A,Female,N/A,40,0 +25,Consultant,HSgrad,Absent,Farming,N/A,Male,0,N/A,0 +28,N/A,College,Married,Executive,N/A,N/A,N/A,40,0 +46,PSFederal,Bachelor,Divorced,Professional,79516.72,Male,0,40,0 +32,Private,Yr11,Absent,Service,108352.29,N/A,0,40,0 +22,Private,Vocational,Absent,Professional,N/A,Female,0,35,0 +N/A,N/A,College,N/A,N/A,281632.06,N/A,0,35,0 +51,Private,HSgrad,N/A,N/A,6254.08,N/A,0,40,0 +N/A,Private,N/A,Absent,N/A,53839.35,N/A,0,N/A,0 +31,Private,N/A,Unmarried,N/A,54136.12,Female,0,50,0 +27,Private,N/A,N/A,Repair,158854.09,Male,N/A,40,0 +47,Consultant,Bachelor,Absent,Executive,45235.56,N/A,N/A,N/A,1 +N/A,Private,N/A,N/A,N/A,N/A,Male,N/A,N/A,0 +45,Private,Bachelor,Married,Executive,27440.92,Male,0,32,0 +63,Private,N/A,Married,Professional,255158.97,Female,0,12,0 +41,N/A,Master,Divorced,Sales,266799.71,N/A,0,N/A,1 +68,N/A,Master,Married,Executive,7615.01,Male,1,N/A,1 +N/A,Private,HSgrad,Absent,Service,187376.57,Male,N/A,N/A,0 +N/A,PSFederal,HSgrad,Married,Executive,30247.86,N/A,0,N/A,1 +N/A,Private,College,Absent,N/A,84172.5,N/A,N/A,15,0 +37,Private,HSgrad,Divorced,Repair,88184.56,Male,N/A,40,1 +47,PSLocal,College,N/A,N/A,44977.52,Male,N/A,45,0 +34,SelfEmp,HSgrad,N/A,N/A,80118.68,Male,N/A,55,0 +N/A,Private,N/A,Married,Repair,31613.91,Male,0,45,1 +33,Private,HSgrad,Absent,Clerical,45945.08,Male,0,35,0 +21,Private,College,N/A,Service,N/A,Male,0,25,0 +47,N/A,N/A,Married,Clerical,27878.89,Male,0,45,0 +39,N/A,Bachelor,Divorced,Clerical,110807.71,Male,N/A,40,0 +17,Private,N/A,N/A,N/A,186407.12,Female,N/A,20,0 +30,Private,HSgrad,N/A,Service,89889.54,Female,N/A,40,0 +46,Private,N/A,Divorced,N/A,222602.99,N/A,0,40,0 +N/A,Private,HSgrad,N/A,Executive,30387.96,Male,1,40,1 +N/A,PSLocal,Master,Married,N/A,40390.4,Male,0,40,1 +21,Private,Yr10,Married,Service,N/A,Male,N/A,25,0 +N/A,Private,N/A,Married,Professional,N/A,N/A,0,40,1 +19,N/A,College,Absent,Sales,262216.35,N/A,0,35,0 +25,Private,College,Absent,Service,87891.89,Female,N/A,25,0 +17,Private,Yr11,Absent,Professional,69450.11,N/A,0,N/A,0 +40,Consultant,College,Married,Professional,19246.93,Male,0,20,0 +17,Private,Yr11,N/A,Sales,123234.32,Female,0,18,0 +43,Private,Bachelor,Married,N/A,44396.52,Male,0,45,1 +41,N/A,Bachelor,Absent,Professional,79574.26,Female,N/A,40,0 +N/A,Private,College,Married,Repair,7523.49,N/A,N/A,45,0 +27,Private,HSgrad,Married,N/A,33482.58,N/A,0,40,0 +42,N/A,Bachelor,N/A,Clerical,122454.68,Male,0,40,0 +58,Consultant,Bachelor,Married,Executive,N/A,N/A,0,N/A,1 +18,PSState,College,Absent,Clerical,N/A,N/A,N/A,10,0 +31,Private,HSgrad,Married,N/A,24317.92,Male,0,40,1 +35,Private,Yr7t8,N/A,Machinist,33288.27,Male,0,40,0 +N/A,Private,Bachelor,Absent,Clerical,N/A,Female,0,60,0 +21,N/A,N/A,Absent,N/A,181792.59,Male,0,40,0 +57,Private,College,Married,Repair,32196.18,Male,1,45,0 +28,Private,College,Absent,Service,120733.61,N/A,0,35,0 +50,PSLocal,College,Married,N/A,37962.18,Male,0,52,1 +32,N/A,HSgrad,Married,Machinist,15164.11,N/A,N/A,40,0 +29,N/A,Vocational,Married,N/A,51829.17,N/A,N/A,N/A,1 +52,SelfEmp,Professional,Married,Executive,N/A,N/A,0,40,0 +22,Private,N/A,Absent,Sales,37698.03,Male,0,N/A,0 +21,Private,N/A,Absent,Cleaner,178244.47,Male,0,45,0 +26,PSLocal,N/A,Married,Protective,65467.15,Male,N/A,40,1 +18,N/A,HSgrad,Absent,Sales,N/A,Female,0,25,0 +N/A,SelfEmp,Bachelor,N/A,Sales,48440.5,N/A,N/A,N/A,0 +N/A,Private,HSgrad,Unmarried,Clerical,N/A,N/A,0,40,0 +18,PSLocal,Yr11,Absent,Clerical,52620.88,N/A,N/A,25,0 +58,Consultant,N/A,Married,Farming,29092.74,N/A,0,35,0 +33,N/A,N/A,Married,Transport,N/A,Male,0,40,0 +54,N/A,N/A,Divorced,Transport,N/A,Male,0,45,0 +N/A,N/A,Bachelor,Absent,Professional,236243.16,Female,0,40,0 +N/A,Consultant,N/A,Married,N/A,29214.04,N/A,0,60,1 +N/A,Private,College,Absent,Sales,80133.84,N/A,0,37,0 +28,Private,College,Absent,Machinist,N/A,Male,0,42,0 +32,Private,HSgrad,Married,N/A,25421.23,Male,N/A,49,0 +28,Private,N/A,Absent,Repair,N/A,Male,0,N/A,0 +32,PSLocal,Master,Absent,N/A,42738.27,Female,0,40,0 +N/A,N/A,College,Absent,Repair,237399.45,N/A,0,40,0 +34,Private,N/A,N/A,N/A,74884.8,Female,0,35,0 +39,N/A,Associate,Absent,Executive,N/A,N/A,0,42,0 +28,N/A,College,Absent,Machinist,53602.12,N/A,0,N/A,0 +43,Consultant,HSgrad,Married,Executive,41057.13,Male,0,35,1 +N/A,N/A,Bachelor,N/A,Executive,41640.76,Male,0,40,0 +N/A,SelfEmp,Bachelor,Married,Sales,26814.36,N/A,0,52,1 +N/A,N/A,College,Married,Executive,30136.22,Male,0,40,1 +67,Private,HSgrad,Married,Cleaner,20795.19,Male,N/A,24,0 +41,Private,College,Married,Repair,44047.47,Male,0,N/A,0 +47,Consultant,HSgrad,Married,Farming,N/A,Male,N/A,60,0 +67,PSState,Yr7t8,Married,Transport,22444.12,Male,0,N/A,0 +N/A,Private,HSgrad,Divorced,Clerical,67762.49,Female,0,40,0 +59,Private,Yr11,Divorced,Service,N/A,Female,0,35,0 +50,N/A,Master,Married,Executive,21877.61,N/A,0,45,1 +25,Private,Bachelor,Absent,Professional,42731.95,Female,0,30,0 +38,SelfEmp,N/A,N/A,Executive,N/A,Male,0,80,1 +42,N/A,N/A,Divorced,Repair,N/A,Male,0,45,0 +38,N/A,Bachelor,Married,Sales,N/A,Male,0,70,1 +N/A,Private,College,Married,Repair,N/A,N/A,N/A,40,0 +55,Private,N/A,Divorced,Machinist,166688.97,Male,0,N/A,0 +63,Private,N/A,Married,N/A,64783.02,Male,0,40,0 +46,Private,HSgrad,Divorced,Clerical,104290.58,Female,0,40,0 +49,PSState,College,Married,N/A,63313.46,Male,0,40,1 +38,Consultant,Bachelor,Married,Service,N/A,Male,0,10,0 +51,Private,N/A,Divorced,Executive,129293.56,Female,0,36,0 +27,Private,College,Divorced,N/A,138057.33,Female,0,36,0 +N/A,Private,Bachelor,Absent,N/A,70124.79,N/A,0,N/A,0 +27,Private,HSgrad,Absent,Service,76028.48,Female,N/A,30,0 +N/A,Private,HSgrad,Widowed,Clerical,N/A,Female,0,40,1 +26,Private,College,Absent,Service,208069.61,Male,0,N/A,0 +N/A,SelfEmp,N/A,Absent,Transport,N/A,Male,0,50,0 +N/A,Private,N/A,Absent,Clerical,139318.3,N/A,0,30,0 +41,Private,College,N/A,Repair,14830.56,Male,0,40,0 +40,N/A,N/A,N/A,Sales,N/A,Male,0,N/A,1 +49,N/A,HSgrad,Divorced,Service,N/A,Female,0,40,0 +29,Consultant,HSgrad,N/A,N/A,65563.06,Male,0,40,0 +28,Private,HSgrad,Absent,Executive,92214.5,Female,N/A,N/A,0 +29,Private,HSgrad,Absent,Farming,N/A,Male,0,30,0 +55,N/A,Bachelor,Divorced,Professional,N/A,Female,0,40,1 +38,Private,Bachelor,Married,Machinist,57242.66,Male,0,40,0 +N/A,Private,HSgrad,Married,Repair,35710.59,N/A,0,48,0 +38,Private,N/A,Unmarried,N/A,92373.12,Male,1,N/A,0 +46,N/A,Master,Married,Professional,22079.26,N/A,0,60,0 +26,Private,N/A,N/A,N/A,143592.32,N/A,0,40,0 +30,N/A,HSgrad,Absent,Clerical,N/A,N/A,0,40,0 +39,Private,College,Married,N/A,30240.16,Male,N/A,50,0 +23,Private,Bachelor,Absent,Professional,84181.82,Female,0,25,0 +26,Private,N/A,Absent,Clerical,N/A,N/A,0,N/A,0 +44,SelfEmp,HSgrad,Married,Farming,25034.02,Male,0,60,0 +N/A,Private,Yr11,Absent,N/A,208699.78,Female,0,25,0 +N/A,PSLocal,Bachelor,N/A,Protective,50436.31,Male,0,N/A,1 +N/A,Private,College,Absent,Professional,78077.34,Male,0,45,0 +26,N/A,HSgrad,N/A,Sales,N/A,N/A,N/A,50,1 +33,N/A,N/A,Married,Transport,49145.19,Male,0,41,0 +24,Private,N/A,Absent,Repair,N/A,Male,0,40,0 +N/A,Private,N/A,Absent,N/A,144232.11,Female,0,19,0 +41,Private,College,Absent,Repair,81531.13,Male,1,40,0 +N/A,N/A,Master,Married,Executive,20400.44,Male,N/A,40,1 +47,Private,Bachelor,N/A,N/A,33212.24,N/A,0,50,1 +N/A,Consultant,N/A,Married,Farming,35063.55,Male,0,70,1 +45,Private,N/A,Divorced,N/A,139372.43,Female,0,N/A,0 +N/A,SelfEmp,Yr10,Married,Sales,N/A,Male,0,N/A,0 +N/A,Private,Yr7t8,Married,Machinist,N/A,Female,0,N/A,0 +27,N/A,N/A,Absent,Protective,131137.04,Male,0,40,0 +41,Private,N/A,Married,Professional,26979.5,Male,0,45,1 +51,Private,HSgrad,N/A,Transport,40723.57,Male,0,40,0 +38,Consultant,Yr7t8,Married,Sales,N/A,Male,0,40,0 +23,Private,N/A,Absent,Service,151272.95,Male,0,40,0 +29,Private,College,Absent,Cleaner,54552.07,Male,0,N/A,0 +N/A,N/A,Yr10,Divorced,N/A,N/A,Male,0,20,0 +22,N/A,College,Absent,N/A,6457.27,N/A,0,40,0 +N/A,Private,N/A,Absent,Service,104047.17,N/A,N/A,30,0 +35,N/A,Bachelor,Married,N/A,N/A,Male,0,N/A,0 +24,N/A,N/A,N/A,Service,139747.38,Male,0,30,0 +24,Private,College,Absent,Cleaner,236105.65,Male,0,30,0 +24,N/A,N/A,Absent,N/A,199405.44,Male,N/A,40,0 +19,Private,HSgrad,Absent,Service,64057.01,N/A,0,N/A,0 +53,Private,Yr12,N/A,N/A,90234.74,N/A,N/A,40,0 +N/A,Private,College,N/A,Sales,N/A,Female,0,N/A,0 +N/A,Private,N/A,Widowed,Support,N/A,Female,N/A,18,0 +22,N/A,HSgrad,N/A,Clerical,142682.71,N/A,0,N/A,0 +N/A,Private,Professional,Absent,N/A,113236.64,Female,0,40,0 +49,Private,HSgrad,Married,Farming,28246.82,Male,N/A,25,0 +48,Private,College,Unmarried,Sales,N/A,Female,0,35,0 +39,SelfEmp,HSgrad,Divorced,Repair,69184.43,Male,0,N/A,0 +N/A,N/A,Bachelor,Absent,Professional,78180.06,N/A,0,50,0 +N/A,N/A,N/A,Married,Repair,N/A,Male,N/A,45,0 +40,Private,HSgrad,Divorced,Clerical,181816.26,N/A,0,38,0 +23,N/A,College,Absent,Service,138686.32,Female,N/A,25,0 +32,Private,College,Married,Machinist,50724.41,Male,0,40,0 +30,N/A,Bachelor,Married,Sales,34798.57,Male,N/A,40,0 +17,Private,Yr11,Absent,Sales,N/A,N/A,0,40,0 +39,Private,N/A,Married,Service,271169.59,N/A,0,15,0 +30,Private,Vocational,Divorced,Clerical,N/A,Female,N/A,N/A,0 +N/A,Private,N/A,Divorced,Service,30741.98,N/A,0,40,0 +34,Private,N/A,Married,Executive,63952.56,Male,0,55,1 +N/A,Private,N/A,N/A,Support,17770.94,Male,N/A,N/A,1 +70,Consultant,N/A,N/A,N/A,6642.99,Male,N/A,8,1 +N/A,Private,N/A,Absent,N/A,N/A,N/A,N/A,N/A,0 +25,Private,Bachelor,Absent,Sales,79994.06,Male,N/A,N/A,0 +38,Private,Bachelor,Married,Professional,27677.84,Male,N/A,N/A,1 +61,Private,N/A,Married,Clerical,N/A,Male,0,3,0 +18,N/A,Yr11,N/A,Sales,N/A,Female,N/A,30,0 +38,Private,N/A,N/A,Service,N/A,Female,N/A,60,0 +N/A,N/A,Bachelor,Married,Service,31145.28,N/A,0,40,0 +N/A,PSFederal,Associate,Married,Clerical,N/A,N/A,0,40,1 +36,Private,N/A,Absent,Clerical,N/A,N/A,0,N/A,0 +N/A,Private,HSgrad,Absent,Cleaner,146282.46,Male,0,38,0 +29,N/A,N/A,N/A,Support,N/A,Male,N/A,40,0 +20,Private,N/A,Absent,Professional,141235.48,Female,0,15,0 +36,PSFederal,N/A,Married,Clerical,N/A,Male,0,40,0 +N/A,Private,College,Married,Professional,39876.3,Male,0,45,0 +31,PSFederal,N/A,N/A,Support,104913.34,Male,0,40,0 +45,Consultant,N/A,Absent,Sales,47118.62,Male,N/A,N/A,0 +59,N/A,HSgrad,N/A,N/A,149446.38,Female,0,40,0 +22,N/A,College,N/A,Clerical,137941.07,N/A,0,25,0 +N/A,N/A,N/A,Married,N/A,45933.25,Male,0,70,0 +34,N/A,Bachelor,Married,N/A,46006.17,N/A,0,40,1 +18,Private,College,N/A,Sales,142608.4,Female,N/A,35,0 +27,Private,Vocational,N/A,Sales,31081.8,Female,0,N/A,0 +69,Consultant,Yr7t8,Absent,Farming,174177.99,Male,N/A,10,0 +29,Private,HSgrad,Married,Repair,25774.62,Male,0,N/A,0 +N/A,N/A,N/A,Married,N/A,24932.3,Male,0,N/A,1 +46,Private,Bachelor,Absent,N/A,N/A,N/A,0,40,0 +38,Consultant,HSgrad,Married,Repair,19394.14,Male,0,N/A,0 +23,Private,N/A,Absent,Sales,199505.89,Male,N/A,25,0 +54,Private,Yr11,Married,Service,148034.34,N/A,N/A,40,1 +45,Consultant,Bachelor,Married,Sales,N/A,Male,0,40,1 +43,Consultant,N/A,Married,Repair,33763.1,Male,N/A,40,1 +27,Private,HSgrad,Married,N/A,31663.72,Male,0,40,0 +46,N/A,College,Married,Clerical,291625.9,N/A,N/A,40,1 +20,SelfEmp,N/A,Absent,N/A,36037.58,Female,0,30,0 +22,Consultant,Bachelor,N/A,Professional,N/A,Male,0,20,0 +50,SelfEmp,Doctorate,N/A,Professional,32009.01,Male,0,60,1 +N/A,Private,HSgrad,Married,Machinist,24877.03,Male,0,60,0 +N/A,N/A,Master,Absent,Professional,N/A,N/A,0,35,0 +N/A,Private,HSgrad,Married,Transport,N/A,Male,0,60,0 +29,Private,HSgrad,Married,Machinist,29511.31,Male,0,50,0 +51,Private,Bachelor,Divorced,Executive,99435.1,N/A,N/A,50,0 +28,PSLocal,N/A,Married,Protective,39495.41,N/A,0,42,1 +59,N/A,N/A,Married,N/A,30614.87,Male,0,40,0 +18,Private,HSgrad,Absent,Cleaner,N/A,Male,N/A,40,0 +42,N/A,Yr10,Married,N/A,54238.97,Male,N/A,50,0 +39,Private,N/A,Married,Sales,36839.34,Male,0,N/A,1 +N/A,Private,HSgrad,Absent,Repair,65928.98,Male,N/A,40,0 +N/A,Consultant,N/A,N/A,N/A,N/A,Male,0,70,1 +N/A,Private,HSgrad,Married,Executive,61082.19,Male,0,N/A,1 +18,Private,N/A,Absent,Sales,98383.87,Male,0,18,0 +40,Private,Bachelor,Married,N/A,N/A,Female,0,40,0 +24,Private,N/A,N/A,Machinist,26120.47,Male,0,40,0 +18,Private,HSgrad,Absent,Sales,174654.15,Female,N/A,25,0 +36,N/A,N/A,Absent,N/A,194147.03,Female,0,N/A,0 +43,Private,Vocational,Married,Repair,24511.78,Male,N/A,N/A,0 +47,Private,Vocational,Married,N/A,N/A,Male,0,26,0 +N/A,PSLocal,Associate,Married,Professional,N/A,N/A,0,48,0 +53,N/A,College,Absent,N/A,76997.19,Female,0,40,0 +26,N/A,HSgrad,Absent,N/A,115213.1,Male,N/A,40,0 +44,N/A,College,Divorced,Executive,68879.14,Female,0,40,0 +29,Private,N/A,Married,Machinist,210653.92,Female,N/A,N/A,0 +N/A,Private,Bachelor,Absent,Support,N/A,Female,1,35,0 +N/A,Consultant,Yr5t6,Married,Transport,N/A,N/A,0,20,0 +27,Private,N/A,Married,N/A,16442.12,Male,N/A,45,0 +54,Private,Bachelor,Divorced,N/A,N/A,Male,N/A,40,0 +31,Private,N/A,Married,N/A,19547.6,Male,0,N/A,1 +49,PSFederal,N/A,Married,N/A,36021.23,Male,0,40,0 +57,Consultant,HSgrad,N/A,Service,28827.9,N/A,0,60,0 +81,Consultant,HSgrad,Married,Executive,34614.18,Male,0,N/A,0 +37,Private,Bachelor,N/A,Service,39308.87,Male,0,70,0 +34,PSLocal,N/A,Married,Repair,N/A,Male,1,N/A,0 +34,Consultant,Associate,Married,Professional,354356.88,N/A,0,25,1 +32,Private,College,Absent,Machinist,65824.46,Male,0,55,0 +31,Private,College,Absent,N/A,124130.16,N/A,N/A,N/A,0 +41,N/A,Master,N/A,Executive,N/A,Male,1,N/A,1 +21,Private,N/A,Absent,Cleaner,243862.28,N/A,0,36,0 +19,Private,HSgrad,Absent,Clerical,151313.3,Female,0,N/A,0 +39,Private,Yr11,N/A,N/A,38183.12,Male,0,35,0 +41,N/A,Bachelor,Divorced,N/A,140899.75,Male,0,40,0 +61,Private,College,Absent,Support,203401.76,Male,0,N/A,0 +41,Private,HSgrad,Unmarried,Repair,77925.68,Male,N/A,N/A,0 +28,PSFederal,Bachelor,N/A,N/A,95210.3,Male,0,40,0 +41,Private,N/A,N/A,Service,32964.61,Male,N/A,N/A,0 +N/A,Private,Bachelor,Divorced,Professional,80894.68,Male,0,40,0 +N/A,Private,College,Absent,Cleaner,N/A,Male,0,N/A,0 +54,Private,N/A,Married,Machinist,45751.88,Male,0,N/A,0 +18,Private,Yr12,Absent,Cleaner,90012.47,Male,0,18,0 +30,Private,N/A,Absent,Machinist,N/A,N/A,0,44,0 +60,Private,Yr7t8,Married,N/A,N/A,Female,N/A,40,0 +32,Private,Master,Married,N/A,61766.3,Male,0,55,1 +54,Private,Vocational,Married,Protective,5301.23,Male,N/A,38,1 +53,Private,N/A,N/A,N/A,252025.95,Female,0,35,0 +N/A,Private,Yr7t8,N/A,Clerical,45542.3,Male,0,40,0 +34,N/A,HSgrad,Absent,Protective,28364,Male,0,N/A,0 +N/A,Private,College,Absent,Service,80795.43,Female,N/A,30,0 +18,Private,Yr12,Absent,Clerical,34914.62,Female,N/A,30,0 +41,PSState,Master,Absent,Professional,N/A,Female,0,35,0 +21,Private,College,N/A,Clerical,164901.74,Male,0,40,0 +20,PSState,College,Absent,Clerical,143458.2,N/A,N/A,40,0 +N/A,N/A,HSgrad,N/A,Farming,N/A,N/A,0,45,0 +42,N/A,Associate,Married,Executive,28449.38,Male,N/A,N/A,1 +N/A,Private,HSgrad,N/A,Professional,N/A,N/A,0,40,0 +39,Private,N/A,N/A,N/A,28472.93,Male,0,N/A,0 +35,N/A,HSgrad,Unmarried,Transport,57337.88,Male,0,N/A,0 +18,Private,HSgrad,Absent,N/A,233575.14,N/A,0,N/A,0 +N/A,N/A,N/A,Married,Repair,N/A,Male,N/A,40,1 +38,PSState,Master,N/A,Clerical,68740.66,N/A,0,40,0 +N/A,N/A,HSgrad,N/A,Service,114444.64,Male,0,40,0 +N/A,N/A,College,N/A,Protective,N/A,N/A,0,8,0 +55,N/A,College,Married,Protective,56010.67,Male,N/A,40,1 +N/A,Private,N/A,Married,N/A,56339.72,Male,0,50,0 +48,Private,HSgrad,Married,Transport,42018.75,N/A,0,N/A,0 +61,Private,HSgrad,Widowed,N/A,70465.25,Female,0,N/A,0 +48,Private,Yr11,N/A,Service,N/A,Female,0,31,0 +23,Consultant,HSgrad,Absent,Transport,N/A,Male,0,N/A,0 +26,N/A,N/A,N/A,Machinist,N/A,Male,0,40,0 +32,N/A,N/A,N/A,Cleaner,132792.04,Female,0,45,0 +N/A,Private,HSgrad,Unmarried,Service,267843.59,Female,0,25,0 +N/A,PSState,N/A,Married,Executive,17357.59,Male,0,N/A,1 +45,N/A,Master,Absent,N/A,54304.38,Female,0,N/A,0 +29,N/A,N/A,N/A,N/A,112370.96,N/A,N/A,40,0 +26,N/A,HSgrad,N/A,Clerical,42159.58,N/A,N/A,40,0 +43,N/A,HSgrad,N/A,N/A,N/A,Male,0,60,0 +37,Private,N/A,N/A,Machinist,122630.3,Female,0,32,0 +39,N/A,N/A,N/A,Professional,N/A,Male,N/A,N/A,1 +30,Private,HSgrad,Married,Transport,51135.68,Male,N/A,N/A,0 +42,N/A,N/A,Absent,Sales,34061.72,N/A,0,50,1 +59,Private,N/A,Married,N/A,N/A,N/A,0,40,0 +35,SelfEmp,HSgrad,Married,N/A,N/A,Male,0,60,0 +46,Private,Bachelor,Married,Executive,20933.41,Male,1,50,1 +20,Private,College,Absent,N/A,139851.93,Female,0,20,0 +58,Private,College,Married,Sales,34827.24,Male,1,40,1 +N/A,N/A,College,Absent,Cleaner,N/A,Male,N/A,N/A,0 +25,N/A,N/A,Absent,Clerical,40121.65,Male,N/A,40,0 +33,Private,HSgrad,N/A,N/A,N/A,Male,0,40,0 +23,Private,Bachelor,Absent,Professional,70436.56,Male,N/A,40,0 +27,Private,HSgrad,Married,Repair,19421.23,N/A,0,40,0 +38,PSLocal,College,Divorced,Executive,77851.75,Female,0,45,0 +53,Private,Yr9,Divorced,N/A,N/A,Female,0,36,0 +N/A,Private,Bachelor,Absent,N/A,82791.04,Female,1,40,0 +N/A,Private,Yr9,Married,Service,6469.39,N/A,0,N/A,0 +17,SelfEmp,N/A,Absent,Repair,N/A,Male,0,40,0 +51,Private,College,Married,N/A,70373.5,Male,0,40,1 +56,PSFederal,N/A,Unmarried,Service,N/A,Male,0,40,0 +N/A,N/A,N/A,Married,Service,261593.85,Female,0,40,0 +25,N/A,College,Absent,Repair,71150.2,Male,N/A,N/A,0 +32,Private,Preschool,Married,Machinist,N/A,Male,0,N/A,0 +N/A,Private,N/A,N/A,Sales,38306.26,N/A,0,44,1 +21,Private,HSgrad,Absent,N/A,118942.87,Male,0,N/A,0 +47,Private,Bachelor,N/A,Executive,40638.29,Male,0,44,1 +61,Consultant,HSgrad,N/A,Service,81250.19,Female,0,40,0 +59,Private,Bachelor,Married,Executive,N/A,Male,1,50,1 +N/A,N/A,HSgrad,N/A,Transport,175176.75,Male,N/A,40,0 +N/A,Private,College,Absent,Executive,72222.2,Female,N/A,35,0 +N/A,Private,N/A,Absent,Professional,260192.76,Male,0,50,0 +37,Private,HSgrad,N/A,Sales,62936.81,Male,N/A,44,0 +26,Private,Bachelor,N/A,Executive,253612.7,Female,0,45,1 +56,Consultant,HSgrad,Married,N/A,48466.38,N/A,0,55,0 +39,Private,N/A,Unmarried,Clerical,240251.41,Female,0,N/A,0 +N/A,Consultant,HSgrad,Married,Farming,66292.07,N/A,0,70,1 +47,PSState,College,Married,Repair,N/A,Male,0,N/A,1 +N/A,Private,Vocational,Absent,N/A,103966.05,Male,N/A,40,0 +32,Private,College,Divorced,Executive,143377.9,Female,N/A,42,0 +28,Private,HSgrad,N/A,Machinist,52831.47,N/A,0,N/A,0 +26,Private,College,Married,N/A,N/A,N/A,0,35,0 +28,Private,Bachelor,Absent,Clerical,N/A,Female,0,30,0 +46,N/A,HSgrad,Divorced,Clerical,N/A,N/A,0,40,0 +24,N/A,HSgrad,Absent,Farming,N/A,Male,N/A,N/A,0 +20,Private,N/A,Absent,Machinist,254079.71,Male,0,N/A,0 +N/A,N/A,Vocational,Absent,Support,56311.93,Male,0,40,0 +N/A,Private,N/A,Absent,Clerical,130201.98,N/A,N/A,N/A,0 +29,Private,HSgrad,Married,Transport,132856.27,Male,0,40,0 +23,PSFederal,Associate,N/A,Executive,152543.64,N/A,0,40,0 +44,Consultant,HSgrad,N/A,Transport,100000.66,Male,N/A,N/A,0 +42,Private,N/A,N/A,Machinist,94864.3,N/A,N/A,45,0 +38,Consultant,College,N/A,N/A,69478.37,N/A,N/A,40,0 +N/A,Private,Bachelor,Married,Transport,21281.7,Male,0,40,0 +18,Private,College,N/A,Service,112692.93,Female,0,N/A,0 +22,N/A,N/A,Absent,Clerical,184332.59,N/A,0,22,0 +23,Private,N/A,Absent,Sales,67374.54,Male,N/A,40,0 +53,N/A,Bachelor,Married,Professional,N/A,Male,0,52,1 +47,Private,HSgrad,Married,Repair,19109.03,Male,N/A,40,1 +N/A,N/A,HSgrad,Married,Transport,N/A,Male,0,N/A,1 +64,Private,Doctorate,Married,Professional,N/A,N/A,0,N/A,1 +33,Consultant,HSgrad,Married,Repair,29177.56,Male,0,40,0 +37,Private,N/A,Married,Professional,N/A,Male,N/A,50,1 +33,Private,Yr7t8,Absent,Sales,59588.77,Male,0,N/A,0 +35,N/A,HSgrad,Married,Sales,N/A,Male,0,50,0 +35,N/A,N/A,N/A,Clerical,131926.03,Female,N/A,N/A,0 +N/A,N/A,HSgrad,Absent,N/A,40068.93,Male,0,N/A,0 +52,N/A,N/A,N/A,N/A,N/A,Male,0,60,0 +N/A,Private,HSgrad,N/A,Executive,137081.84,N/A,0,N/A,0 +N/A,N/A,N/A,Divorced,N/A,26974.36,Male,0,40,0 +56,Private,HSgrad,Married,N/A,35286.3,Male,0,44,1 +21,N/A,N/A,Absent,N/A,63338.33,Male,0,N/A,0 +33,Private,N/A,N/A,N/A,41124.17,Male,0,N/A,0 +42,N/A,Bachelor,Married,Executive,63215.29,Male,1,60,1 +N/A,Private,HSgrad,N/A,Executive,56002.4,Male,0,40,0 +24,Private,HSgrad,Divorced,Machinist,110008.09,Male,0,40,0 +N/A,Private,HSgrad,Absent,Service,N/A,N/A,0,N/A,0 +31,Private,Yr12,Absent,Sales,N/A,N/A,0,50,0 +25,N/A,HSgrad,Unmarried,Repair,150471.56,Male,0,40,0 +47,N/A,N/A,Widowed,Professional,N/A,Female,0,N/A,0 +47,Private,N/A,Married,N/A,14925.85,Male,0,40,0 +33,Private,Bachelor,Unmarried,Professional,72762.3,Female,N/A,40,0 +39,Private,HSgrad,Married,Clerical,N/A,Female,0,40,1 +43,Consultant,Vocational,Divorced,N/A,100084.83,Male,0,25,0 +35,Private,N/A,N/A,Executive,40415.76,Male,0,50,1 +N/A,Private,College,Married,N/A,21246.65,N/A,0,50,1 +55,PSLocal,Master,N/A,Professional,N/A,Female,0,45,0 +N/A,Private,Yr10,Absent,Service,233409.77,Male,N/A,N/A,0 +27,N/A,HSgrad,Married,Machinist,N/A,Male,0,50,1 +55,N/A,N/A,Divorced,N/A,N/A,N/A,0,20,0 +28,N/A,Bachelor,Absent,Service,N/A,N/A,0,50,0 +N/A,Private,Bachelor,N/A,Executive,110297.69,Female,0,40,0 +37,Private,Bachelor,N/A,Support,210851.71,Female,0,40,1 +N/A,PSState,Bachelor,Divorced,Executive,N/A,Female,0,40,0 +31,SelfEmp,HSgrad,Absent,N/A,16438.72,Male,N/A,44,0 +N/A,Private,Vocational,Widowed,Repair,23892.12,Female,0,30,0 +43,N/A,Master,Widowed,Professional,19841.6,Female,0,37,0 +N/A,Private,College,N/A,N/A,N/A,Female,0,40,0 +33,Private,HSgrad,Divorced,Clerical,N/A,N/A,N/A,40,0 +64,PSFederal,Associate,Unmarried,Professional,53105.64,Female,0,40,1 +24,Private,College,Absent,N/A,N/A,N/A,N/A,45,0 +25,Private,Bachelor,Absent,N/A,25238.23,N/A,0,N/A,0 +42,Private,N/A,Married,Repair,22883.66,N/A,0,N/A,1 +21,PSState,College,Absent,Executive,103450.75,Male,0,N/A,0 +36,Private,HSgrad,Divorced,Executive,121314.79,Female,N/A,40,0 +N/A,N/A,N/A,Absent,N/A,182471.48,Male,0,N/A,0 +46,Consultant,HSgrad,Married,N/A,68114.69,Male,0,N/A,0 +27,Private,Yr7t8,Absent,Service,31669.08,Male,0,35,0 +55,Private,College,Divorced,N/A,52738.91,Male,0,40,0 +43,Private,HSgrad,Married,Cleaner,31786.89,Male,0,40,0 +58,Consultant,N/A,Married,N/A,N/A,Male,0,50,0 +31,PSLocal,N/A,N/A,Protective,54288.61,Male,N/A,N/A,0 +34,Consultant,Bachelor,Married,Sales,42289.78,Male,0,55,0 +53,Private,HSgrad,Married,N/A,N/A,Male,N/A,60,0 +31,Private,N/A,Married,N/A,59196,Male,N/A,55,0 +N/A,SelfEmp,HSgrad,Married,Repair,11703.44,Male,0,40,0 +N/A,Private,HSgrad,Married,Cleaner,58729.5,Male,0,40,0 +45,N/A,N/A,N/A,Repair,17868.72,Male,0,40,0 +23,Private,Yr5t6,Absent,Cleaner,81443.06,Male,N/A,55,0 +17,Private,Yr11,Absent,Repair,80669.22,N/A,0,10,0 +28,Private,N/A,N/A,Executive,38719.04,Male,0,N/A,0 +34,N/A,HSgrad,Married,Transport,N/A,Male,N/A,35,0 +37,Private,College,Married,Service,14412.91,Male,N/A,40,1 +N/A,Private,HSgrad,Divorced,Transport,91631.97,N/A,0,40,0 +35,Private,N/A,Divorced,N/A,81222.6,Female,0,40,0 +42,Private,Bachelor,Married,Executive,38065.64,Male,0,N/A,1 +43,PSLocal,Master,Married,N/A,20245.04,Male,0,40,1 +N/A,Private,Bachelor,N/A,N/A,9908.42,Male,0,40,1 +59,PSState,Master,Married,Professional,32407.59,Male,0,50,0 +29,N/A,Master,Married,Professional,42315.24,Male,0,20,0 +37,PSLocal,HSgrad,Divorced,Clerical,165293.02,Female,N/A,N/A,0 +52,Private,Yr10,Married,N/A,25276.19,Male,0,30,1 +43,Private,Bachelor,Unmarried,N/A,N/A,Male,0,40,0 +26,Private,Yr5t6,Absent,Farming,N/A,Male,0,40,0 +53,Private,HSgrad,Married,Executive,34590.96,Male,0,N/A,0 +51,Private,Master,Married,Executive,23800.98,Male,N/A,47,1 +29,Private,N/A,Absent,N/A,N/A,Female,0,40,0 +20,Private,College,Absent,Transport,25358.05,Male,0,40,0 +36,N/A,N/A,Absent,N/A,80958.09,N/A,0,N/A,0 +32,Consultant,N/A,Married,Repair,13173.25,Male,0,N/A,0 +N/A,Private,N/A,Divorced,N/A,71600.25,Female,0,40,0 +37,Private,Bachelor,N/A,Clerical,39093.3,N/A,0,50,1 +57,PSFederal,Master,Married,Executive,34700.45,Male,N/A,40,1 +N/A,Private,Yr11,Married,N/A,17142.5,Male,0,40,0 +67,PSLocal,HSgrad,Divorced,N/A,80081.26,N/A,N/A,N/A,0 +N/A,Private,HSgrad,Absent,Repair,N/A,Male,0,40,0 +44,Private,N/A,N/A,Executive,20924.33,N/A,0,N/A,1 +32,PSLocal,HSgrad,Married,Protective,35745.96,Male,N/A,N/A,0 +25,Consultant,Yr9,N/A,Repair,74054.02,Male,N/A,N/A,0 +60,N/A,Yr7t8,Divorced,Machinist,345263.49,Female,N/A,N/A,0 +N/A,N/A,N/A,N/A,Sales,101145.88,Female,0,30,0 +38,Private,HSgrad,Married,Machinist,N/A,Male,0,65,1 +22,Private,HSgrad,Absent,Clerical,99136.05,Female,N/A,40,0 +N/A,SelfEmp,Professional,Divorced,N/A,48110.95,Male,0,60,1 +N/A,Private,N/A,N/A,Sales,N/A,Male,0,35,0 +N/A,Private,Associate,Married,Clerical,421075.3,N/A,0,N/A,1 +31,Private,HSgrad,Absent,N/A,N/A,Female,0,20,0 +30,Private,N/A,Absent,Sales,116063,Male,0,N/A,1 +47,Private,HSgrad,N/A,Clerical,N/A,Male,0,N/A,1 +32,N/A,N/A,Married,Service,40578.25,Male,0,N/A,0 +N/A,Private,Vocational,N/A,N/A,188614.92,Male,0,N/A,0 +51,Private,Associate,Married,Sales,N/A,Male,0,45,1 +26,Private,N/A,Married,N/A,42713.56,Male,0,N/A,0 +50,N/A,Master,Absent,Professional,N/A,N/A,0,50,0 +34,Private,HSgrad,Married,Clerical,N/A,N/A,0,40,0 +45,PSLocal,College,Married,Executive,22778.96,Male,0,40,1 +24,N/A,HSgrad,Absent,Sales,223001.87,Male,0,40,0 +33,Private,HSgrad,Married,Transport,N/A,N/A,0,40,0 +20,Private,HSgrad,Absent,Cleaner,N/A,N/A,0,40,0 +66,Private,HSgrad,Married,Cleaner,N/A,N/A,N/A,10,0 +31,N/A,Vocational,Married,N/A,N/A,N/A,0,N/A,0 +60,Private,N/A,Married,Clerical,N/A,N/A,N/A,40,1 +37,PSFederal,HSgrad,Married,N/A,27784.15,N/A,0,40,1 +24,Private,Preschool,Absent,Farming,75883.25,Male,0,36,0 +24,Private,College,Married,Repair,21758.27,Male,0,N/A,0 +30,Private,College,N/A,N/A,N/A,Male,N/A,N/A,0 +29,N/A,HSgrad,N/A,Transport,16846.91,Male,0,N/A,0 +42,Consultant,Bachelor,Married,Sales,39354.85,Male,0,48,0 +26,Private,Associate,Absent,Machinist,84616.57,Female,0,N/A,0 +43,Private,Yr10,Unmarried,Service,121900.47,Female,0,40,0 +26,Private,Yr11,N/A,N/A,41447.11,Male,0,40,0 +40,Private,HSgrad,Married,Machinist,30124.74,Male,0,40,1 +59,N/A,Master,Married,Repair,N/A,Male,0,40,1 +26,N/A,Bachelor,Absent,Professional,51172.07,Female,0,N/A,0 +32,Private,HSgrad,N/A,Clerical,163076.41,N/A,0,N/A,0 +27,Consultant,N/A,Absent,N/A,N/A,Male,0,80,0 +38,PSLocal,HSgrad,Married,Transport,59260.14,Male,0,20,0 +49,Private,Master,Married,Executive,N/A,Male,1,40,1 +41,Private,HSgrad,N/A,Repair,122514.84,Male,N/A,40,0 +23,Private,Bachelor,Absent,N/A,191114.32,Male,0,40,0 +28,Private,N/A,Widowed,Clerical,190439.04,Female,1,35,0 +36,Private,HSgrad,N/A,Transport,32859.42,N/A,0,N/A,0 +24,Private,Bachelor,Absent,Executive,142422.3,Male,N/A,N/A,0 +N/A,Private,N/A,Married,Repair,55006.81,Male,0,50,0 +51,Private,College,Married,Executive,115990.3,Female,N/A,10,1 +30,N/A,N/A,Absent,Service,N/A,Male,0,N/A,0 +N/A,Consultant,HSgrad,Married,Executive,16006.97,Male,1,45,1 +47,Consultant,Bachelor,Married,Sales,N/A,Male,0,40,0 +19,Private,College,N/A,Sales,134671.12,Female,0,N/A,0 +31,Private,HSgrad,Divorced,Professional,48582.26,N/A,0,40,0 +N/A,Private,HSgrad,Married,Machinist,174275.99,Female,0,40,0 +38,N/A,N/A,Married,Cleaner,26562.14,Male,0,40,0 +28,Private,College,N/A,Repair,17654.51,N/A,0,60,1 +N/A,N/A,N/A,N/A,N/A,171712.27,N/A,N/A,30,0 +N/A,Private,Vocational,Absent,N/A,328613.91,Male,0,40,0 +29,N/A,College,Absent,Cleaner,36235.39,Male,0,45,0 +27,N/A,HSgrad,N/A,N/A,97778.54,Male,0,40,0 +44,N/A,HSgrad,Divorced,Support,N/A,N/A,0,50,1 +N/A,Consultant,N/A,Married,Executive,28421.93,Male,0,10,0 +N/A,Private,N/A,Married,Service,255829.6,Female,N/A,30,0 +71,PSState,Professional,Married,Service,30615.09,Male,N/A,28,0 +25,PSLocal,N/A,Absent,Support,140931.66,Female,0,40,0 +57,PSState,HSgrad,N/A,N/A,42016.25,Male,0,N/A,1 +66,Private,College,Married,Sales,24719.18,Male,0,N/A,0 +N/A,Private,Yr5t6,N/A,N/A,N/A,N/A,0,N/A,0 +48,Private,Associate,Divorced,Clerical,N/A,Female,N/A,40,0 +40,Private,Associate,Absent,N/A,61930.88,Male,0,40,0 +22,Private,N/A,N/A,N/A,115747.3,Male,0,44,0 +N/A,N/A,Associate,Absent,N/A,83661,Female,0,40,1 +51,N/A,Bachelor,Married,Sales,73559.69,Male,0,50,1 +N/A,Private,N/A,Unmarried,Sales,N/A,N/A,0,10,0 +26,Private,Yr10,Absent,Clerical,N/A,Female,N/A,N/A,0 +23,N/A,N/A,N/A,N/A,35654.11,Male,N/A,45,0 +27,N/A,Bachelor,N/A,Sales,42056.01,Male,N/A,25,0 +67,N/A,HSgrad,Married,N/A,46082.74,Male,0,40,1 +22,N/A,Yr5t6,Married,N/A,33721.18,Male,0,40,0 +59,SelfEmp,College,Married,Executive,18173.6,Male,N/A,N/A,1 +35,Private,College,Married,Sales,32143.1,Male,0,40,0 +N/A,Private,N/A,N/A,Service,26201.5,N/A,0,40,0 +54,Private,Yr10,Married,Cleaner,N/A,Male,0,40,0 +18,Private,N/A,Absent,Service,N/A,Male,0,20,0 +31,Private,N/A,N/A,Repair,N/A,Male,0,40,1 +45,N/A,HSgrad,N/A,N/A,30706.26,N/A,0,55,1 +27,N/A,N/A,Divorced,N/A,291269.15,Female,0,40,0 +49,Private,Vocational,N/A,Support,175877.19,Female,0,N/A,0 +53,Private,HSgrad,N/A,Transport,33204.38,Male,N/A,N/A,1 +N/A,PSFederal,College,Divorced,Clerical,178189.6,Female,0,40,0 +54,PSLocal,N/A,Absent,N/A,120586.35,N/A,0,40,0 +N/A,PSFederal,College,Married,Cleaner,27526.46,Male,0,N/A,0 +29,Private,N/A,Absent,N/A,69967.33,Male,0,45,0 +33,Consultant,N/A,Married,Executive,32405.19,Male,0,45,0 +38,Private,N/A,Absent,Service,141697.29,Female,N/A,30,0 +79,N/A,Bachelor,N/A,N/A,1598.95,Male,N/A,40,0 +58,Private,HSgrad,Widowed,Clerical,N/A,Female,0,40,0 +N/A,Private,N/A,Absent,Service,N/A,N/A,0,20,0 +N/A,Private,Associate,Divorced,Repair,N/A,Male,0,45,0 +24,Private,N/A,Absent,Farming,175354.11,N/A,0,50,0 +29,N/A,Bachelor,Absent,Professional,62808.8,Male,0,40,0 +17,Private,N/A,N/A,Cleaner,117629.97,Male,N/A,10,0 +31,Consultant,HSgrad,Divorced,N/A,32864.65,Male,0,35,0 +N/A,Private,College,N/A,Sales,57036.86,N/A,0,N/A,0 +N/A,Private,HSgrad,N/A,Service,125044.05,N/A,N/A,30,0 +54,N/A,College,N/A,Clerical,N/A,Female,N/A,40,0 +30,Private,Professional,Absent,Professional,N/A,Female,0,40,0 +22,Private,HSgrad,N/A,Service,207989.32,N/A,N/A,40,0 +N/A,Private,HSgrad,Absent,Home,105205.97,Female,N/A,40,0 +76,PSFederal,N/A,Widowed,Professional,90883.96,Female,0,15,0 +57,N/A,Bachelor,Divorced,Executive,85398.16,Male,N/A,40,0 +N/A,PSState,Bachelor,Married,Professional,26199.46,Male,0,37,0 +N/A,PSLocal,College,Married,Executive,15281.6,N/A,0,35,0 +22,N/A,College,N/A,Sales,82437.34,Female,0,17,0 +N/A,Private,N/A,Married,N/A,N/A,N/A,0,40,0 +25,Private,HSgrad,Absent,N/A,N/A,Female,N/A,N/A,0 +24,N/A,HSgrad,Divorced,Service,225317.12,N/A,N/A,40,0 +49,N/A,Associate,N/A,Executive,65953.27,Male,0,25,0 +58,Private,N/A,Married,Clerical,76211.05,Male,0,45,1 +N/A,Private,N/A,Married,Transport,37398.27,Male,N/A,45,1 +19,Consultant,HSgrad,N/A,Service,57730.91,Male,0,53,0 +23,N/A,HSgrad,Married,Transport,20959.54,Male,0,60,0 +N/A,Private,Yr11,Married,N/A,21525.26,Male,0,40,0 +41,N/A,HSgrad,N/A,Sales,N/A,N/A,0,62,0 +36,Private,Associate,N/A,N/A,46578.97,Male,0,40,0 +18,PSFederal,College,Absent,N/A,135003.08,Female,0,32,0 +N/A,Private,N/A,Absent,Sales,148944.25,N/A,N/A,20,0 +28,Private,Doctorate,Absent,Professional,100415.86,N/A,0,N/A,1 +59,N/A,Bachelor,Married,Repair,42148.58,Male,0,4,0 +55,PSLocal,Master,Married,Executive,38521.57,N/A,0,50,0 +31,N/A,N/A,Absent,Professional,N/A,Female,N/A,40,0 +28,N/A,HSgrad,Married,Machinist,31235.77,N/A,0,40,0 +32,Private,N/A,Married,Executive,46009.41,Male,0,60,1 +45,N/A,College,Divorced,N/A,N/A,Female,N/A,N/A,0 +40,Private,HSgrad,N/A,N/A,275897.1,Male,0,45,0 +N/A,N/A,College,Married,Repair,35282.57,Male,N/A,50,1 +N/A,Private,Vocational,Married,Sales,23895.35,Male,N/A,N/A,0 +23,Private,College,Absent,Support,25190.43,N/A,0,N/A,0 +N/A,Private,HSgrad,Married,Repair,35669.1,Male,0,40,0 +37,N/A,Associate,Absent,Clerical,N/A,Female,0,40,0 +23,PSState,HSgrad,Absent,N/A,220099.64,Male,N/A,N/A,0 +32,Private,Bachelor,Absent,Executive,217570.86,Female,N/A,N/A,0 +21,Private,N/A,N/A,Clerical,102106.03,Male,0,N/A,0 +46,PSState,N/A,Divorced,Executive,10067.38,Male,N/A,40,0 +N/A,N/A,Yr7t8,Absent,Service,N/A,Female,N/A,40,0 +44,Private,College,Divorced,N/A,N/A,Female,0,50,0 +35,N/A,N/A,Divorced,Repair,171957.58,N/A,0,15,0 +57,PSFederal,HSgrad,Absent,Clerical,3666.87,Male,1,40,0 +64,SelfEmp,HSgrad,Married,Clerical,122906.29,Female,N/A,40,1 +52,Private,Master,N/A,Professional,56251.18,Female,0,N/A,0 +36,Private,College,Divorced,Clerical,N/A,N/A,0,45,0 +39,Private,N/A,Married,Sales,168753.79,Female,0,36,0 +18,N/A,College,N/A,N/A,177348.64,Male,0,30,0 +24,N/A,Bachelor,N/A,Professional,79484.82,Female,0,40,0 +30,Private,HSgrad,N/A,Repair,38139.25,Male,N/A,40,0 +40,Private,College,Married,Repair,26579.19,Male,0,52,0 +35,PSState,N/A,Divorced,Clerical,N/A,Female,0,40,0 +44,N/A,N/A,Married,Sales,22373.02,Male,0,55,0 +32,N/A,Bachelor,Married,Executive,N/A,Male,0,40,0 +50,N/A,N/A,Married,Machinist,31436.62,Male,0,40,0 +51,Consultant,Associate,Divorced,Executive,257253.9,Female,N/A,99,0 +36,Private,Yr11,N/A,Transport,45375.02,Male,0,47,0 +34,N/A,College,Married,Service,28083.21,Male,0,40,0 +N/A,Private,HSgrad,Absent,N/A,N/A,Female,0,40,0 +65,Private,Yr10,Divorced,Cleaner,100886.51,Female,0,28,0 +30,Private,Associate,Unmarried,Service,205539.85,Female,N/A,40,0 +29,N/A,Bachelor,Absent,Executive,84409.78,Female,0,55,0 +N/A,N/A,Professional,Married,Sales,8856.16,N/A,N/A,45,1 +38,Private,HSgrad,N/A,Executive,187366.22,Female,0,40,0 +N/A,Private,College,Married,Cleaner,31677.52,Male,N/A,40,0 +43,N/A,N/A,Absent,Professional,N/A,N/A,0,40,1 +43,Consultant,N/A,Married,Repair,N/A,Male,0,60,0 +44,Private,Bachelor,N/A,Professional,143817,N/A,0,40,0 +N/A,N/A,N/A,Absent,Sales,138764.04,Female,N/A,40,0 +68,Private,Master,Married,Professional,52533.94,Male,0,18,0 +N/A,N/A,HSgrad,N/A,Transport,67822.94,Female,0,15,0 +25,N/A,College,Married-spouse-absent,Sales,76402.88,Male,N/A,50,0 +N/A,N/A,College,Unmarried,N/A,N/A,Male,0,40,0 +32,N/A,Bachelor,Married,Professional,40586.22,Male,0,60,1 +52,Private,Bachelor,Married,Professional,N/A,Male,N/A,N/A,1 +50,Private,N/A,Married,Repair,35494.55,Male,0,N/A,0 +N/A,N/A,N/A,N/A,N/A,53584.82,N/A,0,40,0 +29,Private,Professional,N/A,N/A,N/A,Male,0,50,1 +N/A,N/A,College,Married,N/A,30224.06,Male,0,60,1 +41,PSLocal,N/A,N/A,Professional,N/A,Female,0,35,0 +25,Private,College,Married,N/A,206963.41,N/A,0,N/A,1 +N/A,N/A,N/A,Married,N/A,34588.34,N/A,0,99,0 +33,N/A,College,Married,N/A,31790.75,Male,0,N/A,1 +51,Private,College,Married,Executive,20839.23,Male,N/A,N/A,0 +40,Private,N/A,Divorced,Service,54892.68,Female,0,32,0 +18,Private,Yr11,Absent,Cleaner,194452.97,Male,N/A,N/A,0 +N/A,SelfEmp,College,N/A,Repair,N/A,N/A,0,60,0 +N/A,N/A,N/A,Unmarried,N/A,121944.1,Female,0,40,0 +22,Private,HSgrad,N/A,N/A,55761.59,Female,0,N/A,0 +57,N/A,Professional,N/A,Executive,N/A,Male,0,55,1 +22,Private,College,Absent,N/A,N/A,Female,N/A,N/A,0 +32,Private,HSgrad,Absent,Machinist,111634.75,N/A,N/A,40,0 +56,Private,College,Widowed,Executive,39069.69,Male,0,60,0 +29,Private,Bachelor,N/A,Executive,74954.41,Female,0,N/A,0 +68,Consultant,College,Married,Service,48124.25,Male,0,30,0 +48,Private,N/A,Widowed,Machinist,N/A,N/A,0,48,0 +51,PSLocal,Preschool,Married,Service,31754.77,Male,N/A,40,0 +33,N/A,Yr7t8,Married,Clerical,33042.03,Male,0,45,0 +61,N/A,Bachelor,Married,Professional,30331.18,Male,0,N/A,0 +31,Private,N/A,Married,Machinist,23874.25,Male,N/A,N/A,0 +37,Private,N/A,Divorced,Executive,66208.15,N/A,N/A,N/A,0 +N/A,N/A,N/A,Absent,N/A,83677.12,Female,0,40,0 +25,PSLocal,N/A,Absent,Clerical,71379.99,Female,0,N/A,0 +28,Private,Professional,Absent,N/A,96723.42,Male,0,55,1 +N/A,N/A,HSgrad,Absent,N/A,99433.23,Male,0,48,0 +N/A,PSLocal,N/A,N/A,Professional,240000.62,N/A,0,40,1 +39,Private,HSgrad,N/A,Clerical,234458.87,Female,0,40,0 +57,SelfEmp,N/A,Unmarried,Farming,N/A,Male,0,60,1 +N/A,Private,HSgrad,N/A,Repair,N/A,N/A,N/A,40,1 +29,Private,HSgrad,Married,N/A,23718.47,Male,0,50,0 +N/A,N/A,N/A,Married,Sales,20873.96,Male,0,20,0 +42,N/A,N/A,Unmarried,N/A,118691.41,Male,0,40,0 +48,Private,N/A,Married,Executive,45432.97,Male,N/A,50,1 +45,Private,N/A,Divorced,Sales,233344.97,N/A,0,40,0 +20,N/A,College,Absent,Cleaner,N/A,Male,N/A,20,0 +55,Private,N/A,Divorced,Professional,274368.49,Female,0,N/A,0 +33,Private,N/A,Absent,Service,142528.17,Male,N/A,20,0 +29,Private,HSgrad,Married,Machinist,43062.27,Male,0,40,1 +37,Private,Associate,N/A,Machinist,N/A,Male,0,40,1 +38,Private,College,Divorced,Repair,N/A,N/A,1,40,0 +61,Private,N/A,Widowed,Service,78161.84,Female,0,21,0 +31,Private,Yr7t8,Absent,Cleaner,209072.7,Male,N/A,50,0 +24,Private,Bachelor,N/A,Executive,114400.18,Female,0,40,0 +N/A,SelfEmp,Bachelor,N/A,Executive,13353.45,Male,N/A,50,1 +17,Private,Yr11,Absent,Sales,142371.67,Female,0,N/A,0 +N/A,Private,Doctorate,Divorced,Professional,N/A,Female,0,N/A,0 +N/A,Private,N/A,Married,Sales,20632.31,Male,0,50,0 +46,Private,N/A,N/A,N/A,61254.08,Male,0,42,0 +38,N/A,HSgrad,Married,Sales,33483.98,Male,0,55,1 +51,SelfEmp,N/A,Unmarried,Sales,50492.45,Female,N/A,40,0 +60,Consultant,N/A,Absent,Farming,154705.59,Male,N/A,42,0 +N/A,N/A,College,Married,Service,N/A,Male,0,17,0 +N/A,N/A,Bachelor,Married,Professional,49069.97,Male,0,60,0 +53,Private,Bachelor,Divorced,Professional,104338.96,N/A,0,55,1 +N/A,Private,Associate,Married,Executive,30194.57,Male,1,55,1 +26,PSLocal,Bachelor,N/A,N/A,69007.71,Male,N/A,40,0 +N/A,Private,Associate,Absent,Professional,N/A,Male,0,40,0 +55,Consultant,HSgrad,Married,Repair,33803.72,Male,N/A,50,0 +22,Private,College,Absent,Clerical,124753.78,Male,0,40,0 +44,Private,Bachelor,Married,Executive,N/A,Male,0,35,1 +59,Private,N/A,Married,Sales,43930.77,Male,0,N/A,1 +50,Consultant,HSgrad,N/A,N/A,55799.59,Male,0,50,1 +39,Private,HSgrad,Married,N/A,25320.87,Male,N/A,38,0 +20,Private,HSgrad,Absent,Cleaner,N/A,Male,0,N/A,0 +41,PSLocal,Bachelor,Absent,Professional,110633.95,N/A,0,70,0 +24,Private,College,Absent,N/A,150730.43,Male,0,20,0 +39,N/A,College,N/A,N/A,94188.68,Male,0,40,0 +21,N/A,HSgrad,Married,Professional,79611.59,Male,0,40,1 +17,Private,Yr11,Absent,Sales,233991.23,Female,N/A,13,0 +38,Private,HSgrad,Married,Service,26171.75,Male,N/A,45,0 +N/A,Private,Bachelor,Absent,Sales,28958.24,Male,N/A,48,0 +34,N/A,HSgrad,Absent,Clerical,43357.42,Female,0,N/A,0 +62,Private,N/A,Married,N/A,34262.01,N/A,0,40,1 +N/A,Private,Bachelor,Married,Sales,87725.56,N/A,N/A,N/A,1 +N/A,Private,College,Absent,Clerical,38259.45,Male,0,40,0 +35,Private,Professional,Married,Professional,31952.02,Male,1,80,1 +42,Private,Yr9,Married,N/A,46002.84,Male,0,40,0 +42,Private,Yr5t6,N/A,Service,N/A,Male,0,N/A,0 +N/A,Consultant,HSgrad,Married,N/A,59042,Male,N/A,55,1 +22,Private,Bachelor,N/A,Clerical,N/A,N/A,0,25,0 +60,PSLocal,Vocational,Married,Executive,3014.74,Male,0,60,1 +N/A,Private,College,N/A,Service,121520.87,Male,0,24,0 +N/A,N/A,Yr11,Married,Cleaner,51515.54,Male,N/A,40,0 +31,N/A,HSgrad,Absent,Service,103482.55,Male,0,18,0 +N/A,Private,Bachelor,N/A,N/A,104566.67,Female,N/A,35,0 +56,Private,N/A,Married,Machinist,13057.35,N/A,0,N/A,0 +23,Private,HSgrad,Unmarried,Machinist,155890.97,Female,0,48,0 +57,SelfEmp,N/A,Married,Executive,31747.82,Male,N/A,40,0 +50,Private,HSgrad,Married,N/A,33440.91,Male,0,N/A,0 +52,N/A,Bachelor,Married-spouse-absent,Service,23160.66,N/A,0,50,0 +53,Private,N/A,Divorced,Clerical,48911.48,Female,0,40,0 +N/A,Private,Associate,Absent,Sales,219075.39,Female,0,N/A,0 +57,Private,Associate,Widowed,Clerical,42470.4,N/A,0,35,0 +N/A,Private,HSgrad,Married,Repair,N/A,N/A,N/A,N/A,1 +N/A,N/A,HSgrad,Married,N/A,54605.61,Male,0,40,0 +N/A,Private,HSgrad,Married,N/A,170159.13,Female,N/A,40,0 +38,Private,N/A,N/A,Professional,162800.09,Female,0,N/A,1 +N/A,N/A,N/A,N/A,N/A,19182.6,N/A,0,16,1 +22,Private,N/A,Married,N/A,N/A,Male,N/A,55,0 +N/A,SelfEmp,College,N/A,Sales,47593.85,Male,0,40,0 +26,Private,College,N/A,Clerical,88260.51,Male,0,20,0 +17,PSFederal,Yr11,Absent,Clerical,N/A,Female,1,40,0 +38,N/A,Master,Married,Executive,12642.83,Male,0,40,0 +N/A,Private,Bachelor,N/A,N/A,28248.62,Male,0,40,1 +36,N/A,N/A,N/A,Professional,50548.68,Male,N/A,N/A,0 +22,N/A,HSgrad,Absent,Service,116599.3,Male,0,N/A,0 +49,Private,HSgrad,Divorced,Clerical,63067.11,Male,0,40,0 +49,N/A,Doctorate,Married,Professional,N/A,Male,0,60,1 +N/A,Private,N/A,N/A,Farming,134026.54,Male,0,36,0 +N/A,PSLocal,HSgrad,Married,Repair,N/A,Male,0,N/A,0 +59,Private,College,Married,N/A,119559.14,Female,0,N/A,1 +21,Private,Bachelor,Absent,Clerical,22041.96,Male,0,40,0 +47,Private,Yr10,Married-spouse-absent,Transport,55555.13,N/A,0,45,0 +64,N/A,Vocational,Married,Repair,N/A,N/A,0,10,0 +N/A,Private,Bachelor,Married,N/A,273503.75,Female,0,40,0 +28,Private,N/A,Married,Sales,26988.92,Male,0,45,1 +N/A,Consultant,College,N/A,N/A,40963.38,Male,0,45,1 +57,Private,HSgrad,Absent,Clerical,81300.04,Female,0,40,0 +N/A,Private,Vocational,Absent,N/A,93156.39,Female,0,45,0 +57,Private,Yr7t8,N/A,Repair,N/A,Male,0,40,0 +55,N/A,N/A,N/A,Professional,11144.16,Male,0,N/A,1 +37,Private,Yr1t4,N/A,Service,11180.76,Male,N/A,53,0 +44,PSFederal,College,Married,N/A,16851.35,N/A,0,40,0 +20,Private,HSgrad,N/A,Service,156308,Male,0,50,0 +23,Private,College,Married,Executive,173514.26,N/A,0,25,0 +33,Private,N/A,N/A,Executive,26138.85,Male,0,65,1 +22,Private,College,N/A,Sales,183027.36,N/A,N/A,34,0 +26,Private,Master,Absent,Executive,33742.92,Female,0,30,0 +27,Private,HSgrad,Divorced,N/A,107597.36,N/A,N/A,38,0 +57,N/A,N/A,Married,Executive,41397.34,N/A,0,60,0 +27,PSLocal,Bachelor,Married,Protective,57082.91,Male,0,68,0 +56,N/A,HSgrad,Married,N/A,31904.07,N/A,0,N/A,0 +33,N/A,College,Married,Executive,40009.78,Male,0,50,0 +42,Private,Bachelor,N/A,Executive,N/A,Male,0,45,1 +21,N/A,N/A,N/A,Cleaner,92413.46,Female,N/A,40,0 +31,N/A,College,Married,N/A,58473.08,N/A,0,40,0 +N/A,N/A,N/A,Divorced,Sales,95109.38,Male,0,50,0 +21,Private,HSgrad,Absent,Repair,51781.5,Female,N/A,N/A,0 +41,N/A,N/A,N/A,N/A,29182.56,Male,0,52,0 +28,Consultant,Bachelor,N/A,Professional,101707.48,Male,0,60,0 +N/A,Private,HSgrad,N/A,Machinist,154442.07,Male,N/A,40,0 +N/A,N/A,College,Absent,Service,N/A,N/A,N/A,N/A,0 +41,Private,Bachelor,Unmarried,Sales,199258.2,Female,N/A,N/A,0 +26,N/A,HSgrad,Absent,N/A,105372.12,N/A,0,80,1 +54,Private,N/A,N/A,Sales,94127.31,N/A,N/A,N/A,0 +N/A,N/A,N/A,Divorced,Repair,N/A,Male,1,50,0 +N/A,Consultant,HSgrad,Married,Sales,230440.99,Female,0,N/A,0 +28,Private,Bachelor,Unmarried,N/A,N/A,Female,0,N/A,1 +61,N/A,Yr1t4,Married,Repair,N/A,Male,N/A,20,0 +36,N/A,College,N/A,Machinist,49119.89,Male,N/A,50,1 +43,Private,N/A,Married,Executive,N/A,N/A,0,N/A,0 +51,Consultant,HSgrad,Divorced,Sales,111275.28,Male,N/A,N/A,0 +33,Private,Master,Absent,Executive,63012.31,Male,0,40,1 +N/A,Private,Bachelor,Married,Executive,33055.28,Male,0,N/A,1 +28,Private,Vocational,Absent,Cleaner,91545.36,Female,0,N/A,0 +55,Private,Yr5t6,Married,Repair,33493.58,N/A,0,50,0 +31,Private,College,Married,Repair,22651.21,Male,0,40,0 +N/A,Private,Bachelor,Absent,Professional,92236.39,Male,N/A,45,0 +32,Private,N/A,Absent,Service,126572.84,Female,N/A,40,0 +N/A,Private,N/A,Married,Sales,59350.35,Male,0,40,0 +37,N/A,N/A,Married,Executive,59792.76,Male,0,40,1 +60,N/A,HSgrad,Married,Protective,12224.01,Male,0,40,0 +40,Private,College,Married,Clerical,58086.76,Male,0,55,1 +53,Consultant,N/A,Married,Executive,37678.12,Male,0,45,1 +28,Private,Bachelor,Married,N/A,37757.55,N/A,0,40,0 +N/A,Private,Yr7t8,Divorced,Repair,77797.98,Male,1,40,0 +N/A,Private,N/A,Absent,Sales,81562.92,Male,0,40,0 +32,Private,HSgrad,Divorced,N/A,202147.56,Female,N/A,35,0 +N/A,Private,Yr11,Widowed,Cleaner,148760.26,Female,0,N/A,0 +50,Private,HSgrad,Divorced,Clerical,106739.42,N/A,N/A,35,0 +N/A,Private,HSgrad,Absent,N/A,194625.75,N/A,0,40,1 +46,Private,Yr10,N/A,Service,82756.91,Male,N/A,N/A,0 +N/A,Private,College,Married,Machinist,19608.66,N/A,0,45,0 +39,Private,HSgrad,Absent,Repair,46967.93,Male,N/A,N/A,1 +N/A,Private,N/A,Married,Executive,N/A,Male,0,N/A,1 +39,N/A,Vocational,Divorced,Executive,154519.19,N/A,0,40,0 +53,SelfEmp,Bachelor,Married,Clerical,253732.98,Female,0,50,0 +N/A,PSLocal,College,Married,Professional,62591.86,N/A,0,40,0 +N/A,Private,College,Married,Transport,33317.04,Male,0,55,0 +41,Private,N/A,Divorced,Executive,25002.3,N/A,0,50,1 +42,N/A,HSgrad,N/A,N/A,81695.14,Male,N/A,40,0 +23,N/A,College,N/A,Sales,88467.13,Male,0,N/A,0 +32,N/A,Bachelor,Married,Sales,30967.52,Male,0,N/A,1 +27,Private,N/A,N/A,Executive,62471.07,N/A,0,45,0 +N/A,Private,Vocational,Married,Professional,53662.76,Male,0,40,1 +N/A,Private,N/A,Divorced,Cleaner,48292.84,Male,0,40,0 +54,N/A,Master,Married,Transport,42793.14,Male,0,60,1 +18,Private,Yr12,N/A,N/A,N/A,N/A,0,N/A,0 +47,N/A,HSgrad,Married,N/A,N/A,Male,N/A,40,1 +41,Private,N/A,Married,Repair,60650.09,Male,0,40,0 +N/A,Private,Yr10,Absent,Sales,80838.04,Male,N/A,20,0 +21,Private,College,N/A,N/A,2164.59,Female,N/A,40,0 +31,Private,College,Absent,Farming,77164.89,Female,N/A,N/A,0 +27,Private,N/A,Divorced,Executive,33513.96,Male,0,N/A,0 +41,Private,Yr1t4,Married,Sales,43687.09,Male,N/A,50,0 +35,Private,College,Absent,N/A,N/A,Male,0,48,0 +33,Private,HSgrad,Married,Machinist,N/A,Male,0,40,0 +31,Private,Bachelor,Married,Sales,27154.65,N/A,0,N/A,0 +57,Private,N/A,Married,Cleaner,35863.69,N/A,0,40,0 +45,Private,Doctorate,Widowed,N/A,187277.08,Male,0,40,1 +42,Private,Bachelor,Married,Professional,246388.78,Female,0,27,1 +41,N/A,N/A,Married,Machinist,44503.75,N/A,0,40,0 +48,Private,Yr11,Absent,Service,54786.75,Female,0,30,0 +33,Private,N/A,N/A,Clerical,N/A,Male,0,36,0 +56,Private,HSgrad,Married,N/A,33984.18,N/A,0,N/A,1 +40,Private,Vocational,Married,Repair,33064.02,Male,0,40,0 +17,N/A,Yr11,Absent,N/A,N/A,N/A,0,25,0 +35,Private,Bachelor,Absent,Support,44416.37,N/A,0,40,0 +N/A,Private,N/A,Married,Repair,25314.83,Male,N/A,40,0 +56,Private,Yr7t8,N/A,Machinist,304680.96,N/A,0,45,0 +46,N/A,N/A,N/A,Executive,22808.31,Male,N/A,N/A,1 +48,Private,Yr5t6,Absent,Home,N/A,Female,0,N/A,0 +51,Private,Associate,Absent,Clerical,52618.68,Female,N/A,40,0 +35,Private,HSgrad,Divorced,Service,74662.5,N/A,0,N/A,0 +63,Consultant,HSgrad,N/A,Repair,33182.77,Male,N/A,32,0 +N/A,N/A,College,Absent,Machinist,N/A,Female,N/A,N/A,0 +24,Private,Bachelor,N/A,Sales,122563.95,N/A,0,40,0 +41,Private,HSgrad,N/A,Clerical,68259.98,N/A,0,40,0 +59,N/A,College,Married,Executive,26932.42,Male,N/A,N/A,1 +N/A,Private,Yr10,Absent,Service,125552.47,Male,0,N/A,0 +42,Private,HSgrad,Married,Repair,42519.73,N/A,0,40,0 +N/A,N/A,N/A,Married,N/A,24080.59,Male,0,N/A,0 +35,N/A,Associate,Married,Repair,57497.3,N/A,0,40,0 +32,N/A,N/A,N/A,Sales,30538.18,Male,0,44,0 +34,Private,College,N/A,Sales,N/A,Male,0,N/A,0 +N/A,Private,HSgrad,N/A,Clerical,139984.58,N/A,0,N/A,0 diff --git a/pmml-sparkml-xgboost/src/test/resources/csv/AutoNA.csv b/pmml-sparkml-xgboost/src/test/resources/csv/AutoNA.csv new file mode 100644 index 00000000..c76c1858 --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/csv/AutoNA.csv @@ -0,0 +1,393 @@ +cylinders,displacement,horsepower,weight,acceleration,model_year,origin,mpg +8,307,N/A,3504,12,70,N/A,18 +8,N/A,N/A,N/A,11.5,N/A,N/A,15 +8,318,150,N/A,11,70,1,18 +8,N/A,150,N/A,12,70,1,16 +8,302,140,3449,N/A,N/A,1,17 +8,429,N/A,4341,N/A,70,1,15 +8,454,220,4354,N/A,70,N/A,14 +8,440,N/A,N/A,N/A,70,N/A,14 +8,N/A,225,4425,10,70,N/A,14 +8,390,N/A,3850,8.5,70,1,15 +8,383,170,3563,10,70,N/A,15 +N/A,340,160,3609,N/A,N/A,N/A,14 +8,400,N/A,3761,N/A,70,N/A,15 +8,455,225,3086,10,70,1,14 +4,113,95,N/A,15,70,3,24 +6,198,N/A,2833,15.5,70,N/A,22 +6,N/A,97,N/A,15.5,70,1,18 +N/A,N/A,85,2587,16,70,N/A,21 +4,97,N/A,2130,14.5,70,N/A,27 +4,97,46,1835,20.5,70,2,26 +4,110,87,N/A,17.5,70,2,25 +4,107,90,2430,14.5,70,2,24 +4,104,N/A,2375,17.5,70,2,25 +4,121,113,N/A,N/A,N/A,2,26 +N/A,199,90,2648,15,70,1,21 +8,N/A,N/A,4615,N/A,70,1,10 +N/A,307,200,4376,15,N/A,1,10 +8,318,N/A,4382,13.5,70,1,11 +8,304,193,4732,18.5,70,1,9 +4,97,N/A,2130,14.5,71,N/A,27 +4,N/A,90,2264,N/A,71,N/A,28 +N/A,113,95,N/A,N/A,71,3,25 +6,232,100,2634,13,N/A,1,19 +N/A,225,N/A,N/A,15.5,71,1,16 +6,250,N/A,3329,N/A,71,1,17 +6,N/A,N/A,3302,15.5,71,1,19 +6,232,100,3288,15.5,71,N/A,18 +8,350,165,N/A,12,N/A,1,14 +8,400,175,N/A,11.5,71,1,14 +N/A,351,153,4154,13.5,N/A,1,14 +N/A,318,150,4096,13,71,N/A,14 +8,N/A,180,4955,11.5,71,1,12 +8,400,N/A,N/A,12,71,1,13 +8,400,175,5140,12,71,1,13 +6,258,110,N/A,13.5,N/A,1,18 +N/A,N/A,72,2408,19,71,N/A,22 +6,250,100,3282,15,71,1,19 +6,N/A,N/A,N/A,14.5,N/A,1,18 +4,122,N/A,N/A,N/A,N/A,N/A,23 +4,116,90,N/A,14,71,2,28 +N/A,N/A,70,2074,N/A,71,2,30 +N/A,88,76,2065,14.5,71,2,30 +4,71,65,1773,19,N/A,3,31 +4,72,69,1613,18,N/A,3,35 +4,97,60,1834,19,71,2,27 +N/A,N/A,70,1955,20.5,N/A,N/A,26 +4,113,95,2278,15.5,72,N/A,24 +4,N/A,N/A,2126,17,72,1,25 +N/A,97,N/A,2254,23.5,72,N/A,23 +N/A,140,N/A,2408,19.5,72,1,20 +4,122,N/A,2226,16.5,72,1,21 +8,350,165,4274,12,72,1,13 +8,400,175,4385,12,72,1,14 +8,318,N/A,4135,13.5,72,N/A,15 +8,N/A,153,4129,N/A,N/A,1,14 +N/A,304,150,3672,11.5,72,1,17 +N/A,429,N/A,4633,11,72,1,11 +8,350,155,4502,13.5,N/A,1,13 +8,N/A,160,N/A,13.5,72,1,12 +8,N/A,190,N/A,N/A,N/A,N/A,13 +N/A,N/A,97,2330,13.5,72,N/A,19 +N/A,N/A,N/A,3892,12.5,72,1,15 +8,307,130,4098,14,72,1,13 +8,N/A,140,4294,N/A,72,1,13 +N/A,318,150,4077,14,N/A,1,14 +4,121,N/A,2933,14.5,72,N/A,18 +4,121,76,2511,18,72,2,22 +4,120,87,2979,N/A,N/A,2,21 +4,96,69,2189,18,N/A,2,26 +N/A,N/A,N/A,N/A,16,72,1,22 +4,97,N/A,2288,N/A,72,3,28 +N/A,120,97,2506,14.5,72,3,23 +4,98,N/A,2164,15,72,1,28 +4,97,88,N/A,16.5,N/A,3,27 +8,350,N/A,4100,13,N/A,1,13 +N/A,N/A,N/A,3672,N/A,73,1,14 +8,N/A,145,3988,N/A,73,1,13 +N/A,N/A,137,4042,14.5,73,1,14 +N/A,318,N/A,3777,N/A,73,N/A,15 +8,429,N/A,4952,11.5,N/A,1,12 +8,400,150,4464,12,73,1,13 +8,351,158,4363,13,N/A,1,13 +8,318,150,4237,14.5,73,N/A,14 +8,440,215,4735,11,73,N/A,13 +8,455,225,4951,11,73,1,12 +8,360,175,3821,11,73,1,13 +6,225,105,3121,16.5,73,1,18 +N/A,250,100,N/A,18,73,1,16 +6,232,100,N/A,16,73,1,18 +6,250,N/A,3021,16.5,73,1,18 +6,198,95,N/A,16,73,N/A,23 +4,97,46,1950,21,73,N/A,26 +N/A,N/A,150,4997,N/A,N/A,1,11 +8,400,N/A,N/A,12.5,73,N/A,12 +8,N/A,170,N/A,13,73,1,13 +8,N/A,180,4499,12.5,73,N/A,12 +6,232,100,2789,15,73,1,18 +4,97,88,2279,19,N/A,3,20 +4,N/A,72,2401,N/A,N/A,1,21 +N/A,108,94,2379,16.5,N/A,3,22 +N/A,70,N/A,2124,13.5,73,3,18 +4,122,N/A,2310,N/A,N/A,N/A,19 +6,155,N/A,N/A,14,73,N/A,21 +4,98,90,2265,15.5,73,N/A,26 +N/A,350,N/A,4082,13,73,1,15 +8,N/A,230,4278,9.5,73,N/A,16 +N/A,68,49,1867,N/A,73,2,29 +4,116,N/A,N/A,15.5,73,N/A,24 +N/A,114,91,2582,N/A,73,2,20 +4,N/A,N/A,2868,15.5,73,2,19 +8,318,150,3399,11,N/A,1,15 +N/A,121,110,2660,14,N/A,2,24 +6,156,122,2807,N/A,73,3,20 +8,350,180,N/A,11,73,N/A,11 +6,198,95,3102,16.5,74,N/A,20 +6,N/A,N/A,N/A,N/A,74,1,19 +6,250,100,3336,17,74,N/A,15 +4,N/A,67,1950,19,N/A,N/A,31 +4,122,N/A,N/A,16.5,74,1,26 +4,71,N/A,1836,21,74,3,32 +N/A,140,N/A,2542,17,N/A,1,25 +6,N/A,100,N/A,17,74,1,16 +6,258,110,N/A,18,N/A,1,16 +N/A,225,105,3613,N/A,N/A,1,18 +8,N/A,140,4141,14,74,N/A,16 +8,350,150,4699,14.5,74,1,13 +8,318,N/A,N/A,N/A,N/A,1,14 +N/A,302,140,4638,16,74,1,14 +8,N/A,150,N/A,15.5,74,1,14 +N/A,N/A,83,2219,16.5,N/A,2,29 +4,N/A,67,1963,N/A,74,N/A,26 +4,97,78,2300,N/A,74,N/A,26 +4,76,52,1649,16.5,74,N/A,31 +4,83,61,N/A,19,N/A,N/A,32 +4,N/A,75,2125,N/A,74,N/A,28 +4,90,75,2108,N/A,74,N/A,24 +4,116,75,N/A,14,74,N/A,26 +N/A,120,97,2489,N/A,N/A,3,24 +N/A,108,N/A,2391,15.5,74,3,26 +4,79,67,2000,16,74,2,31 +N/A,225,95,3264,16,75,1,19 +6,N/A,N/A,3459,16,75,1,18 +6,250,72,N/A,21,75,1,15 +N/A,N/A,72,3158,19.5,75,1,15 +N/A,N/A,N/A,4668,11.5,75,1,16 +8,350,145,4440,14,75,1,15 +8,318,150,4498,14.5,75,1,16 +8,N/A,148,4657,13.5,N/A,N/A,14 +6,N/A,N/A,3907,N/A,75,N/A,17 +6,250,105,3897,N/A,75,1,16 +N/A,258,110,N/A,19,75,1,15 +6,225,95,3785,19,75,N/A,18 +6,231,N/A,3039,15,75,1,21 +8,262,110,3221,13.5,75,N/A,20 +8,302,129,N/A,12,75,N/A,13 +N/A,N/A,75,2171,16,75,3,29 +N/A,N/A,N/A,N/A,17,N/A,1,23 +6,N/A,100,N/A,16,75,1,20 +N/A,140,N/A,N/A,N/A,75,1,23 +N/A,134,N/A,N/A,13.5,75,3,24 +4,90,N/A,2223,16.5,75,2,25 +N/A,N/A,N/A,2545,17,N/A,N/A,24 +6,171,97,2984,14.5,75,1,18 +4,N/A,70,N/A,14,75,N/A,29 +6,232,90,3211,17,75,1,19 +N/A,115,95,2694,15,N/A,2,23 +N/A,120,N/A,2957,N/A,75,2,23 +4,121,98,N/A,14.5,75,2,22 +4,121,115,2671,N/A,75,2,25 +4,N/A,N/A,N/A,N/A,75,3,33 +4,107,86,2464,15.5,76,2,28 +N/A,116,N/A,N/A,N/A,76,2,25 +4,N/A,92,2572,N/A,76,N/A,25 +4,N/A,79,2255,N/A,76,1,26 +N/A,N/A,83,2202,15.3,76,N/A,27 +8,N/A,N/A,4215,N/A,76,N/A,17.5 +N/A,318,150,4190,N/A,N/A,1,16 +N/A,N/A,N/A,3962,13.9,76,1,15.5 +8,351,N/A,4215,12.8,76,1,14.5 +N/A,225,100,3233,15.4,76,1,22 +6,250,105,3353,N/A,76,1,22 +6,200,N/A,3012,17.6,N/A,N/A,24 +6,232,90,3085,N/A,76,1,22.5 +4,85,52,2035,22.2,76,1,29 +4,98,60,2164,22.1,76,N/A,24.5 +N/A,N/A,70,1937,14.2,76,N/A,29 +4,N/A,53,1795,17.4,76,3,33 +6,N/A,100,3651,N/A,N/A,N/A,20 +6,250,78,3574,21,76,1,18 +6,N/A,110,3645,16.2,76,N/A,18.5 +6,258,95,3193,17.8,76,1,17.5 +4,97,71,1825,N/A,76,2,29.5 +4,85,70,1990,17,76,N/A,32 +4,N/A,75,2155,16.4,76,3,28 +N/A,N/A,72,2565,N/A,N/A,1,26.5 +4,130,102,3150,15.7,76,2,20 +N/A,318,150,3940,13.2,N/A,1,13 +N/A,N/A,88,3270,21.9,76,2,19 +6,156,108,N/A,15.5,76,3,19 +6,168,120,3820,16.7,N/A,2,16.5 +N/A,N/A,180,4380,12.1,76,1,16.5 +8,350,145,4055,N/A,76,1,13 +8,302,130,3870,N/A,76,1,13 +8,318,N/A,3755,14,N/A,1,13 +4,98,68,2045,18.5,77,3,31.5 +4,N/A,80,N/A,14.8,77,N/A,30 +4,79,58,1825,18.6,77,2,36 +4,122,96,N/A,15.5,77,1,25.5 +4,85,N/A,1945,16.8,N/A,3,33.5 +8,305,145,3880,N/A,N/A,1,17.5 +8,260,110,4060,N/A,77,1,17 +N/A,318,145,4140,13.7,77,1,15.5 +8,302,130,4295,N/A,77,1,15 +6,N/A,110,3520,N/A,77,1,17.5 +6,231,105,N/A,16.9,77,1,20.5 +6,225,100,3630,17.7,N/A,1,19 +6,250,98,3525,19,77,1,18.5 +8,400,180,4220,11.1,77,1,16 +8,350,N/A,4165,N/A,N/A,1,15.5 +8,400,190,N/A,12.2,77,1,15.5 +8,351,149,N/A,14.5,77,1,16 +4,N/A,78,1940,14.5,77,2,29 +N/A,151,N/A,2740,N/A,77,1,24.5 +4,N/A,75,2265,18.2,N/A,3,26 +4,140,89,2755,N/A,77,1,25.5 +4,98,N/A,2051,17,77,N/A,30.5 +N/A,N/A,N/A,2075,15.9,77,1,33.5 +4,97,67,N/A,16.4,N/A,N/A,30 +N/A,97,78,N/A,14.1,N/A,2,30.5 +6,146,97,2815,14.5,77,3,22 +4,121,110,2600,12.8,77,N/A,21.5 +3,80,N/A,2720,13.5,77,N/A,21.5 +4,N/A,48,1985,21.5,N/A,2,43.1 +N/A,98,66,N/A,14.4,78,1,36.1 +N/A,78,52,1985,19.4,78,N/A,32.8 +N/A,N/A,70,N/A,N/A,N/A,N/A,39.4 +4,91,60,N/A,N/A,78,3,36.1 +N/A,260,110,3365,15.5,78,1,19.9 +8,318,140,3735,13.2,78,N/A,19.4 +8,N/A,139,3570,12.8,78,1,20.2 +N/A,231,N/A,3535,19.2,N/A,1,19.2 +6,200,95,N/A,N/A,N/A,1,20.5 +6,N/A,N/A,2965,15.8,78,1,20.2 +4,140,N/A,2720,15.4,78,N/A,25.1 +6,225,100,3430,17.2,78,N/A,20.5 +6,232,90,3210,N/A,78,1,19.4 +6,N/A,105,3380,15.8,78,1,20.6 +6,200,85,3070,16.7,78,1,20.8 +N/A,225,110,N/A,N/A,N/A,1,18.6 +N/A,258,120,3410,15.1,N/A,1,18.1 +8,305,N/A,3425,13.2,78,1,19.2 +N/A,N/A,165,3445,13.4,78,1,17.7 +8,N/A,139,3205,11.2,78,N/A,18.1 +N/A,318,140,4080,13.7,N/A,1,17.5 +4,98,68,2155,N/A,78,1,30 +4,134,N/A,N/A,N/A,78,3,27.5 +4,119,97,N/A,14.7,78,3,27.2 +4,105,N/A,2230,14.5,78,N/A,30.9 +4,134,95,N/A,N/A,78,3,21.1 +N/A,156,105,2745,16.7,N/A,N/A,23.2 +4,151,85,2855,N/A,78,1,23.8 +4,N/A,97,2405,14.9,78,3,23.9 +5,N/A,103,2830,15.9,78,2,20.3 +6,163,125,3140,13.6,N/A,2,17 +4,121,N/A,N/A,15.7,78,2,21.6 +N/A,163,133,3410,N/A,78,2,16.2 +N/A,N/A,71,1990,14.9,78,2,31.5 +4,98,68,2135,N/A,78,3,29.5 +6,N/A,115,3245,15.4,N/A,1,21.5 +6,200,N/A,2990,18.2,79,1,19.8 +4,140,88,2890,17.3,79,1,22.3 +6,232,90,N/A,18.2,79,N/A,20.2 +6,N/A,110,N/A,16.6,N/A,1,20.6 +8,305,130,N/A,15.4,79,1,17 +8,302,129,N/A,N/A,79,1,17.6 +8,351,138,3955,13.2,79,1,16.5 +8,318,135,3830,15.2,79,1,18.2 +N/A,350,155,4360,14.9,79,1,16.9 +8,N/A,N/A,4054,14.3,N/A,1,15.5 +N/A,N/A,125,3605,15,79,1,19.2 +8,N/A,150,3940,13,79,N/A,18.5 +4,89,71,1925,14,79,2,31.9 +4,86,65,1975,15.2,N/A,3,34.1 +4,98,80,N/A,14.4,79,1,35.7 +4,121,80,2670,15,79,1,27.4 +5,183,77,3530,20.1,79,2,25.4 +8,N/A,125,N/A,17.4,79,1,23 +4,141,N/A,3190,24.8,N/A,N/A,27.2 +8,260,N/A,3420,22.2,79,1,23.9 +N/A,105,N/A,2200,13.2,79,1,34.2 +4,105,70,2150,14.9,79,1,34.5 +4,85,65,2020,19.2,79,N/A,31.8 +N/A,N/A,69,2130,N/A,79,2,37.3 +4,N/A,90,2670,16,N/A,N/A,28.4 +N/A,173,115,2595,N/A,79,1,28.8 +N/A,173,115,2700,N/A,79,1,26.8 +N/A,151,N/A,2556,13.2,79,1,33.5 +4,98,76,2144,14.7,80,2,41.5 +N/A,N/A,60,1968,N/A,80,N/A,38.1 +4,N/A,70,2120,15.5,N/A,1,32.1 +4,86,65,2019,16.4,80,3,37.2 +4,151,90,2678,N/A,80,1,28 +4,140,N/A,2870,N/A,80,1,26.4 +4,151,90,3003,20.1,80,1,24.3 +6,225,90,3381,18.7,80,1,19.1 +4,97,N/A,2188,15.8,80,N/A,34.3 +4,134,N/A,2711,15.5,80,N/A,29.8 +N/A,120,75,2542,17.5,N/A,N/A,31.3 +4,119,N/A,N/A,15,80,3,37 +4,108,N/A,N/A,N/A,80,N/A,32.2 +4,N/A,65,N/A,N/A,80,3,46.6 +4,156,105,2800,N/A,N/A,1,27.9 +4,85,N/A,N/A,19.2,80,3,40.8 +4,N/A,48,2085,21.7,80,2,44.3 +4,90,N/A,N/A,N/A,80,2,43.4 +5,121,67,2950,19.9,80,N/A,36.4 +4,146,67,3250,21.8,80,2,30 +4,N/A,N/A,1850,13.8,80,3,44.6 +4,97,N/A,2145,N/A,80,3,33.8 +4,89,62,1845,15.3,80,2,29.8 +6,168,132,N/A,11.4,80,N/A,32.7 +3,70,N/A,N/A,12.5,N/A,3,23.7 +N/A,N/A,88,2500,N/A,N/A,2,35 +N/A,107,72,N/A,17,80,3,32.4 +4,135,N/A,2490,15.7,81,1,27.2 +4,151,N/A,N/A,16.4,81,N/A,26.6 +4,156,92,N/A,14.4,81,1,25.8 +N/A,173,110,2725,N/A,81,1,23.5 +4,135,84,2385,12.9,N/A,1,30 +N/A,79,58,1755,16.9,81,3,39.1 +4,N/A,64,1875,16.4,81,1,39 +N/A,81,60,N/A,16.1,81,3,35.1 +4,97,67,2065,17.8,81,3,32.3 +4,85,N/A,1975,19.4,81,N/A,37 +4,89,N/A,N/A,17.3,81,3,37.7 +4,91,68,1985,16,81,3,34.1 +4,N/A,63,2215,14.9,81,1,34.7 +4,98,N/A,2045,16.2,81,1,34.4 +4,98,N/A,2380,20.7,81,1,29.9 +4,105,N/A,2190,N/A,81,2,33 +N/A,107,N/A,2210,N/A,81,N/A,33.7 +N/A,108,N/A,N/A,16.8,81,N/A,32.4 +4,119,100,2615,N/A,N/A,N/A,32.9 +4,N/A,N/A,2635,18.3,81,3,31.6 +4,141,80,3230,20.4,81,2,28.1 +N/A,145,N/A,3160,19.6,81,N/A,30.7 +6,168,N/A,2900,12.6,N/A,3,25.4 +N/A,146,120,N/A,13.8,81,N/A,24.2 +N/A,231,110,N/A,N/A,N/A,1,22.4 +N/A,350,N/A,3725,N/A,N/A,1,26.6 +N/A,N/A,88,3060,17.1,N/A,N/A,20.2 +N/A,N/A,85,3465,16.6,81,1,17.6 +4,112,N/A,N/A,19.6,82,1,28 +N/A,112,88,2640,18.6,82,1,27 +4,N/A,88,N/A,18,82,1,34 +4,N/A,N/A,N/A,N/A,82,1,31 +4,135,84,N/A,16,82,1,29 +4,151,90,N/A,18,82,1,27 +N/A,N/A,92,2865,16.4,82,N/A,24 +N/A,N/A,N/A,N/A,15.3,82,N/A,36 +4,N/A,N/A,2025,18.2,82,3,37 +4,91,68,1970,N/A,82,N/A,31 +4,105,63,N/A,14.7,N/A,1,38 +N/A,98,70,2125,17.3,N/A,1,36 +N/A,120,N/A,N/A,N/A,82,3,36 +4,107,75,2205,14.5,82,N/A,36 +N/A,N/A,70,N/A,16.9,82,3,34 +4,91,67,N/A,15,82,3,38 +4,N/A,67,1965,15.7,82,N/A,32 +4,91,67,1995,16.2,N/A,N/A,38 +6,N/A,110,2945,16.4,N/A,N/A,25 +6,262,N/A,N/A,N/A,82,1,38 +N/A,156,92,2585,14.5,82,1,26 +6,232,112,2835,14.7,N/A,N/A,22 +4,144,96,N/A,13.9,82,3,32 +N/A,N/A,N/A,2370,N/A,N/A,1,36 +4,151,90,2950,17.3,82,1,27 +4,140,86,2790,15.6,82,N/A,27 +4,N/A,52,2130,24.6,N/A,2,44 +4,N/A,84,2295,11.6,82,1,32 +4,120,79,2625,18.6,82,1,28 +4,119,82,2720,19.4,N/A,1,31 diff --git a/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuditNA.csv b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuditNA.csv new file mode 100644 index 00000000..8a755e44 --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAuditNA.csv @@ -0,0 +1,1900 @@ +Adjusted,probability(0),probability(1) +0,0.99935573,6.4425543E-4 +0,0.99687046,0.0031295132 +0,0.9850735,0.014926473 +1,0.27188182,0.7281182 +1,0.043663085,0.9563369 +0,0.9882857,0.011714261 +1,0.057537735,0.94246227 +0,0.99042225,0.009577742 +0,0.9979321,0.0020679503 +0,0.99998766,1.2325308E-5 +0,0.99944127,5.5874884E-4 +0,0.8732764,0.1267236 +0,0.9999814,1.8594363E-5 +0,0.9968918,0.0031081794 +1,0.07986367,0.92013633 +0,0.9998019,1.9810486E-4 +0,0.98043644,0.019563561 +0,0.9885793,0.011420718 +0,0.86482006,0.13517995 +0,0.6713551,0.32864484 +0,0.9966756,0.003324369 +0,0.9979277,0.0020722828 +0,0.99991184,8.8180575E-5 +0,0.9036131,0.096386924 +0,0.988129,0.011870973 +0,0.99861544,0.0013845374 +0,0.99934757,6.5243494E-4 +1,0.06331205,0.93668795 +1,0.04681194,0.95318806 +0,0.6232631,0.37673685 +0,0.96888405,0.031115945 +0,0.99951947,4.8050878E-4 +0,0.99976957,2.3042299E-4 +0,0.99990195,9.8056844E-5 +0,0.9997888,2.1119937E-4 +0,0.9982446,0.0017553963 +0,0.96973354,0.030266486 +1,0.102273285,0.8977267 +0,0.9177696,0.082230404 +0,0.99832207,0.001677938 +1,0.013171673,0.9868283 +0,0.9719054,0.028094597 +0,0.820698,0.17930199 +0,0.9973927,0.0026072864 +0,0.9977812,0.0022187869 +1,0.051938117,0.9480619 +0,0.9998722,1.2781023E-4 +1,0.020469844,0.97953016 +0,0.9938233,0.006176738 +1,0.23000479,0.7699952 +0,0.9984404,0.0015595952 +1,0.05487597,0.94512403 +1,0.066755295,0.9332447 +0,0.9999488,5.1184823E-5 +0,0.98198664,0.018013354 +1,0.0732671,0.9267329 +0,0.9989989,0.0010010984 +0,0.98146725,0.01853274 +0,0.9919777,0.008022286 +0,0.9958564,0.00414362 +0,0.99821717,0.0017828216 +0,0.8722779,0.12772208 +0,0.9751708,0.02482921 +0,0.8695578,0.13044219 +0,0.91839033,0.081609644 +0,0.999623,3.7697967E-4 +1,0.057584405,0.9424156 +0,0.9957444,0.004255569 +0,0.9955989,0.004401109 +0,0.9756808,0.02431916 +0,0.907689,0.092311 +1,0.14038801,0.859612 +0,0.99881476,0.0011852629 +0,0.96474445,0.03525558 +1,0.11722779,0.8827722 +0,0.99997336,2.6668711E-5 +0,0.99576145,0.004238523 +1,0.050456285,0.9495437 +0,0.98896205,0.011037956 +0,0.98961467,0.010385325 +0,0.99897283,0.0010271501 +0,0.99504334,0.0049566473 +0,0.9997101,2.8991557E-4 +1,0.2333036,0.7666964 +0,0.99995226,4.7713853E-5 +0,0.9716778,0.028322222 +0,0.9999519,4.810714E-5 +1,0.067153394,0.9328466 +0,0.99949396,5.0602976E-4 +0,0.9983623,0.0016377128 +0,0.9397839,0.060216125 +0,0.97285247,0.027147561 +0,0.9623336,0.037666406 +1,0.04268843,0.9573116 +0,0.9407352,0.059264805 +0,0.98708373,0.012916272 +0,0.8859469,0.114053085 +0,0.9009508,0.09904923 +1,0.018809259,0.98119074 +0,0.9804851,0.019514924 +1,0.050139785,0.9498602 +0,0.82775325,0.17224675 +1,0.07074118,0.9292588 +1,0.13553095,0.86446905 +0,0.8978943,0.10210569 +1,0.21343935,0.78656065 +0,0.99744606,0.002553922 +0,0.97873664,0.021263348 +0,0.9893058,0.010694177 +1,0.10020965,0.89979035 +0,0.93723595,0.062764056 +0,0.99814224,0.0018577653 +1,0.033336163,0.96666384 +0,0.99860156,0.0013984551 +0,0.99603224,0.003967748 +1,0.1093207,0.8906793 +0,0.99027544,0.009724562 +0,0.99995774,4.2287884E-5 +1,0.30971843,0.69028157 +1,0.3306318,0.6693682 +0,0.99985254,1.474416E-4 +0,0.9998883,1.11721565E-4 +1,0.081386745,0.91861326 +0,0.91257024,0.08742973 +1,0.014990926,0.9850091 +0,0.8463666,0.15363343 +0,0.9980223,0.0019777017 +1,0.08509934,0.91490066 +0,0.8844192,0.11558079 +0,0.93596774,0.06403227 +0,0.997971,0.0020290096 +1,0.040442288,0.9595577 +1,0.0059384704,0.9940615 +0,0.9841622,0.015837764 +0,0.81393605,0.18606393 +0,0.9935041,0.0064959 +0,0.9767603,0.023239663 +0,0.9999073,9.2680064E-5 +0,0.99984884,1.511856E-4 +0,0.98615587,0.013844124 +0,0.99264455,0.007355478 +0,0.99878305,0.0012169715 +1,0.13013917,0.8698608 +0,0.9995302,4.6981545E-4 +0,0.99308616,0.0069138687 +0,0.9988825,0.0011175425 +0,0.87177515,0.12822485 +0,0.9204292,0.079570785 +0,0.9989997,0.0010002594 +0,0.9506189,0.049381055 +0,0.9717376,0.028262358 +1,0.040227234,0.95977277 +0,0.95334566,0.046654325 +0,0.9847183,0.015281665 +0,0.99608546,0.003914545 +0,0.728964,0.271036 +1,0.19258672,0.8074133 +1,0.12512314,0.87487686 +1,0.16628176,0.83371824 +0,0.96662533,0.033374667 +0,0.8674544,0.13254562 +1,0.13643384,0.86356616 +1,0.13077903,0.869221 +1,0.04370588,0.9562941 +0,0.99593866,0.004061341 +1,0.18744987,0.8125501 +0,0.99991065,8.935027E-5 +0,0.9292785,0.07072152 +1,0.15620756,0.84379244 +0,0.88940895,0.11059105 +0,0.95116574,0.04883424 +0,0.9999862,1.385636E-5 +0,0.99998045,1.9552606E-5 +0,0.99012387,0.009876162 +0,0.9997884,2.1158898E-4 +0,0.9436111,0.056388926 +0,0.99289876,0.0071012443 +0,0.999421,5.789989E-4 +1,0.10105139,0.8989486 +1,0.36712652,0.6328735 +0,0.96743304,0.03256699 +0,0.99608797,0.0039120503 +0,0.99179214,0.008207842 +1,0.103674054,0.89632595 +0,0.99139345,0.008606544 +0,0.9599525,0.040047504 +0,0.9884878,0.011512234 +0,0.99986064,1.3935062E-4 +1,0.04041648,0.9595835 +0,0.9478228,0.05217716 +0,0.99797386,0.0020261528 +0,0.8268719,0.17312814 +0,0.9993863,6.1367016E-4 +0,0.99762875,0.0023712486 +0,0.9647285,0.03527155 +0,0.9758968,0.024103196 +0,0.99167484,0.00832515 +1,0.027561009,0.972439 +0,0.9985686,0.0014314007 +0,0.9999808,1.9214445E-5 +1,0.25150555,0.74849445 +0,0.79933286,0.20066711 +1,0.019102156,0.98089784 +0,0.9987975,0.0012025435 +0,0.976245,0.023754992 +0,0.9992542,7.457589E-4 +1,0.048182786,0.9518172 +0,0.9905,0.009500012 +0,0.99483424,0.005165746 +0,0.8862523,0.113747746 +0,0.998526,0.0014740517 +0,0.9671779,0.032822065 +0,0.9983566,0.0016433961 +0,0.988688,0.01131201 +0,0.6188451,0.38115487 +0,0.99994856,5.141558E-5 +0,0.99855673,0.0014432479 +0,0.9824214,0.01757858 +0,0.999259,7.410068E-4 +0,0.7899868,0.21001321 +1,0.21205401,0.787946 +0,0.9617646,0.03823544 +0,0.96733737,0.0326626 +0,0.99883664,0.0011633864 +1,0.16786915,0.83213085 +0,0.9997796,2.204375E-4 +0,0.9906708,0.009329221 +0,0.93685883,0.063141175 +0,0.9954601,0.004539931 +0,0.83558786,0.16441211 +1,0.3741101,0.6258899 +0,0.9913824,0.008617569 +0,0.9957985,0.004201484 +0,0.735054,0.26494595 +0,0.99225867,0.0077413525 +0,0.82999194,0.17000806 +1,0.020141602,0.9798584 +1,0.10116738,0.8988326 +0,0.96797186,0.032028146 +0,0.99926966,7.3036E-4 +1,0.055227757,0.94477224 +1,0.1424396,0.8575604 +0,0.9990076,9.92433E-4 +0,0.96039194,0.039608084 +1,0.28104532,0.7189547 +1,0.04616195,0.95383805 +0,0.99835354,0.0016464462 +0,0.99741524,0.0025847417 +1,0.025285304,0.9747147 +0,0.92449653,0.07550347 +0,0.9537632,0.046236787 +0,0.99988353,1.1646679E-4 +0,0.95986146,0.040138517 +0,0.9990569,9.431029E-4 +0,0.9972941,0.0027058574 +1,0.015845537,0.98415446 +0,0.9956811,0.004318902 +0,0.99840635,0.0015936755 +1,0.025539517,0.9744605 +1,0.017054975,0.982945 +0,0.941975,0.058025025 +0,0.99419874,0.005801234 +0,0.9663079,0.033692118 +0,0.9993962,6.038049E-4 +0,0.99991167,8.8330795E-5 +0,0.9571769,0.04282309 +0,0.9863694,0.013630629 +0,0.9760826,0.023917384 +0,0.99808145,0.0019185462 +0,0.99695337,0.0030466286 +1,0.031457663,0.96854234 +1,0.19005913,0.8099409 +0,0.9189987,0.081001304 +1,0.21912253,0.7808775 +0,0.99803805,0.0019619658 +0,0.88376623,0.11623378 +1,0.05975473,0.9402453 +0,0.8476014,0.15239857 +1,0.04054916,0.95945084 +1,0.11568093,0.88431907 +1,0.0977999,0.9022001 +0,0.8729056,0.1270944 +0,0.9053348,0.09466524 +0,0.83998835,0.16001166 +0,0.9766326,0.023367412 +0,0.9996955,3.0451195E-4 +0,0.99262327,0.0073767253 +1,0.15771568,0.8422843 +0,0.99810266,0.0018973598 +0,0.9952455,0.0047545093 +0,0.93414414,0.06585589 +0,0.99705404,0.002945975 +0,0.91441536,0.08558465 +0,0.9938655,0.0061345357 +0,0.9956925,0.004307481 +0,0.95973194,0.040268052 +0,0.9912742,0.008725796 +0,0.99853426,0.0014657296 +1,0.251589,0.748411 +0,0.9997096,2.9037477E-4 +0,0.99998695,1.3024767E-5 +0,0.9609254,0.039074603 +1,0.043256223,0.9567438 +0,0.99723154,0.0027684604 +0,0.99641544,0.0035845716 +1,0.038310945,0.96168905 +0,0.9960852,0.0039147977 +0,0.9958087,0.0041912775 +0,0.9866114,0.013388597 +0,0.9929914,0.0070086126 +0,0.9988192,0.0011808398 +0,0.9997672,2.3278846E-4 +1,0.073860765,0.92613924 +0,0.99887156,0.0011284583 +0,0.99890274,0.0010972568 +0,0.99995273,4.726357E-5 +0,0.99733657,0.0026634561 +0,0.95185864,0.048141368 +0,0.99980825,1.9172851E-4 +0,0.87013185,0.12986818 +0,0.99694765,0.0030523601 +1,0.09148675,0.90851325 +0,0.9505565,0.049443476 +0,0.95986485,0.040135138 +0,0.99732023,0.0026797378 +1,0.04518622,0.9548138 +0,0.9996829,3.1706988E-4 +0,0.9428558,0.05714423 +0,0.980757,0.019242996 +0,0.9799501,0.02004993 +0,0.99755836,0.0024416381 +1,0.103226185,0.8967738 +0,0.9469592,0.05304083 +0,0.98741287,0.012587136 +0,0.9909052,0.009094757 +0,0.97188926,0.028110761 +1,0.049176157,0.95082384 +0,0.99548507,0.0045149163 +1,0.11697221,0.8830278 +0,0.9776417,0.022358323 +1,0.01637268,0.9836273 +0,0.99816984,0.0018301342 +0,0.91420746,0.08579257 +0,0.98166656,0.018333439 +0,0.984599,0.015400998 +0,0.99977344,2.265862E-4 +0,0.9548304,0.045169614 +0,0.9944545,0.0055454844 +0,0.98372614,0.016273873 +0,0.9931501,0.00684988 +0,0.8973659,0.102634095 +0,0.975244,0.024756026 +0,0.9921419,0.0078581 +0,0.9995967,4.033035E-4 +0,0.98094004,0.019059937 +1,0.40442544,0.59557456 +0,0.9571148,0.042885203 +0,0.99707615,0.0029238209 +0,0.99913263,8.673485E-4 +0,0.99704367,0.002956359 +0,0.95415145,0.045848552 +1,0.083835304,0.9161647 +0,0.9962204,0.0037795606 +0,0.97845453,0.021545494 +0,0.8239323,0.1760677 +0,0.9994176,5.824163E-4 +0,0.9303406,0.069659404 +0,0.9758665,0.024133509 +0,0.7514711,0.2485289 +1,0.20554388,0.7944561 +0,0.99936616,6.338541E-4 +0,0.9893138,0.010686198 +1,0.08269906,0.91730094 +0,0.99369675,0.0063032596 +0,0.94404393,0.055956062 +0,0.95168483,0.04831519 +0,0.9991482,8.518221E-4 +0,0.98685646,0.013143537 +0,0.99994344,5.65541E-5 +0,0.9994892,5.107959E-4 +0,0.9263024,0.073697634 +0,0.99443686,0.00556312 +0,0.99967945,3.2055183E-4 +1,0.19448417,0.8055158 +1,0.20237803,0.79762197 +1,0.037817538,0.96218246 +0,0.99480104,0.005198965 +0,0.98972684,0.010273144 +1,0.27109665,0.72890335 +0,0.99112993,0.008870093 +0,0.9950985,0.0049015293 +0,0.9977747,0.002225277 +0,0.99965495,3.4507667E-4 +1,0.3251816,0.6748184 +0,0.99950516,4.948199E-4 +1,0.03164035,0.96835965 +0,0.9806379,0.019362086 +0,0.98805344,0.011946556 +0,0.9695479,0.030452052 +0,0.99937075,6.292273E-4 +0,0.9991123,8.8769075E-4 +1,0.033100843,0.96689916 +0,0.9548272,0.045172833 +0,0.9992983,7.0173794E-4 +0,0.99771446,0.0022855317 +0,0.98319554,0.016804444 +0,0.99656576,0.003434224 +0,0.9723792,0.027620772 +0,0.97798204,0.022017976 +0,0.992337,0.007663017 +0,0.92240876,0.077591255 +0,0.9124835,0.08751647 +0,0.9877929,0.012207075 +0,0.81926435,0.18073563 +0,0.9998957,1.0431574E-4 +0,0.80777824,0.19222175 +0,0.99921155,7.88465E-4 +0,0.91683054,0.083169475 +0,0.9846072,0.015392792 +0,0.9928182,0.0071818307 +0,0.9901224,0.009877617 +1,0.05254215,0.94745785 +1,0.033492327,0.9665077 +1,0.03508258,0.9649174 +1,0.10272509,0.8972749 +0,0.99073315,0.009266836 +0,0.97601324,0.023986755 +1,0.10717833,0.89282167 +0,0.9214056,0.07859437 +0,0.97742045,0.022579534 +0,0.9671297,0.032870304 +0,0.9310777,0.068922296 +0,0.98201895,0.017981056 +1,0.114957035,0.88504297 +1,0.012857914,0.9871421 +0,0.9626816,0.037318397 +0,0.96994424,0.030055754 +0,0.99946725,5.327422E-4 +0,0.98824894,0.011751033 +0,0.9650327,0.03496732 +0,0.9993945,6.055027E-4 +0,0.99993527,6.4721935E-5 +0,0.7954944,0.20450561 +1,0.14262998,0.85737 +1,0.046590567,0.95340943 +0,0.99992895,7.103952E-5 +1,0.08739525,0.91260475 +1,0.010120273,0.9898797 +0,0.9684676,0.03153238 +0,0.95027864,0.049721356 +0,0.99155253,0.008447448 +0,0.9983963,0.0016037365 +0,0.9249046,0.075095415 +0,0.9993908,6.092475E-4 +0,0.98541594,0.014584087 +0,0.99806017,0.0019398615 +0,0.87365746,0.12634252 +1,0.083649814,0.9163502 +1,0.18846989,0.8115301 +0,0.99996036,3.9650422E-5 +1,0.08656311,0.9134369 +0,0.9674113,0.032588694 +1,0.03583753,0.96416247 +1,0.050124943,0.94987506 +0,0.9839837,0.016016291 +1,0.059476912,0.9405231 +0,0.99476355,0.0052364687 +0,0.9991435,8.5650233E-4 +0,0.9405926,0.059407413 +1,0.07995117,0.92004883 +0,0.996278,0.003722027 +0,0.97146916,0.02853082 +0,0.99140763,0.008592368 +0,0.9886398,0.01136022 +0,0.88749546,0.112504534 +1,0.19999748,0.8000025 +1,0.32842457,0.6715754 +1,0.036456168,0.96354383 +1,0.24801719,0.7519828 +0,0.9999141,8.5890664E-5 +0,0.97692275,0.023077248 +0,0.99976224,2.3773636E-4 +0,0.99823946,0.0017605376 +0,0.91034913,0.0896509 +1,0.018380046,0.98161995 +1,0.11985946,0.88014054 +0,0.99766785,0.002332174 +0,0.7798259,0.22017404 +0,0.9949578,0.0050422195 +0,0.99878407,0.0012159599 +0,0.9486293,0.05137068 +0,0.9447773,0.055222716 +0,0.99888504,0.0011149882 +1,0.10425073,0.8957493 +0,0.84879726,0.15120275 +1,0.11450833,0.88549167 +0,0.74956,0.25044003 +0,0.99512357,0.004876415 +0,0.999971,2.9006744E-5 +0,0.9815357,0.018464334 +0,0.8751171,0.124882855 +0,0.98470706,0.0152929565 +0,0.9977704,0.0022295893 +0,0.99712,0.0028799728 +0,0.9995,5.0002715E-4 +1,0.12177026,0.87822974 +0,0.9991825,8.174864E-4 +0,0.99907243,9.275904E-4 +0,0.99976003,2.3994822E-4 +1,0.082865655,0.91713434 +1,0.010855019,0.989145 +0,0.998263,0.0017369839 +0,0.99951494,4.850784E-4 +1,0.037235558,0.96276444 +0,0.98078954,0.019210448 +0,0.9403465,0.05965355 +0,0.9941656,0.005834429 +0,0.9994757,5.2428467E-4 +0,0.998759,0.0012410134 +1,0.028196275,0.9718037 +1,0.10054028,0.8994597 +0,0.6425154,0.3574846 +0,0.935046,0.064953975 +0,0.99283475,0.007165238 +0,0.998104,0.001896004 +0,0.9291051,0.07089489 +1,0.12788475,0.87211525 +0,0.99509114,0.004908889 +0,0.95773816,0.04226186 +0,0.92851394,0.07148603 +0,0.9992985,7.0151157E-4 +0,0.9969618,0.0030382078 +1,0.08072466,0.91927534 +0,0.9997473,2.527213E-4 +0,0.99967444,3.2555778E-4 +0,0.9927255,0.007274501 +1,0.089429796,0.9105702 +1,0.14460403,0.855396 +0,0.99819267,0.0018073261 +0,0.99985945,1.4052635E-4 +0,0.99780285,0.002197157 +0,0.9973374,0.0026626012 +1,0.4839177,0.5160823 +0,0.90971476,0.09028522 +1,0.033011377,0.9669886 +0,0.99946296,5.370547E-4 +0,0.9998884,1.115889E-4 +1,0.027886987,0.972113 +0,0.9555487,0.04445129 +1,0.11695564,0.88304436 +0,0.8866644,0.113335624 +0,0.9916444,0.008355617 +0,0.9723701,0.02762993 +0,0.9985056,0.001494379 +0,0.98319286,0.016807152 +0,0.890204,0.109795995 +0,0.8362103,0.16378969 +0,0.98349434,0.016505668 +0,0.97445756,0.025542418 +0,0.90701836,0.09298165 +0,0.99726677,0.0027332092 +0,0.9979478,0.0020521756 +1,0.03516668,0.9648333 +1,0.003673017,0.996327 +1,0.08285141,0.9171486 +0,0.9775058,0.022494212 +1,0.19944292,0.8005571 +0,0.9900599,0.009940097 +0,0.996204,0.0037959774 +0,0.95511156,0.04488842 +0,0.92726487,0.07273514 +1,0.26428825,0.73571175 +0,0.9999736,2.6388752E-5 +0,0.9957869,0.004213067 +0,0.99960005,3.9993323E-4 +1,0.05522108,0.9447789 +0,0.9998145,1.854684E-4 +0,0.9850143,0.014985699 +0,0.9960663,0.0039336993 +0,0.95000696,0.04999305 +0,0.9999247,7.5275624E-5 +0,0.99839306,0.0016069318 +0,0.9997754,2.2458825E-4 +0,0.99746186,0.002538136 +0,0.9980645,0.0019354536 +0,0.9951047,0.0048953122 +0,0.8456326,0.15436737 +0,0.9776929,0.022307085 +0,0.9966602,0.003339834 +0,0.98784083,0.012159141 +0,0.9946316,0.0053684344 +1,0.058673322,0.9413267 +0,0.98331213,0.016687857 +0,0.9771338,0.022866162 +0,0.9999871,1.2890089E-5 +0,0.97946733,0.020532645 +1,0.19863605,0.80136395 +1,0.08482075,0.91517925 +0,0.99794734,0.0020526415 +1,0.1588313,0.8411687 +0,0.99845076,0.0015492581 +0,0.97761345,0.022386523 +0,0.9941147,0.0058853272 +0,0.9595399,0.040460125 +0,0.9981321,0.0018678681 +0,0.8878753,0.112124704 +0,0.9973329,0.0026671067 +0,0.9794332,0.02056684 +0,0.97955346,0.020446567 +0,0.9341805,0.065819494 +0,0.7737933,0.22620673 +1,0.017625272,0.9823747 +1,0.14585537,0.85414463 +0,0.99021566,0.009784347 +0,0.9966834,0.003316608 +0,0.9997406,2.5938047E-4 +0,0.99925697,7.4301613E-4 +0,0.9976678,0.0023322161 +1,0.07213646,0.92786354 +0,0.9997165,2.8345498E-4 +0,0.93585014,0.06414987 +0,0.99581385,0.004186138 +0,0.95965195,0.040348034 +0,0.90473187,0.09526812 +1,0.14713037,0.85286963 +0,0.9844918,0.015508168 +0,0.99941725,5.827631E-4 +0,0.9988836,0.0011164236 +0,0.99526536,0.004734614 +0,0.96139765,0.03860236 +0,0.9714045,0.028595526 +0,0.9998792,1.2084411E-4 +0,0.9938221,0.006177912 +0,0.98711675,0.012883217 +0,0.9983222,0.0016778039 +1,0.046851337,0.95314866 +0,0.98081255,0.019187456 +0,0.9524198,0.047580168 +0,0.9986956,0.0013043626 +0,0.9945126,0.0054873745 +0,0.97381693,0.02618305 +1,0.038065434,0.96193457 +0,0.9998867,1.1330286E-4 +0,0.9998254,1.7457995E-4 +0,0.97005516,0.029944828 +0,0.95474875,0.04525125 +0,0.9983483,0.001651684 +0,0.99261403,0.0073859417 +0,0.986147,0.013852994 +1,0.15987295,0.84012705 +0,0.9994102,5.898013E-4 +0,0.99906665,9.333449E-4 +1,0.041012466,0.95898753 +1,0.073615015,0.926385 +0,0.98885554,0.01114447 +0,0.99258405,0.0074159657 +1,0.10626358,0.8937364 +1,0.024867892,0.9751321 +0,0.96019924,0.03980077 +0,0.94419557,0.055804458 +0,0.97014254,0.02985746 +0,0.9785575,0.021442475 +0,0.9925668,0.007433194 +0,0.99893343,0.0010665699 +0,0.8748845,0.12511554 +0,0.99367577,0.006324216 +1,0.1656133,0.8343867 +0,0.96783674,0.032163236 +1,0.0423584,0.9576416 +0,0.9973929,0.002607134 +0,0.9990155,9.845007E-4 +0,0.9579578,0.04204222 +0,0.9601133,0.03988674 +0,0.99908435,9.1566914E-4 +0,0.9994198,5.802084E-4 +0,0.99980855,1.9145211E-4 +0,0.9414476,0.058552403 +1,0.01703024,0.98296976 +0,0.997128,0.0028719706 +0,0.8942054,0.10579459 +0,0.96809936,0.031900667 +1,0.1873855,0.8126145 +0,0.99974895,2.5105654E-4 +0,0.9095775,0.09042251 +0,0.98102057,0.018979413 +1,0.04228604,0.95771396 +0,0.99706817,0.0029318528 +0,0.9999023,9.766929E-5 +1,0.036323786,0.9636762 +1,0.24364102,0.756359 +1,0.026555061,0.97344494 +0,0.9951834,0.0048165773 +0,0.9859852,0.014014783 +0,0.99988884,1.1115729E-4 +0,0.99969375,3.0624485E-4 +1,0.055119038,0.94488096 +0,0.99523735,0.004762637 +0,0.99602926,0.0039707175 +0,0.98833734,0.011662664 +0,0.92080724,0.07919274 +1,0.1830256,0.8169744 +0,0.853339,0.14666097 +0,0.9923095,0.007690489 +0,0.9149186,0.085081376 +1,0.06459504,0.93540496 +0,0.9735809,0.026419098 +1,0.04407686,0.95592314 +0,0.98091406,0.019085944 +1,0.040505588,0.9594944 +1,0.016602695,0.9833973 +1,0.2685315,0.7314685 +0,0.9159308,0.08406918 +0,0.9843617,0.01563832 +0,0.87976503,0.120234996 +1,0.068463445,0.93153656 +1,0.018043697,0.9819563 +0,0.9998074,1.925823E-4 +0,0.9995985,4.0148373E-4 +0,0.9997726,2.2741905E-4 +0,0.92240363,0.07759636 +0,0.9474538,0.052546203 +0,0.98010206,0.01989791 +0,0.9997374,2.6261914E-4 +0,0.9990932,9.068197E-4 +0,0.9994936,5.064083E-4 +0,0.8454219,0.15457809 +0,0.98186105,0.018138962 +0,0.99993736,6.265395E-5 +1,0.12112737,0.87887263 +0,0.9906872,0.009312833 +0,0.9691741,0.030825913 +0,0.94729966,0.05270032 +0,0.99877,0.0012300202 +0,0.99523085,0.0047691325 +0,0.9993853,6.147218E-4 +1,0.09165841,0.9083416 +0,0.952297,0.047703046 +1,0.049827516,0.9501725 +0,0.9541845,0.045815542 +1,0.014765918,0.9852341 +0,0.9955989,0.004401109 +0,0.99982494,1.7506353E-4 +1,0.01378113,0.98621887 +1,0.024314404,0.9756856 +0,0.98714393,0.012856072 +0,0.9842831,0.015716908 +0,0.9997008,2.992301E-4 +0,0.99345773,0.00654227 +0,0.999178,8.2198565E-4 +1,0.15989053,0.84010947 +0,0.9933828,0.0066171885 +0,0.99943006,5.6995323E-4 +0,0.99993694,6.305596E-5 +0,0.99985087,1.4910924E-4 +0,0.9371487,0.06285128 +0,0.9724087,0.027591262 +1,0.16101545,0.83898455 +0,0.90893114,0.09106888 +0,0.99940324,5.9673446E-4 +0,0.8616258,0.1383742 +0,0.99960923,3.9079215E-4 +1,0.06082779,0.9391722 +0,0.9894302,0.010569835 +0,0.9997504,2.496411E-4 +0,0.9975184,0.0024815754 +0,0.9996869,3.1311307E-4 +1,0.087452054,0.91254795 +1,0.02014333,0.97985667 +1,0.026328743,0.97367126 +0,0.99980843,1.915752E-4 +1,0.054320753,0.94567925 +0,0.97563493,0.024365079 +0,0.99371696,0.0062830565 +0,0.9815742,0.018425805 +0,0.9999301,6.991096E-5 +0,0.8639389,0.1360611 +0,0.9083992,0.09160078 +0,0.9995551,4.4486523E-4 +0,0.9996355,3.644846E-4 +1,0.18249846,0.81750154 +0,0.9913153,0.008684713 +0,0.9944551,0.0055448953 +0,0.9989167,0.0010833379 +0,0.99978113,2.1884592E-4 +1,0.039773047,0.96022695 +0,0.98640835,0.013591647 +0,0.93437064,0.065629385 +1,0.032628536,0.96737146 +0,0.9998527,1.4727301E-4 +0,0.9998823,1.17718766E-4 +0,0.95314705,0.046852924 +1,0.038830996,0.961169 +1,0.013695359,0.98630464 +0,0.9999699,3.0090556E-5 +0,0.99962705,3.7292697E-4 +0,0.99682534,0.0031746665 +0,0.9878059,0.012194087 +0,0.9650165,0.03498352 +0,0.9999228,7.721095E-5 +1,0.008745313,0.9912547 +0,0.9810065,0.018993486 +0,0.9980771,0.0019229165 +1,0.2754048,0.7245952 +0,0.99956095,4.3906542E-4 +1,0.16642964,0.83357036 +0,0.8519139,0.1480861 +0,0.9755745,0.024425521 +0,0.9975055,0.002494489 +1,0.09279621,0.9072038 +0,0.99232906,0.0076709506 +0,0.9824766,0.017523434 +0,0.9913661,0.008633907 +1,0.033989847,0.96601015 +1,0.067501426,0.9324986 +1,0.047574222,0.9524258 +1,0.14020985,0.85979015 +1,0.104527354,0.89547265 +0,0.95258534,0.047414653 +0,0.9818486,0.018151399 +0,0.9999587,4.131372E-5 +1,0.052013755,0.94798625 +0,0.91200554,0.08799444 +0,0.99386233,0.006137691 +0,0.99192214,0.008077889 +0,0.99990386,9.6117445E-5 +1,0.086889744,0.91311026 +1,0.045508027,0.954492 +0,0.9979772,0.0020228096 +0,0.9419769,0.058023065 +0,0.9993099,6.9009245E-4 +0,0.9422781,0.057721887 +0,0.99676186,0.0032381236 +0,0.99884796,0.0011520183 +1,0.15258962,0.8474104 +0,0.9668313,0.033168666 +0,0.85235167,0.14764833 +0,0.98542154,0.014578462 +0,0.9976403,0.002359673 +0,0.9239615,0.07603847 +0,0.9513552,0.048644762 +0,0.9997889,2.1110353E-4 +1,0.09953272,0.9004673 +0,0.9975805,0.0024194631 +0,0.9908249,0.0091751395 +0,0.9999011,9.887071E-5 +0,0.99974674,2.5326817E-4 +1,0.0056726336,0.99432737 +0,0.895235,0.104765005 +1,0.19289124,0.80710876 +1,0.13294894,0.86705106 +1,0.194695,0.805305 +0,0.9631525,0.03684747 +1,0.059218526,0.9407815 +0,0.99869627,0.001303762 +0,0.98939323,0.010606762 +0,0.9648893,0.035110712 +1,0.052610517,0.9473895 +1,0.09007168,0.9099283 +0,0.96223736,0.037762627 +0,0.9336707,0.06632929 +1,0.13339698,0.866603 +0,0.94183284,0.058167152 +1,0.13383019,0.8661698 +1,0.0735898,0.9264102 +0,0.9927544,0.007245612 +1,0.09731078,0.9026892 +1,0.025633931,0.97436607 +0,0.999938,6.196676E-5 +0,0.99513775,0.004862249 +0,0.7449105,0.25508952 +0,0.9970061,0.0029938621 +0,0.993544,0.0064560254 +0,0.98067105,0.019328937 +0,0.93411684,0.06588319 +0,0.99931884,6.8116136E-4 +0,0.89907116,0.10092883 +0,0.9995504,4.4958515E-4 +0,0.9795624,0.020437615 +0,0.74544144,0.25455853 +0,0.9905648,0.009435154 +0,0.9874389,0.012561086 +0,0.99856204,0.001437958 +0,0.9991737,8.2630204E-4 +0,0.9166883,0.08331168 +1,0.1560089,0.8439911 +0,0.93859434,0.061405655 +0,0.9563903,0.043609675 +0,0.9571107,0.042889282 +0,0.98340714,0.016592858 +0,0.97695756,0.023042431 +1,0.009955883,0.9900441 +1,0.011357605,0.9886424 +0,0.9999024,9.759798E-5 +1,0.013566613,0.9864334 +0,0.9641495,0.0358505 +1,0.07782906,0.92217094 +1,0.041884065,0.95811594 +1,0.13860315,0.86139685 +0,0.99230766,0.00769236 +0,0.90435565,0.095644355 +0,0.97933084,0.02066917 +0,0.92662305,0.073376946 +0,0.7415793,0.25842074 +0,0.9999242,7.578745E-5 +0,0.9901613,0.009838683 +0,0.9780804,0.021919606 +1,0.08246601,0.917534 +1,0.046447396,0.9535526 +0,0.9598724,0.040127553 +0,0.9988605,0.0011395296 +0,0.9660384,0.033961616 +0,0.9949627,0.005037296 +0,0.99849147,0.001508555 +0,0.97548866,0.024511347 +0,0.8489124,0.1510876 +1,0.138008,0.861992 +1,0.091983855,0.90801615 +1,0.17093313,0.8290669 +0,0.999265,7.350088E-4 +0,0.99867743,0.0013225393 +1,0.15251178,0.8474882 +0,0.9997459,2.5411425E-4 +0,0.995058,0.0049419748 +0,0.98519087,0.0148091335 +0,0.98298156,0.017018422 +1,0.0644235,0.9355765 +1,0.089857996,0.910142 +0,0.96903974,0.030960262 +0,0.9990963,9.037111E-4 +1,0.2688318,0.7311682 +1,0.060199976,0.9398 +0,0.998558,0.0014420142 +0,0.99935764,6.4235606E-4 +1,0.119620204,0.8803798 +1,0.3006823,0.6993177 +0,0.99608827,0.0039117625 +0,0.9997205,2.7949564E-4 +0,0.8587542,0.1412458 +0,0.9669023,0.03309768 +0,0.99972206,2.779276E-4 +0,0.9067311,0.09326888 +0,0.9046427,0.09535732 +0,0.99999243,7.5796193E-6 +0,0.9907228,0.009277217 +0,0.99320805,0.0067919325 +0,0.9433765,0.056623496 +0,0.9996789,3.211024E-4 +0,0.9865845,0.013415544 +0,0.83770925,0.16229075 +0,0.995192,0.0048080115 +1,0.013929963,0.98607004 +0,0.999984,1.5979947E-5 +0,0.9979908,0.002009206 +1,0.09783363,0.90216637 +1,0.09737927,0.90262073 +1,0.105594456,0.89440554 +0,0.9467054,0.053294625 +0,0.9981994,0.0018006192 +1,0.021370888,0.9786291 +0,0.99747247,0.002527543 +0,0.9862452,0.013754812 +0,0.9490215,0.050978504 +1,0.16802603,0.83197397 +0,0.9985228,0.001477172 +1,0.025143147,0.97485685 +0,0.8863355,0.11366452 +0,0.91955787,0.080442116 +1,0.018773794,0.9812262 +0,0.9899843,0.010015712 +0,0.9311966,0.06880342 +0,0.99236935,0.0076306644 +1,0.1628632,0.8371368 +0,0.99844015,0.001559881 +0,0.97158265,0.028417366 +0,0.9960432,0.003956822 +0,0.9188994,0.081100605 +0,0.9490577,0.050942328 +0,0.995909,0.004091018 +0,0.9230833,0.076916665 +0,0.9606465,0.039353516 +0,0.9715631,0.028436927 +1,0.16944993,0.8305501 +0,0.99846214,0.0015378725 +0,0.8455345,0.15446551 +0,0.998701,0.0012989974 +0,0.99695605,0.0030439442 +0,0.9970419,0.0029581233 +1,0.116043925,0.8839561 +0,0.992704,0.0072960397 +1,0.010944009,0.989056 +0,0.9970521,0.0029479212 +0,0.88737875,0.11262126 +0,0.799225,0.200775 +1,0.0021198988,0.9978801 +0,0.99993724,6.2758416E-5 +0,0.99984103,1.5896616E-4 +0,0.9720832,0.02791679 +0,0.98739195,0.012608073 +1,0.028874397,0.9711256 +0,0.90928763,0.09071236 +0,0.9995678,4.322213E-4 +0,0.94036907,0.059630957 +0,0.99984676,1.5322E-4 +0,0.9998542,1.4577025E-4 +0,0.99722517,0.0027748118 +1,0.18857187,0.8114281 +1,0.056283116,0.9437169 +1,0.17232615,0.82767385 +0,0.99804354,0.0019564852 +0,0.99527735,0.004722635 +1,0.18038392,0.8196161 +0,0.9708419,0.02915812 +1,0.025295079,0.9747049 +1,0.052700043,0.94729996 +0,0.99942124,5.78739E-4 +1,0.024301708,0.9756983 +0,0.9985875,0.0014125179 +0,0.99805,0.0019500491 +1,0.09860259,0.9013974 +0,0.992086,0.007913997 +0,0.99942166,5.783403E-4 +1,0.0034039617,0.99659604 +0,0.9744266,0.025573345 +0,0.9999064,9.35986E-5 +1,0.20661026,0.79338974 +0,0.99897087,0.0010291277 +0,0.9592171,0.04078296 +0,0.9796336,0.020366399 +0,0.94801563,0.05198435 +1,0.07836777,0.92163223 +0,0.9872083,0.012791669 +0,0.99825704,0.0017429348 +0,0.99777925,0.0022207354 +0,0.9778225,0.02217751 +0,0.8901436,0.10985643 +0,0.99861205,0.0013879561 +1,0.017732918,0.9822671 +0,0.999506,4.94011E-4 +0,0.9455408,0.054459214 +1,0.09759444,0.90240556 +0,0.99847525,0.001524724 +0,0.99053293,0.009467071 +1,0.1038053,0.8961947 +0,0.9893376,0.010662391 +0,0.87125844,0.12874156 +0,0.9999446,5.540195E-5 +0,0.99660987,0.0033901553 +0,0.9448799,0.055120133 +0,0.9848065,0.015193521 +0,0.9998122,1.8781873E-4 +0,0.99995625,4.3739583E-5 +0,0.97415096,0.02584903 +0,0.960192,0.039807986 +0,0.999372,6.2801706E-4 +0,0.9827621,0.017237874 +0,0.9462739,0.053726047 +1,0.09130716,0.90869284 +0,0.9362674,0.06373262 +0,0.7147578,0.28524223 +0,0.96746194,0.03253803 +1,0.055155218,0.9448448 +1,0.026708603,0.9732914 +0,0.9998001,1.9993453E-4 +1,0.06337094,0.93662906 +0,0.9996048,3.9516776E-4 +1,0.15090263,0.8490974 +0,0.8419588,0.15804118 +0,0.9787135,0.021286502 +1,0.31090719,0.6890928 +0,0.997863,0.0021369918 +0,0.9998157,1.8427274E-4 +0,0.91372216,0.08627781 +0,0.9956429,0.0043570753 +0,0.9998737,1.2629441E-4 +0,0.99972004,2.7996956E-4 +0,0.9994943,5.056821E-4 +1,0.18838567,0.81161433 +1,0.036485672,0.9635143 +0,0.999797,2.0302685E-4 +1,0.13253778,0.8674622 +0,0.99936706,6.329534E-4 +0,0.999987,1.2996824E-5 +0,0.9973524,0.002647573 +0,0.9561271,0.04387288 +0,0.999965,3.500469E-5 +1,0.060934305,0.9390657 +0,0.99450123,0.005498748 +0,0.89785534,0.10214465 +0,0.9526927,0.047307305 +0,0.9955268,0.0044732234 +1,0.060271263,0.93972874 +0,0.99974716,2.5284954E-4 +1,0.26826876,0.73173124 +0,0.99487364,0.0051263403 +0,0.98306227,0.016937757 +0,0.99946576,5.3426187E-4 +0,0.9912647,0.008735317 +0,0.9999731,2.6885176E-5 +1,0.12203336,0.87796664 +0,0.9926264,0.0073735733 +1,0.1295172,0.8704828 +0,0.96000105,0.039998937 +0,0.9941845,0.005815511 +0,0.9977528,0.0022472346 +1,0.068332136,0.93166786 +0,0.9999383,6.168995E-5 +0,0.838549,0.161451 +0,0.9644235,0.03557652 +0,0.99998975,1.0232084E-5 +0,0.99350804,0.0064919717 +0,0.98944825,0.010551744 +0,0.99744797,0.0025520422 +0,0.9936125,0.0063874675 +1,0.07116008,0.9288399 +0,0.9999255,7.450662E-5 +0,0.98164284,0.018357132 +0,0.94511074,0.054889243 +0,0.9881361,0.011863859 +0,0.99982625,1.7373702E-4 +0,0.98611224,0.013887783 +0,0.9998252,1.7484715E-4 +0,0.9410163,0.058983687 +0,0.99751186,0.0024881517 +1,0.10590398,0.894096 +0,0.8895469,0.110453136 +1,0.054139674,0.9458603 +1,0.19539285,0.80460715 +0,0.9909944,0.00900562 +0,0.9360224,0.063977614 +0,0.9879498,0.012050185 +0,0.9294291,0.070570886 +0,0.97753245,0.02246755 +0,0.9997845,2.1544842E-4 +1,0.023293018,0.976707 +0,0.99985343,1.4653898E-4 +1,0.010802686,0.9891973 +0,0.99535644,0.0046435846 +1,0.030154347,0.96984565 +0,0.7400949,0.25990507 +0,0.9998342,1.6582788E-4 +0,0.78813004,0.21186994 +0,0.9960762,0.0039237477 +1,0.0065172315,0.99348277 +0,0.96281964,0.03718035 +0,0.9997028,2.9721428E-4 +0,0.9998152,1.8477258E-4 +0,0.97995317,0.02004681 +0,0.99998146,1.8541808E-5 +1,0.32532316,0.67467684 +0,0.9995627,4.3732525E-4 +0,0.9353388,0.06466119 +0,0.99882805,0.0011719676 +0,0.881085,0.118915044 +1,0.13325047,0.8667495 +0,0.9994877,5.1227474E-4 +0,0.8574669,0.14253314 +0,0.99347097,0.0065290565 +0,0.99961674,3.8323444E-4 +1,0.10301024,0.89698976 +0,0.87546766,0.12453233 +0,0.9532346,0.046765402 +0,0.998295,0.001704966 +0,0.9007946,0.09920537 +0,0.9955856,0.0044143717 +0,0.9526083,0.04739174 +0,0.9028414,0.09715863 +0,0.999579,4.209663E-4 +0,0.99127656,0.008723462 +0,0.961436,0.038564 +0,0.9981109,0.0018891196 +1,0.07514417,0.9248558 +0,0.99683154,0.0031684437 +1,0.14570743,0.8542926 +0,0.99730647,0.0026935556 +0,0.9971373,0.002862684 +0,0.9994691,5.3087197E-4 +0,0.9925395,0.007460488 +1,0.008157134,0.99184287 +1,0.052873433,0.94712657 +1,0.11130971,0.8886903 +0,0.99994105,5.896648E-5 +0,0.9463114,0.053688563 +0,0.99115586,0.008844107 +0,0.9869218,0.013078192 +1,0.035963356,0.96403664 +0,0.986636,0.013364016 +0,0.99241805,0.007581954 +0,0.9999541,4.587244E-5 +0,0.99790305,0.0020969333 +0,0.99932384,6.7614176E-4 +0,0.9975947,0.002405257 +0,0.99994063,5.9386217E-5 +0,0.763857,0.23614301 +0,0.999932,6.80382E-5 +0,0.9996723,3.2772517E-4 +0,0.988415,0.011584993 +0,0.99877495,0.0012250586 +0,0.9647194,0.035280567 +0,0.9888058,0.011194212 +0,0.9958454,0.004154602 +0,0.9965516,0.0034484512 +0,0.94385314,0.056146864 +0,0.99593997,0.0040600025 +0,0.9994797,5.202742E-4 +0,0.91487443,0.08512557 +0,0.9989256,0.0010743717 +0,0.7485547,0.25144526 +0,0.9995111,4.8887264E-4 +0,0.9999723,2.7737045E-5 +0,0.91013336,0.08986667 +0,0.83747095,0.16252907 +0,0.9995245,4.7551602E-4 +0,0.9834334,0.016566573 +0,0.9989071,0.0010929051 +0,0.9971489,0.0028511565 +1,0.02103728,0.9789627 +1,0.021883965,0.97811604 +1,0.12405008,0.8759499 +0,0.9978692,0.002130781 +0,0.9892184,0.010781587 +1,0.12467736,0.87532264 +0,0.95695317,0.043046817 +0,0.9998914,1.08585E-4 +0,0.99684376,0.003156232 +0,0.9905476,0.009452416 +1,0.08695263,0.9130474 +0,0.96875316,0.031246863 +0,0.9996965,3.0348077E-4 +0,0.90085363,0.099146344 +0,0.99962884,3.7117873E-4 +0,0.9269148,0.07308522 +0,0.8436107,0.1563893 +0,0.98848164,0.011518341 +0,0.9377831,0.062216856 +0,0.94561464,0.054385375 +0,0.9998175,1.8253658E-4 +0,0.85393065,0.14606936 +1,0.14389485,0.85610515 +0,0.9999603,3.9681556E-5 +0,0.9987127,0.0012872822 +0,0.9994248,5.7518354E-4 +0,0.9832026,0.016797401 +1,0.3738116,0.6261884 +0,0.970016,0.029984018 +0,0.9837942,0.016205776 +0,0.99961835,3.8163774E-4 +1,0.09293842,0.9070616 +1,0.4384246,0.5615754 +1,0.18097806,0.81902194 +0,0.94285303,0.057146985 +1,0.014217973,0.985782 +0,0.9999836,1.6370428E-5 +0,0.9957062,0.004293774 +1,0.021255553,0.97874445 +0,0.9269644,0.07303562 +0,0.9974275,0.0025725057 +0,0.9753898,0.024610238 +0,0.8502768,0.14972316 +0,0.832396,0.16760401 +1,0.12644619,0.8735538 +0,0.9615103,0.03848969 +0,0.9829919,0.01700812 +0,0.9257914,0.07420863 +1,0.058468997,0.941531 +0,0.9631438,0.03685616 +1,0.07210457,0.9278954 +1,0.1680125,0.8319875 +0,0.9998169,1.8308338E-4 +0,0.81598955,0.18401045 +0,0.9939636,0.006036388 +0,0.9999774,2.2593269E-5 +0,0.9984883,0.0015117093 +0,0.9731318,0.026868204 +0,0.9526293,0.047370683 +0,0.94242775,0.057572253 +0,0.9980378,0.0019622068 +0,0.9948454,0.005154591 +0,0.99954575,4.5424295E-4 +0,0.9623374,0.037662607 +0,0.9915255,0.008474519 +0,0.9968038,0.0031962092 +0,0.90187204,0.09812799 +0,0.9751201,0.024879877 +1,0.1896491,0.8103509 +0,0.91321635,0.08678368 +0,0.9946873,0.005312709 +0,0.92253673,0.07746324 +0,0.9279154,0.0720846 +0,0.9703327,0.029667327 +1,0.08153826,0.91846174 +0,0.9931612,0.0068387883 +0,0.9968539,0.0031461318 +1,0.05375731,0.9462427 +0,0.9988918,0.0011082233 +0,0.99822825,0.0017717462 +0,0.9989972,0.0010027823 +0,0.9983247,0.001675305 +0,0.9949479,0.005052102 +0,0.99308866,0.0069113253 +0,0.9945938,0.005406197 +0,0.99358165,0.006418374 +0,0.9812526,0.018747365 +0,0.99857265,0.0014273783 +0,0.9531739,0.046826143 +0,0.99967086,3.2915364E-4 +0,0.98964816,0.010351833 +0,0.9932267,0.006773301 +1,0.012188137,0.98781186 +1,0.07456994,0.92543006 +0,0.99881786,0.0011821566 +0,0.9965263,0.0034736702 +0,0.97845787,0.021542111 +0,0.99998814,1.1885886E-5 +0,0.9999548,4.518412E-5 +0,0.99429095,0.0057090437 +0,0.9983664,0.0016335587 +0,0.9993943,6.0570124E-4 +0,0.9395492,0.06045082 +1,0.12808728,0.8719127 +0,0.8263386,0.17366143 +0,0.9624002,0.037599828 +0,0.998631,0.0013690138 +0,0.99551773,0.0044822698 +0,0.5026442,0.49735582 +0,0.99652696,0.0034730367 +0,0.9996154,3.8465092E-4 +0,0.97731805,0.02268197 +1,0.03927517,0.96072483 +0,0.92455995,0.07544007 +0,0.9295379,0.07046212 +0,0.98061776,0.019382214 +0,0.9936631,0.00633691 +0,0.99125445,0.008745561 +0,0.9668701,0.03312987 +0,0.9978365,0.0021635424 +0,0.9999787,2.1299891E-5 +1,0.014990032,0.98500997 +0,0.9886267,0.011373257 +0,0.9963146,0.0036854078 +0,0.9908871,0.009112867 +0,0.9397608,0.06023917 +0,0.9994674,5.3262943E-4 +1,0.020723045,0.97927696 +0,0.95402825,0.04597178 +1,0.034599423,0.9654006 +0,0.9264202,0.07357976 +0,0.965799,0.034201033 +1,0.015159905,0.9848401 +0,0.9999455,5.448344E-5 +1,0.14259237,0.8574076 +0,0.996855,0.003145009 +0,0.99708974,0.0029102557 +0,0.94475424,0.055245772 +0,0.99297345,0.007026525 +0,0.9355097,0.06449034 +0,0.99895877,0.0010412257 +0,0.99935865,6.41369E-4 +0,0.9981786,0.0018213851 +0,0.98672885,0.013271146 +0,0.9951001,0.0048999228 +1,0.016051352,0.98394865 +0,0.994948,0.005051946 +0,0.99813694,0.0018630463 +0,0.9916047,0.008395342 +0,0.96421945,0.035780556 +1,0.11927158,0.8807284 +0,0.9986617,0.0013383095 +1,0.017910242,0.98208976 +0,0.9859417,0.014058285 +1,0.0057865977,0.9942134 +0,0.99906313,9.368651E-4 +0,0.9999182,8.17644E-5 +0,0.9826922,0.017307838 +0,0.96880126,0.031198753 +1,0.06947321,0.9305268 +0,0.9403406,0.059659407 +0,0.9970484,0.0029516025 +1,0.092650235,0.90734977 +1,0.067679584,0.9323204 +0,0.99856544,0.0014345674 +0,0.99727494,0.0027250668 +0,0.9858458,0.014154177 +0,0.99758154,0.0024184415 +0,0.99592847,0.004071551 +0,0.9905472,0.009452799 +0,0.9972328,0.0027671838 +0,0.99932545,6.745729E-4 +0,0.9981266,0.0018733776 +0,0.99741715,0.0025828506 +0,0.9800757,0.019924253 +0,0.99760175,0.0023982534 +0,0.9863153,0.013684663 +0,0.9956202,0.004379816 +0,0.9883751,0.011624849 +0,0.9779081,0.022091897 +0,0.99991727,8.273745E-5 +0,0.9993812,6.187909E-4 +0,0.9987353,0.0012646936 +1,0.032745898,0.9672541 +1,0.29085743,0.70914257 +1,0.2059812,0.7940188 +1,0.077314734,0.92268527 +0,0.9728448,0.027155245 +1,0.004039824,0.9959602 +0,0.99901825,9.817741E-4 +0,0.8485657,0.15143427 +0,0.99788886,0.002111136 +0,0.95539784,0.044602185 +0,0.97959435,0.020405676 +0,0.9839461,0.016053902 +0,0.97383,0.02616999 +1,0.09570426,0.90429574 +0,0.9976945,0.0023055265 +0,0.91306156,0.08693844 +1,0.13073242,0.8692676 +0,0.9550663,0.044933677 +0,0.9987516,0.0012484002 +0,0.99812424,0.0018757838 +0,0.9667916,0.033208363 +0,0.96160173,0.038398296 +0,0.9496368,0.05036318 +0,0.85102355,0.14897642 +0,0.98636353,0.013636495 +1,0.14884192,0.8511581 +0,0.99909043,9.095646E-4 +1,0.042455256,0.95754474 +1,0.19017476,0.80982524 +0,0.9868424,0.013157596 +0,0.99996,3.9980565E-5 +1,0.20981073,0.79018927 +0,0.99988586,1.1414404E-4 +0,0.99813277,0.0018672548 +0,0.9853701,0.014629892 +1,0.10228413,0.89771587 +0,0.9511461,0.0488539 +0,0.9569112,0.043088824 +0,0.9969342,0.0030657959 +0,0.99337316,0.0066268244 +0,0.993522,0.0064780237 +0,0.9985801,0.0014199134 +1,0.038434148,0.96156585 +0,0.99977946,2.205605E-4 +0,0.9994787,5.2131247E-4 +1,0.32490832,0.6750917 +0,0.9949795,0.0050205044 +0,0.9967481,0.0032519286 +0,0.9993639,6.360803E-4 +0,0.9162893,0.08371066 +0,0.9998937,1.0627563E-4 +0,0.9739627,0.026037294 +0,0.9734141,0.026585849 +0,0.89717174,0.102828264 +0,0.9842332,0.015766777 +0,0.90739864,0.092601344 +0,0.8340665,0.16593349 +0,0.8388238,0.1611762 +0,0.97073114,0.029268874 +0,0.9955046,0.0044953935 +0,0.952455,0.047545034 +0,0.99910045,8.9954503E-4 +0,0.9998299,1.7012705E-4 +0,0.90717065,0.09282938 +0,0.99504644,0.0049535437 +1,0.11414981,0.8858502 +0,0.9916894,0.008310628 +0,0.99948865,5.113388E-4 +1,0.04350066,0.95649934 +1,0.013820469,0.98617953 +1,0.073308885,0.9266911 +0,0.94090474,0.05909528 +0,0.9907896,0.0092103975 +0,0.994183,0.0058169863 +1,0.22742528,0.7725747 +0,0.93185854,0.068141475 +0,0.99925786,7.4212695E-4 +0,0.7650833,0.23491669 +1,0.0031377077,0.9968623 +0,0.9994087,5.912954E-4 +0,0.9996336,3.6636821E-4 +0,0.99938446,6.155312E-4 +0,0.9856773,0.014322691 +0,0.99350864,0.0064913407 +1,0.12117666,0.87882334 +1,0.0097633,0.9902367 +0,0.9295311,0.07046887 +0,0.99294305,0.0070569655 +0,0.897361,0.102639 +1,0.10386777,0.89613223 +0,0.884357,0.115643024 +0,0.98440063,0.015599352 +0,0.9996583,3.417424E-4 +0,0.9993073,6.926991E-4 +1,0.07286459,0.9271354 +0,0.9989722,0.0010278162 +1,0.04552746,0.95447254 +0,0.96543866,0.03456134 +1,0.042610645,0.95738935 +0,0.9998026,1.9741867E-4 +1,0.26125616,0.73874384 +1,0.08082658,0.9191734 +0,0.99291617,0.0070838095 +0,0.99837476,0.0016252433 +1,0.007752061,0.99224794 +0,0.96293116,0.037068836 +0,0.9290616,0.0709384 +0,0.8969174,0.10308259 +1,0.0550704,0.9449296 +0,0.99644405,0.0035559256 +0,0.9953897,0.004610277 +0,0.9877491,0.012250914 +0,0.9741824,0.025817584 +0,0.9714829,0.028517157 +1,0.18331397,0.81668603 +1,0.24787217,0.7521278 +0,0.9991926,8.0741284E-4 +0,0.9987148,0.0012851971 +0,0.9370714,0.06292863 +0,0.9799227,0.02007728 +0,0.91327834,0.086721644 +0,0.99579895,0.004201057 +0,0.9999427,5.7291905E-5 +0,0.99665886,0.0033411568 +1,0.22645551,0.7735445 +1,0.01985687,0.98014313 +0,0.99111927,0.008880706 +0,0.983909,0.016090972 +0,0.9545504,0.04544964 +0,0.99937004,6.299843E-4 +1,0.0038187504,0.99618125 +0,0.9828536,0.017146435 +0,0.9968452,0.0031548296 +0,0.99847615,0.001523856 +0,0.96527463,0.034725353 +0,0.9869503,0.013049697 +0,0.9897722,0.010227791 +1,0.050963163,0.94903684 +0,0.9992573,7.4265647E-4 +1,0.039365947,0.96063405 +0,0.5377083,0.46229172 +0,0.99965894,3.4108263E-4 +0,0.992129,0.007870978 +0,0.99264413,0.0073558544 +0,0.98101956,0.018980434 +1,0.1505987,0.8494013 +0,0.99673605,0.0032639306 +0,0.98986936,0.0101306215 +0,0.9948719,0.005128072 +0,0.99350333,0.006496642 +1,0.12685978,0.8731402 +0,0.92175823,0.07824179 +0,0.9996398,3.6020007E-4 +0,0.9982709,0.0017290547 +0,0.9986112,0.001388805 +1,0.09086007,0.90913993 +0,0.8905233,0.10947666 +0,0.9993345,6.6547777E-4 +0,0.99754894,0.0024510813 +0,0.9865505,0.013449509 +0,0.9992829,7.170987E-4 +1,0.22278398,0.777216 +1,0.009422898,0.9905771 +0,0.99882126,0.0011787282 +0,0.9993643,6.3566637E-4 +0,0.98982143,0.010178589 +0,0.99899083,0.0010091465 +1,0.026127875,0.9738721 +0,0.98840505,0.011594935 +1,0.013725698,0.9862743 +0,0.87556034,0.12443968 +0,0.9550761,0.04492391 +0,0.939069,0.06093103 +0,0.9999469,5.3122676E-5 +1,0.17642224,0.82357776 +1,0.07704276,0.92295724 +0,0.9996372,3.6281307E-4 +0,0.9770255,0.022974474 +1,0.10763192,0.8923681 +0,0.987586,0.012413978 +0,0.9987324,0.0012676048 +0,0.9124488,0.08755119 +0,0.99485046,0.0051495195 +0,0.8220923,0.1779077 +0,0.99987614,1.2383849E-4 +0,0.9353788,0.06462123 +0,0.8927021,0.10729789 +0,0.9998251,1.7489184E-4 +0,0.9872282,0.012771795 +0,0.99694884,0.0030511634 +0,0.99126303,0.008736997 +0,0.99980813,1.918858E-4 +0,0.99518067,0.004819328 +0,0.95436656,0.045633413 +0,0.9999475,5.248919E-5 +0,0.87840724,0.12159275 +0,0.99496526,0.005034759 +0,0.99746835,0.00253164 +0,0.98543,0.014570003 +0,0.99606675,0.0039332546 +0,0.9693009,0.030699048 +0,0.9847923,0.015207691 +0,0.8364353,0.16356468 +0,0.99997824,2.175566E-5 +0,0.8371049,0.1628951 +0,0.99930274,6.972479E-4 +0,0.99559754,0.0044024764 +0,0.9361915,0.0638085 +1,0.035075366,0.96492463 +1,0.16051745,0.83948255 +0,0.9983928,0.0016071958 +0,0.99613434,0.003865638 +0,0.9829535,0.01704654 +0,0.8758767,0.1241233 +0,0.9690169,0.030983087 +0,0.99988604,1.1396927E-4 +0,0.999587,4.1302442E-4 +1,0.05019331,0.9498067 +0,0.98534006,0.014659928 +0,0.84009993,0.15990007 +0,0.91820264,0.08179735 +0,0.9726322,0.027367763 +1,0.027517378,0.9724826 +0,0.99965954,3.4044543E-4 +0,0.9830157,0.016984299 +1,0.1721282,0.8278718 +0,0.96402305,0.03597696 +0,0.99939,6.100118E-4 +0,0.95227665,0.04772333 +0,0.999196,8.039871E-4 +0,0.99340504,0.006594974 +0,0.96198297,0.038017012 +0,0.99533045,0.004669529 +0,0.9687251,0.031274933 +0,0.99986017,1.398354E-4 +0,0.9967034,0.003296614 +0,0.99636525,0.0036347604 +0,0.9979337,0.0020662919 +1,0.022010386,0.9779896 +0,0.96719474,0.032805268 +0,0.99937904,6.209677E-4 +0,0.9398105,0.060189515 +0,0.99905026,9.4973046E-4 +0,0.9897718,0.010228235 +0,0.7748384,0.2251616 +0,0.9759602,0.024039805 +0,0.99805844,0.0019415849 +0,0.91938996,0.080610014 +0,0.8611957,0.13880432 +0,0.98898745,0.011012532 +0,0.9845457,0.0154543 +0,0.99003065,0.0099693425 +0,0.980406,0.019593997 +0,0.99304056,0.006959431 +0,0.99812555,0.0018744558 +0,0.99865174,0.0013482608 +0,0.9487287,0.051271304 +1,0.056349754,0.94365025 +0,0.93918234,0.060817674 +0,0.9766566,0.023343388 +1,0.15614927,0.84385073 +0,0.82346666,0.17653331 +0,0.91962516,0.08037482 +0,0.9934793,0.006520683 +0,0.9239337,0.07606633 +0,0.9999602,3.97894E-5 +0,0.99065995,0.009340065 +0,0.9755626,0.024437431 +1,0.15767914,0.84232086 +1,0.08698505,0.91301495 +0,0.9826773,0.01732272 +0,0.9728289,0.027171092 +1,0.038653016,0.961347 +1,0.0414896,0.9585104 +0,0.9542924,0.04570758 +1,0.09024954,0.90975046 +0,0.79595274,0.20404726 +1,0.20268267,0.7973173 +0,0.87742764,0.12257237 +0,0.9999917,8.309214E-6 +0,0.99835587,0.0016441395 +0,0.8616612,0.13833882 +0,0.99623185,0.003768171 +0,0.99970406,2.9595572E-4 +1,0.014980435,0.98501956 +0,0.99990684,9.31414E-5 +0,0.9993868,6.1321614E-4 +0,0.9873238,0.012676188 +0,0.9484646,0.051535424 +0,0.99547267,0.00452731 +0,0.9876312,0.012368782 +0,0.9936539,0.006346086 +0,0.988706,0.011294036 +0,0.91409004,0.08590996 +0,0.93062186,0.069378115 +0,0.9762547,0.023745323 +0,0.99269146,0.007308553 +0,0.9997516,2.4836362E-4 +1,0.02397728,0.9760227 +0,0.9961625,0.0038375533 +1,0.2340349,0.7659651 +0,0.953079,0.046921 +1,0.08696157,0.91303843 +1,0.26127046,0.73872954 +0,0.90369517,0.09630481 +0,0.9717604,0.028239595 +0,0.99894273,0.0010572523 +1,0.030318618,0.9696814 +0,0.9875229,0.012477073 +0,0.99043703,0.009562957 +0,0.99158955,0.008410424 +0,0.9998973,1.0272019E-4 +1,0.19484723,0.8051528 +1,0.129251,0.870749 +0,0.9980293,0.001970688 +0,0.9999372,6.284987E-5 +0,0.99968344,3.1654703E-4 +0,0.9921721,0.007827879 +1,0.0014548302,0.99854517 +0,0.99931574,6.842652E-4 +0,0.9616729,0.038327087 +0,0.9127383,0.08726171 +0,0.98002,0.019980012 +1,0.17690551,0.8230945 +0,0.9941409,0.005859055 +0,0.9991661,8.3393726E-4 +0,0.9974603,0.0025396685 +0,0.9722309,0.027769098 +1,0.11672944,0.88327056 +1,0.047543764,0.95245624 +0,0.983001,0.01699901 +0,0.96936995,0.030630067 +0,0.95154566,0.04845437 +0,0.99967283,3.2715267E-4 +1,0.12591708,0.8740829 +1,0.11452001,0.88548 +1,0.08273238,0.9172676 +0,0.91879785,0.081202134 +0,0.99007154,0.009928447 +0,0.98971355,0.010286427 +0,0.9999446,5.5382192E-5 +0,0.99476457,0.0052354634 +1,0.08602995,0.91397005 +0,0.999944,5.6018744E-5 +0,0.9678352,0.03216481 +0,0.99084246,0.009157535 +0,0.9922284,0.0077715917 +1,0.15872484,0.84127516 +1,0.040881813,0.9591182 +0,0.9890434,0.010956574 +1,0.054938495,0.9450615 +0,0.93702763,0.06297237 +0,0.99894494,0.0010550774 +1,0.28482002,0.71518 +0,0.9992759,7.240774E-4 +1,0.027133703,0.9728663 +0,0.9999607,3.9288185E-5 +0,0.9927094,0.007290596 +0,0.9999203,7.970454E-5 +0,0.9908011,0.009198882 +0,0.95225656,0.047743436 +0,0.99871504,0.0012849389 +0,0.880635,0.11936497 +0,0.8066241,0.19337589 +0,0.989808,0.010191972 +0,0.9995906,4.0943277E-4 +0,0.99550074,0.004499251 +0,0.99732107,0.002678936 +1,0.419977,0.580023 +0,0.892093,0.10790702 +0,0.9069677,0.09303229 +1,0.086375356,0.91362464 +1,0.10887462,0.8911254 +0,0.99001336,0.009986616 +0,0.9068302,0.09316983 +0,0.9987551,0.0012448854 +0,0.99992365,7.635967E-5 +0,0.8344374,0.16556266 +1,0.15620047,0.84379953 +0,0.88535506,0.11464495 +0,0.9984433,0.0015567199 +0,0.99008226,0.009917738 +1,0.019472122,0.9805279 +0,0.99980617,1.9381155E-4 +0,0.86877894,0.13122106 +1,0.04136902,0.958631 +0,0.9996981,3.019218E-4 +0,0.99974203,2.579604E-4 +0,0.9902822,0.009717838 +0,0.91947067,0.08052933 +1,0.10860121,0.8913988 +1,0.11431968,0.8856803 +0,0.99670553,0.003294446 +0,0.9970829,0.0029170923 +0,0.9985105,0.0014895323 +1,0.124677,0.875323 +0,0.9727547,0.027245278 +0,0.856155,0.14384502 +0,0.9994146,5.853586E-4 +0,0.960991,0.039009 +1,0.022414565,0.97758543 +0,0.9997804,2.1958856E-4 +0,0.9996205,3.794976E-4 +0,0.9989843,0.0010157494 +0,0.84218955,0.15781048 +0,0.8639159,0.1360841 +0,0.8664446,0.13355544 +0,0.7348093,0.26519072 +1,0.009205639,0.99079436 +0,0.9958016,0.0041983626 +0,0.8824387,0.117561296 +0,0.9723152,0.027684804 +0,0.9912495,0.008750524 +0,0.9442295,0.05577054 +0,0.92852956,0.07147042 +0,0.9932131,0.006786862 +0,0.99939376,6.0621754E-4 +0,0.9847287,0.015271322 +1,0.16624403,0.83375597 +0,0.9468252,0.05317477 +0,0.9749742,0.025025776 +0,0.9685067,0.03149331 +1,0.21443719,0.7855628 +0,0.9925501,0.0074499454 +1,0.12196636,0.87803364 +0,0.6475804,0.35241958 +0,0.9960518,0.0039482224 +1,0.16001981,0.8399802 +1,0.027533472,0.9724665 +0,0.9981679,0.0018321187 +0,0.9920859,0.00791414 +0,0.8916079,0.10839213 +0,0.9930993,0.0069007464 +0,0.99986804,1.3198936E-4 +0,0.89843214,0.10156786 +1,0.14602548,0.8539745 +0,0.9058225,0.09417748 +1,0.04199773,0.95800227 +1,0.061099887,0.9389001 +0,0.8351817,0.16481832 +0,0.9945451,0.0054549165 +0,0.994592,0.005407967 +0,0.9989521,0.0010478881 +0,0.9972946,0.0027054148 +0,0.99927956,7.2046067E-4 +1,0.3164776,0.6835224 +0,0.99962425,3.7577449E-4 +0,0.84579927,0.15420075 +1,0.18715435,0.81284565 +1,0.35981828,0.6401817 +0,0.99875134,0.0012486754 +0,0.95574886,0.044251133 +0,0.89913005,0.100869976 +0,0.97794926,0.02205076 +1,0.040509462,0.95949054 +0,0.9859804,0.014019628 +0,0.9739071,0.026092904 +1,0.17209125,0.82790875 +0,0.94907093,0.050929077 +1,0.18950647,0.8104935 +0,0.99795735,0.0020426298 +1,0.049889505,0.9501105 +0,0.99958503,4.1496495E-4 +1,0.10066396,0.89933604 +0,0.9731389,0.026861047 +0,0.99993193,6.8067864E-5 +0,0.99919605,8.0395036E-4 +0,0.9997766,2.2337674E-4 +0,0.99329674,0.0067032473 +0,0.9229558,0.077044204 +0,0.99845195,0.0015480224 +0,0.8657769,0.1342231 +0,0.8733039,0.12669614 +0,0.9853761,0.014623879 +1,0.088006556,0.91199344 +1,0.052898467,0.94710153 +0,0.9785526,0.02144741 +0,0.99957305,4.269571E-4 +0,0.9930911,0.0069088875 +1,0.22839242,0.7716076 +0,0.95310646,0.046893556 +0,0.99987096,1.2904058E-4 +0,0.9904584,0.009541569 +0,0.90656054,0.09343946 +0,0.9934005,0.0065994994 +1,0.0427801,0.9572199 +0,0.9976549,0.002345066 +0,0.99157685,0.008423175 +0,0.9996641,3.3587584E-4 +0,0.99341595,0.0065840525 +0,0.99729145,0.0027085494 +0,0.99619216,0.0038078588 +0,0.99150693,0.008493042 +1,0.18581623,0.8141838 +0,0.9999376,6.239697E-5 +0,0.89987123,0.10012877 +0,0.6678252,0.3321748 +0,0.9776455,0.022354467 +0,0.8886789,0.11132107 +0,0.9666997,0.033300303 +0,0.9855398,0.014460229 diff --git a/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAutoNA.csv b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAutoNA.csv new file mode 100644 index 00000000..80718ca3 --- /dev/null +++ b/pmml-sparkml-xgboost/src/test/resources/csv/XGBoostAutoNA.csv @@ -0,0 +1,393 @@ +mpg +17.988045 +14.996561 +17.966173 +16.012314 +17.031391 +14.986869 +14.002477 +14.013896 +13.996363 +15.0002985 +15.000352 +14.010028 +15.008614 +14.000614 +23.977806 +21.997974 +18.019596 +21.003647 +26.993814 +25.999561 +25.002872 +24.01069 +24.998962 +25.989717 +21.001648 +9.994813 +9.999972 +11.007788 +8.999347 +27.008057 +28.006884 +24.990236 +19.00895 +16.000195 +17.025242 +18.961105 +18.025164 +13.992505 +13.989882 +14.012108 +13.999343 +12.000211 +13.008054 +12.9966955 +17.972857 +21.998362 +18.995886 +18.079744 +22.99079 +28.00096 +30.00083 +30.000793 +31.001736 +35.001392 +26.994839 +26.001703 +23.999844 +24.999159 +23.001215 +19.992441 +20.996458 +13.019609 +13.971848 +14.994023 +14.009847 +17.000143 +11.004471 +12.987574 +12.004492 +13.007742 +19.002937 +15.001302 +13.0072775 +13.002131 +14.008396 +18.020054 +22.000002 +21.020407 +25.9959 +21.980583 +28.00941 +22.996141 +27.98584 +27.009275 +13.041876 +14.025076 +12.998905 +14.002247 +14.9984 +11.993559 +13.004151 +13.000857 +14.000345 +13.000265 +12.002994 +13.006909 +17.990465 +15.985953 +18.034502 +18.000723 +22.990911 +26.002857 +11.017967 +11.99516 +12.9977455 +12.002371 +17.988136 +20.005953 +21.049875 +21.998175 +17.999146 +19.03898 +20.980944 +25.999678 +14.992199 +15.993957 +28.996414 +24.004251 +20.007067 +19.002106 +15.004413 +23.990421 +20.00229 +11.005472 +19.996479 +18.992487 +15.003123 +31.00038 +26.004936 +31.99879 +25.010876 +15.995714 +16.047792 +18.006908 +15.995169 +13.000014 +14.025529 +13.997786 +14.003056 +29.007938 +26.014074 +25.998327 +31.004057 +31.992786 +27.973383 +24.014719 +26.002758 +23.998463 +26.000828 +30.99787 +19.001219 +18.018929 +15.001487 +15.012855 +15.999258 +15.017545 +15.982818 +14.000299 +16.997248 +16.006487 +14.99879 +17.996004 +20.988014 +19.99808 +13.0120325 +28.98475 +23.016022 +20.008507 +23.00065 +24.032236 +25.006252 +24.033775 +18.008072 +28.994122 +18.999132 +23.023754 +22.991255 +21.997223 +24.997795 +32.95246 +27.998137 +25.011744 +25.012527 +26.001245 +27.010647 +17.49135 +15.999758 +15.498642 +14.497873 +21.972113 +21.967999 +23.987041 +22.504835 +29.001429 +24.503986 +29.001062 +32.9976 +20.008245 +17.9994 +18.500135 +17.50856 +29.490221 +31.997356 +27.994957 +26.49581 +20.000929 +13.004539 +19.003769 +19.003622 +16.504538 +16.49664 +13.009268 +13.003221 +13.032574 +31.504734 +30.020098 +35.999565 +25.486547 +33.49581 +17.454039 +16.99489 +15.499509 +14.99829 +17.510479 +20.497282 +18.990074 +18.499996 +15.997991 +15.491831 +15.498894 +15.99704 +28.999805 +24.533316 +26.008427 +25.485382 +30.501333 +33.498425 +30.043144 +30.503353 +21.990742 +21.509024 +21.498043 +43.094692 +36.106186 +32.801853 +39.35653 +36.095814 +19.90554 +19.400187 +20.170916 +19.200497 +20.47219 +20.205748 +25.101454 +20.498037 +19.405968 +20.597383 +20.798847 +18.692638 +18.113308 +19.18875 +17.696457 +18.09976 +17.48218 +29.9873 +27.396782 +27.194073 +30.895851 +21.199415 +23.209574 +23.796637 +23.902117 +20.306078 +17.009056 +21.620916 +16.198671 +31.500605 +29.5226 +21.496216 +19.805086 +22.304266 +20.200058 +20.538559 +17.008945 +17.591326 +16.50844 +18.186562 +16.902672 +15.474301 +19.193913 +18.49189 +31.895102 +34.101017 +35.6648 +27.423939 +25.398506 +23.006525 +27.201801 +23.892712 +34.212475 +34.503735 +31.800312 +37.308475 +28.365831 +28.782595 +26.84053 +33.490788 +41.493816 +38.101593 +32.11421 +37.196484 +27.985758 +26.416916 +24.314472 +19.09438 +34.30239 +29.762579 +31.27911 +36.999325 +32.236626 +46.616516 +27.865604 +40.803764 +44.300972 +43.365326 +36.393177 +30.001461 +44.599537 +33.798283 +29.810873 +32.701275 +23.710604 +34.964397 +32.400078 +27.206202 +26.617546 +25.802244 +23.497118 +30.007067 +39.098118 +38.99933 +35.108215 +32.29234 +37.005672 +37.691196 +34.113888 +34.68609 +34.39461 +29.89645 +33.001186 +33.705128 +32.381805 +32.864883 +31.613482 +28.103481 +30.689533 +25.395468 +24.200571 +22.335821 +26.554876 +20.18999 +17.597301 +28.005196 +26.996605 +33.96632 +31.048738 +28.990355 +27.024454 +23.999216 +35.98689 +36.996338 +30.99879 +37.975586 +36.003498 +35.998825 +35.99621 +34.011127 +37.998245 +32.003124 +37.960793 +25.006765 +37.979584 +26.000374 +22.00296 +31.997585 +35.95624 +26.975567 +27.009426 +43.99445 +32.00308 +28.001913 +30.9934 diff --git a/pmml-sparkml-xgboost/src/test/resources/pipeline/TransformersAuditNA.zip b/pmml-sparkml-xgboost/src/test/resources/pipeline/TransformersAuditNA.zip new file mode 100644 index 0000000000000000000000000000000000000000..ff022d3f774cb026e56f0999ad2e93d616d75c5b GIT binary patch literal 9157 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 Vn1T9FM<)Tijsxd7d;|E`e*nkv3A6wJ literal 0 HcmV?d00001 diff --git a/pmml-sparkml-xgboost/src/test/resources/pipeline/TransformersAutoNA.zip b/pmml-sparkml-xgboost/src/test/resources/pipeline/TransformersAutoNA.zip new file mode 100644 index 0000000000000000000000000000000000000000..87ac784a5b8164de06d9a25b105ea79cce3b7484 GIT binary patch literal 5383 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 literal 0 HcmV?d00001 diff --git a/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostClassificationModelAuditNA.zip b/pmml-sparkml-xgboost/src/test/resources/pipeline/XGBoostClassificationModelAuditNA.zip new file mode 100644 index 0000000000000000000000000000000000000000..0c9bedbd8dff7aa8c0ef34da932b7e5782cf704a GIT binary patch literal 108820 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