|
1.spark
var text_file=sc.textfile('/input)
var word=text_file.flatmap(line=>line.split("")).map(word=>(word,1)).reduceByKey(_+_)
var out=word.count()
统计有多少个不同的单词
2.推荐系统衡量指标
离线评估方法:
holdout评估:70%训练集,10%验证集,20%测试集
交叉检验:k-fold交叉验证(一般取10份,然后轮流做训练集+测试集)
留一验证:每次留下1个样本作为验证集,其余所有样本作为测试集
自助法:不断进行有放回采样作为测试集,没采到的最后作为测试集(占比30%)左右
离线评估的主要指标
准确率:分类准确率是指分类正确的样本占总样本个数的比例
精确率和召回率:
-
精确率(Precision)是分类正确的正样本个数占分类器判定为正样本的样本个数的比例 -
召回率(Recall)是分类正确的正样本个数占真正正样本个数的比例 -
F1-score进行调和(也叫F-measure),定义为:1/f=1/p+1/r
均方根误差
如果存在个别偏离程度非常大的离群点,那么即使离群点的数量非常少,也会让RMSE指标变得很差?
MAPE:

?对数损失函数
LogLoss,在一个二分类问题中,LogLoss定义为:

直接评估推荐序列的离线指标:
在某一阈值下,模型将大于该阈值的结果判定为正样本,将小于该阈值的结果判定为负样本时,排序结果对应的召回率和精确率
ROC曲线
「受试者工作特征曲线」
ROC曲线的横坐标时 False Posotive Rate(FPR, 假阳性率),纵坐标时True Positive Rate(TPR,真阳性率)
平均精度均值
AP的计算只取正样本处的precision进行平均,即 AP= (1/1 + 2/4 + 3/5 + 4/6) =0.6917
除了上述介绍的几种评估指标,推荐系统的评估指标还包括:
更接近线上环境的离线评估方法-Replay
动态离线评估方法
A/B测试与线上评估
?注意样本等独立性和无偏性,同一用户在测试的全程中只能被分到同一个桶中。
电商推荐场景
抖音推荐
|