Mais conteúdo relacionado
Semelhante a Sparkでレコメンドエンジンを作ってみた (20)
Sparkでレコメンドエンジンを作ってみた
- 8. デモ
8
1 2 3 4
1 5.0 1.0 5.0 1.0
2 5.0 5.0 1.0
3 1.0 5.0 1.0 5.0
4 1.0 5.0 5.0
商品ID
ユーザID
- 9. デモ
9
1 2 3 4
1 5.0 1.0 5.0 1.0
2 5.0 5.0 1.0
3 1.0 5.0 1.0 5.0
4 1.0 5.0 5.0
商品ID
ユーザID
ユーザ2 と ユーザ1 は似たような評価をつけているので
ユーザ2 は 商品2 の評価を 1.0くらいにすると予想される。
また
ユーザ4 は ユーザ3と似ているので
ユーザ4 は 商品3に1.0くらいで評価をすると予想される。
- 11. 11
result.shのソースコード re.jar のソースコード
#!/bin/sh
read -p "Please input userID productID: " IDs
echo "$IDs" > result.conf
spark-submit re.jar > re.log
rm -rf myModel
echo " "
echo "Rating: `head -1 re.log`"
import org.apache.spark.mllib.recommendation.ALS
import org.apache.spark.mllib.recommendation.MatrixFactorizationModel
import org.apache.spark.mllib.recommendation.Rating
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import scala.io.Source
import java.io.File
object testml {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("example")
val sc = new SparkContext(conf)
val model = MatrixFactorizationModel.load(sc, "myModelPath")
val line = Source.fromFile("./result.conf").mkString
line.split(" ")
val userid = line(0).toString.toInt
val productid = line(2).toString.toInt
val rating = model.predict(userid, productid)
println(rating);
model.save(sc, "myModel")
sc.stop
}
}