diff options
author | chie8842 <hayashidac@nttdata.co.jp> | 2016-11-08 13:45:37 +0000 |
---|---|---|
committer | Sean Owen <sowen@cloudera.com> | 2016-11-08 13:45:37 +0000 |
commit | ee2e741ac16b01d9cae0eadd35af774547bbd415 (patch) | |
tree | 792d6d1460e93d7ab1e991d5df355df7c43c6819 /examples/src/main/scala/org | |
parent | c291bd2745a8a2e4ba91d8697879eb8da10287e2 (diff) | |
download | spark-ee2e741ac16b01d9cae0eadd35af774547bbd415.tar.gz spark-ee2e741ac16b01d9cae0eadd35af774547bbd415.tar.bz2 spark-ee2e741ac16b01d9cae0eadd35af774547bbd415.zip |
[SPARK-13770][DOCUMENTATION][ML] Document the ML feature Interaction
I created Scala and Java example and added documentation.
Author: chie8842 <hayashidac@nttdata.co.jp>
Closes #15658 from hayashidac/SPARK-13770.
Diffstat (limited to 'examples/src/main/scala/org')
-rw-r--r-- | examples/src/main/scala/org/apache/spark/examples/ml/InteractionExample.scala | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/examples/src/main/scala/org/apache/spark/examples/ml/InteractionExample.scala b/examples/src/main/scala/org/apache/spark/examples/ml/InteractionExample.scala new file mode 100644 index 0000000000..8113c992b1 --- /dev/null +++ b/examples/src/main/scala/org/apache/spark/examples/ml/InteractionExample.scala @@ -0,0 +1,68 @@ +/* + * 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. + */ + +// scalastyle:off println +package org.apache.spark.examples.ml + +// $example on$ +import org.apache.spark.ml.feature.Interaction +import org.apache.spark.ml.feature.VectorAssembler +// $example off$ +import org.apache.spark.sql.SparkSession + +object InteractionExample { + def main(args: Array[String]): Unit = { + val spark = SparkSession + .builder + .appName("InteractionExample") + .getOrCreate() + + // $example on$ + val df = spark.createDataFrame(Seq( + (1, 1, 2, 3, 8, 4, 5), + (2, 4, 3, 8, 7, 9, 8), + (3, 6, 1, 9, 2, 3, 6), + (4, 10, 8, 6, 9, 4, 5), + (5, 9, 2, 7, 10, 7, 3), + (6, 1, 1, 4, 2, 8, 4) + )).toDF("id1", "id2", "id3", "id4", "id5", "id6", "id7") + + val assembler1 = new VectorAssembler(). + setInputCols(Array("id2", "id3", "id4")). + setOutputCol("vec1") + + val assembled1 = assembler1.transform(df) + + val assembler2 = new VectorAssembler(). + setInputCols(Array("id5", "id6", "id7")). + setOutputCol("vec2") + + val assembled2 = assembler2.transform(assembled1).select("id1", "vec1", "vec2") + + val interaction = new Interaction() + .setInputCols(Array("id1", "vec1", "vec2")) + .setOutputCol("interactedCol") + + val interacted = interaction.transform(assembled2) + + interacted.show(truncate = false) + // $example off$ + + spark.stop() + } +} +// scalastyle:on println |