This is an automated email from the ASF dual-hosted git repository.
shimamoto pushed a commit to branch develop
in repository
https://gitbox.apache.org/repos/asf/predictionio-template-recommender.git
The following commit(s) were added to refs/heads/develop by this push:
new 34df51c Mark override methods
new 02f5398 Merge pull request #22 from takezoe/mark-override
34df51c is described below
commit 34df51cab4c56464938add5ba7c062e2350e43bb
Author: Naoki Takezoe <[email protected]>
AuthorDate: Thu May 30 20:18:08 2019 +0900
Mark override methods
---
src/main/scala/ALSAlgorithm.scala | 2 ++
src/main/scala/ALSModel.scala | 1 +
src/main/scala/Evaluation.scala | 2 ++
src/main/scala/Preparator.scala | 1 +
4 files changed, 6 insertions(+)
diff --git a/src/main/scala/ALSAlgorithm.scala
b/src/main/scala/ALSAlgorithm.scala
index 9fa8958..56c5e95 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -30,6 +30,7 @@ class ALSAlgorithm(val ap: ALSAlgorithmParams)
s"To remedy it, set lower numIterations or checkpoint parameters.")
}
+ override
def train(sc: SparkContext, data: PreparedData): ALSModel = {
// MLLib ALS cannot handle empty training data.
require(!data.ratings.take(1).isEmpty,
@@ -74,6 +75,7 @@ class ALSAlgorithm(val ap: ALSAlgorithmParams)
itemStringIntMap = itemStringIntMap)
}
+ override
def predict(model: ALSModel, query: Query): PredictedResult = {
// Convert String ID to Int index for Mllib
model.userStringIntMap.get(query.user).map { userInt =>
diff --git a/src/main/scala/ALSModel.scala b/src/main/scala/ALSModel.scala
index e0e6a9f..6005c07 100644
--- a/src/main/scala/ALSModel.scala
+++ b/src/main/scala/ALSModel.scala
@@ -21,6 +21,7 @@ class ALSModel(
extends MatrixFactorizationModel(rank, userFeatures, productFeatures)
with PersistentModel[ALSAlgorithmParams] {
+ override
def save(id: String, params: ALSAlgorithmParams,
sc: SparkContext): Boolean = {
diff --git a/src/main/scala/Evaluation.scala b/src/main/scala/Evaluation.scala
index acc85ff..96a3ec8 100644
--- a/src/main/scala/Evaluation.scala
+++ b/src/main/scala/Evaluation.scala
@@ -18,6 +18,7 @@ case class PrecisionAtK(k: Int, ratingThreshold: Double = 2.0)
override def header = s"Precision@K (k=$k, threshold=$ratingThreshold)"
+ override
def calculate(q: Query, p: PredictedResult, a: ActualResult): Option[Double]
= {
val positives: Set[String] = a.ratings.filter(_.rating >=
ratingThreshold).map(_.item).toSet
@@ -36,6 +37,7 @@ case class PositiveCount(ratingThreshold: Double = 2.0)
extends AverageMetric[EmptyEvaluationInfo, Query, PredictedResult,
ActualResult] {
override def header = s"PositiveCount (threshold=$ratingThreshold)"
+ override
def calculate(q: Query, p: PredictedResult, a: ActualResult): Double = {
a.ratings.filter(_.rating >= ratingThreshold).size
}
diff --git a/src/main/scala/Preparator.scala b/src/main/scala/Preparator.scala
index 5e3a653..f18fedc 100644
--- a/src/main/scala/Preparator.scala
+++ b/src/main/scala/Preparator.scala
@@ -8,6 +8,7 @@ import org.apache.spark.rdd.RDD
class Preparator
extends PPreparator[TrainingData, PreparedData] {
+ override
def prepare(sc: SparkContext, trainingData: TrainingData): PreparedData = {
new PreparedData(ratings = trainingData.ratings)
}