|
@@ -0,0 +1,27 @@
|
|
|
+#!/bin/sh
|
|
|
+
|
|
|
+# 计算模型对某天,某个CID的打分情况,输出平均值
|
|
|
+
|
|
|
+set -x
|
|
|
+
|
|
|
+cids=$1
|
|
|
+model=$2
|
|
|
+hdfs_path=$3
|
|
|
+bias=$4
|
|
|
+
|
|
|
+MODEL_PATH=/root/zhaohp/recommend-emr-dataprocess/model/ad
|
|
|
+PREDICT_PATH=/root/zhaohp/recommend-emr-dataprocess/predict/ad
|
|
|
+HADOOP=/opt/apps/HADOOP-COMMON/hadoop-common-current/bin/hadoop
|
|
|
+FM_HOME=/root/sunmingze/alphaFM
|
|
|
+
|
|
|
+# 将cids中的逗号分隔列表拆分为数组
|
|
|
+IFS=',' read -ra cid_array <<< "$cids"
|
|
|
+
|
|
|
+for cid in "${cid_array[@]}"; do
|
|
|
+ # 对每个CID执行打分计算并输出平均值
|
|
|
+ $HADOOP fs -text ${hdfs_path}/* | grep "cid_${cid}" | ${FM_HOME}/bin/fm_predict -m ${MODEL_PATH}/${model}.txt -dim ${bias} -core 8 -out ${PREDICT_PATH}/${model}_${cid}.txt
|
|
|
+
|
|
|
+ score_avg=`awk '{ sum += $2; count++ } END { if (count > 0) print sum / count }' ${PREDICT_PATH}/${model}_${cid}.txt`
|
|
|
+
|
|
|
+ echo -e "CID- ${cid} -平均分计算结果: ${score_avg} \n\t模型: ${MODEL_PATH}/${model} \n\tHDFS数据路径: ${hdfs_path} \n\t"
|
|
|
+done
|