aboutsummaryrefslogtreecommitdiff
path: root/examples/src/main/scala
diff options
context:
space:
mode:
authorwm624@hotmail.com <wm624@hotmail.com>2016-05-17 15:20:47 +0200
committerNick Pentreath <nickp@za.ibm.com>2016-05-17 15:20:47 +0200
commit4134ff0c657efcbf0f61eff0423215afd6132837 (patch)
tree6b26b8824aff57e216974574b30dbfd2d20d3d81 /examples/src/main/scala
parentc36ca651f9177f8e7a3f6a0098cba5a810ee9deb (diff)
downloadspark-4134ff0c657efcbf0f61eff0423215afd6132837.tar.gz
spark-4134ff0c657efcbf0f61eff0423215afd6132837.tar.bz2
spark-4134ff0c657efcbf0f61eff0423215afd6132837.zip
[SPARK-14434][ML] User guide doc and examples for GaussianMixture in spark.ml
## What changes were proposed in this pull request? (Please fill in changes proposed in this fix) Add guide doc and examples for GaussianMixture in Spark.ml in Java, Scala and Python. ## How was this patch tested? (Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests) Manual compile and test all examples Author: wm624@hotmail.com <wm624@hotmail.com> Closes #12788 from wangmiao1981/example.
Diffstat (limited to 'examples/src/main/scala')
-rw-r--r--examples/src/main/scala/org/apache/spark/examples/ml/GaussianMixtureExample.scala58
1 files changed, 58 insertions, 0 deletions
diff --git a/examples/src/main/scala/org/apache/spark/examples/ml/GaussianMixtureExample.scala b/examples/src/main/scala/org/apache/spark/examples/ml/GaussianMixtureExample.scala
new file mode 100644
index 0000000000..c484ee5556
--- /dev/null
+++ b/examples/src/main/scala/org/apache/spark/examples/ml/GaussianMixtureExample.scala
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.spark.examples.ml
+
+// scalastyle:off println
+
+// $example on$
+import org.apache.spark.ml.clustering.GaussianMixture
+import org.apache.spark.sql.SparkSession
+// $example off$
+
+/**
+ * An example demonstrating Gaussian Mixture Model (GMM).
+ * Run with
+ * {{{
+ * bin/run-example ml.GaussianMixtureExample
+ * }}}
+ */
+object GaussianMixtureExample {
+ def main(args: Array[String]): Unit = {
+ // Creates a SparkSession
+ val spark = SparkSession.builder.appName(s"${this.getClass.getSimpleName}").getOrCreate()
+
+ // $example on$
+ // Loads data
+ val dataset = spark.read.format("libsvm").load("data/mllib/sample_kmeans_data.txt")
+
+ // Trains Gaussian Mixture Model
+ val gmm = new GaussianMixture()
+ .setK(2)
+ val model = gmm.fit(dataset)
+
+ // output parameters of mixture model model
+ for (i <- 0 until model.getK) {
+ println("weight=%f\nmu=%s\nsigma=\n%s\n" format
+ (model.weights(i), model.gaussians(i).mean, model.gaussians(i).cov))
+ }
+ // $example off$
+
+ spark.stop()
+ }
+}
+// scalastyle:on println