aboutsummaryrefslogtreecommitdiff
path: root/mllib
diff options
context:
space:
mode:
authorXiangrui Meng <meng@databricks.com>2015-05-20 12:50:06 -0700
committerXiangrui Meng <meng@databricks.com>2015-05-20 12:50:06 -0700
commit2ad4837cfa66fcedc96b0819a8c2f4c3d70b0aaa (patch)
tree0206ed8f0b5a79746f47355930631eb498b880a5 /mllib
parentb631bf73b9f288f37c98b806be430b22485880e5 (diff)
downloadspark-2ad4837cfa66fcedc96b0819a8c2f4c3d70b0aaa.tar.gz
spark-2ad4837cfa66fcedc96b0819a8c2f4c3d70b0aaa.tar.bz2
spark-2ad4837cfa66fcedc96b0819a8c2f4c3d70b0aaa.zip
[SPARK-7537] [MLLIB] spark.mllib API updates
Minor updates to the spark.mllib APIs: 1. Add `DeveloperApi` to `PMMLExportable` and add `Experimental` to `toPMML` methods. 2. Mention `RankingMetrics.of` in the `RankingMetrics` constructor. Author: Xiangrui Meng <meng@databricks.com> Closes #6280 from mengxr/SPARK-7537 and squashes the following commits: 1bd2583 [Xiangrui Meng] organize imports 94afa7a [Xiangrui Meng] mark all toPMML methods experimental 4c40da1 [Xiangrui Meng] mention the factory method for RankingMetrics for Java users 88c62d0 [Xiangrui Meng] add DeveloperApi to PMMLExportable
Diffstat (limited to 'mllib')
-rw-r--r--mllib/src/main/scala/org/apache/spark/mllib/evaluation/RankingMetrics.scala2
-rw-r--r--mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala11
2 files changed, 13 insertions, 0 deletions
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/evaluation/RankingMetrics.scala b/mllib/src/main/scala/org/apache/spark/mllib/evaluation/RankingMetrics.scala
index b9b54b93c2..5b5a2a1450 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/evaluation/RankingMetrics.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/evaluation/RankingMetrics.scala
@@ -31,6 +31,8 @@ import org.apache.spark.rdd.RDD
* ::Experimental::
* Evaluator for ranking algorithms.
*
+ * Java users should use [[RankingMetrics$.of]] to create a [[RankingMetrics]] instance.
+ *
* @param predictionAndLabels an RDD of (predicted ranking, ground truth set) pairs.
*/
@Experimental
diff --git a/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala b/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala
index 354e90f3ee..5e882d4ebb 100644
--- a/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala
+++ b/mllib/src/main/scala/org/apache/spark/mllib/pmml/PMMLExportable.scala
@@ -23,13 +23,16 @@ import javax.xml.transform.stream.StreamResult
import org.jpmml.model.JAXBUtil
import org.apache.spark.SparkContext
+import org.apache.spark.annotation.{DeveloperApi, Experimental}
import org.apache.spark.mllib.pmml.export.PMMLModelExportFactory
/**
+ * :: DeveloperApi ::
* Export model to the PMML format
* Predictive Model Markup Language (PMML) is an XML-based file format
* developed by the Data Mining Group (www.dmg.org).
*/
+@DeveloperApi
trait PMMLExportable {
/**
@@ -41,30 +44,38 @@ trait PMMLExportable {
}
/**
+ * :: Experimental ::
* Export the model to a local file in PMML format
*/
+ @Experimental
def toPMML(localPath: String): Unit = {
toPMML(new StreamResult(new File(localPath)))
}
/**
+ * :: Experimental ::
* Export the model to a directory on a distributed file system in PMML format
*/
+ @Experimental
def toPMML(sc: SparkContext, path: String): Unit = {
val pmml = toPMML()
sc.parallelize(Array(pmml), 1).saveAsTextFile(path)
}
/**
+ * :: Experimental ::
* Export the model to the OutputStream in PMML format
*/
+ @Experimental
def toPMML(outputStream: OutputStream): Unit = {
toPMML(new StreamResult(outputStream))
}
/**
+ * :: Experimental ::
* Export the model to a String in PMML format
*/
+ @Experimental
def toPMML(): String = {
val writer = new StringWriter
toPMML(new StreamResult(writer))