資源簡介
基于用戶的SparkALS推薦系統(tǒng),內(nèi)還有測試數(shù)據(jù)100萬,按照流程跑模型不是問題。下載后請看教程鏈接https://mp.csdn.net/postedit/84548711

代碼片段和文件信息
package?com.wozaijia.sparkALS.UserCF;
import?org.apache.spark.api.java.JavaPairRDD;
import?org.apache.spark.api.java.JavaRDD;
import?org.apache.spark.mllib.recommendation.MatrixFactorizationModel;
import?org.apache.spark.mllib.recommendation.Rating;
import?scala.Tuple2;
public?class?SparkALSRMSE?{
????/**
?????*?RMSE:均方根誤差
?????*?根據(jù)模型mode計算data的平均均方根誤差
?????*/
????public?static?double?computeRMSEAverage(MatrixFactorizationModel?model?JavaRDD?data?long?n)?{
????????//map(d?->?new?Tuple2<>(d.user()d.product()));將predictionData預(yù)測數(shù)據(jù)轉(zhuǎn)換成二元組形式,以便訓(xùn)練使用
????????//通過模型對數(shù)據(jù)進行預(yù)測
????????JavaRDD?jddRat?=?model.predict(JavaPairRDD.fromJavaRDD(data.map(d?->?new?Tuple2<>(d.user()?d.product()))));
????????JavaPairRDD?pre?=?JavaPairRDD.fromJavaRDD(jddRat.map(f?->?new?Tuple2<>(f.user()?+?“_“?+?f.product()?f.rating())));
????????//原值
????????JavaPairRDD?rea?=?JavaPairRDD.fromJavaRDD(data.map(f?->?new?Tuple2<>(f.user()?+?“_“?+?f.product()?f.rating())));
????????//預(yù)測值和原值內(nèi)連接,相當(dāng)于SQL中的內(nèi)聯(lián)
????????JavaRDD>?d?=?pre.join(rea).values();
????????//計算方差并返回計算結(jié)果
????????return?d.map(f?->?Math.pow(f._1?-?f._2?2)).reduce((a?b)?->?a?+?b)?/?n;
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-26?17:16??基于用戶SparkALS推薦系統(tǒng)\
?????目錄???????????0??2018-11-26?17:15??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\
?????目錄???????????0??2018-11-22?13:53??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\
?????目錄???????????0??2018-11-26?17:06??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\
?????文件??????????38??2018-11-16?16:44??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\COMMIT_EDITMSG
?????文件?????????304??2018-11-16?16:45??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\config
?????文件??????????73??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\desc
?????文件??????????23??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\HEAD
?????目錄???????????0??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\
?????文件?????????478??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\applypatch-msg.sample
?????文件?????????896??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\commit-msg.sample
?????文件????????3327??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\fsmonitor-watchman.sample
?????文件?????????189??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\post-update.sample
?????文件?????????424??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\pre-applypatch.sample
?????文件????????1638??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\pre-commit.sample
?????文件????????1348??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\pre-push.sample
?????文件????????4898??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\pre-reba
?????文件?????????544??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\pre-receive.sample
?????文件????????1492??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\prepare-commit-msg.sample
?????文件????????3610??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\hooks\update.sample
?????文件?????????804??2018-11-26?17:03??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\index
?????目錄???????????0??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\info\
?????文件?????????240??2018-11-16?16:36??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\info\exclude
?????目錄???????????0??2018-11-16?16:44??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\
?????文件?????????178??2018-11-16?16:44??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\HEAD
?????目錄???????????0??2018-11-16?16:44??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\refs\
?????目錄???????????0??2018-11-16?16:44??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\refs\heads\
?????文件?????????178??2018-11-16?16:44??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\refs\heads\master
?????目錄???????????0??2018-11-16?16:45??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\refs\remotes\
?????目錄???????????0??2018-11-16?16:45??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\refs\remotes\origin\
?????文件?????????137??2018-11-16?16:45??基于用戶SparkALS推薦系統(tǒng)\基于用戶SparkALS推薦系統(tǒng)\UserSparkALS\.git\logs\refs\remotes\origin\master
............此處省略76個文件信息
評論
共有 條評論