标签:检查 完整 机器 推荐 思路 个人 展开 占用 cin
这段时间一直都在看一些机器学习方面的内容,其中又花了不少时间在推荐系统这块,然后自己做了一套简单的推荐系统,但是跑下来的结果总觉得有些差强人意,我在离线实验中得到Precision,Recall一般都只有15%左右,比起通常的机器学习算法动不动就90%以上的指标,这个我觉得显然是太低了,我觉得可能有如下理由导致的:
再说下本人公司背景,公司的业务是B2B类型,公司有接近10万个产品的量,用户比物品少,1万左右,其中还有大量的不活跃用户。后来经过多方面思考后,打算先暂停推荐系统,换一种思路,咱不推荐了,推荐关注在给用户推荐之前未曾购买过的产品,但是就我们行业来说,我会主观的认为一般B2B的业务,客户也即公司,他们的兴趣爱好是基本固定的,不会像人一样这么的善变,所以从这个角度来思考的话,推荐系统也许就不是那么特别的重要的(我知道此刻肯定有N个人要反驳我了)
因为我认为交易数据的重要性,所以我就仅仅从交易数据入手,来分析出用户的购买行为,或者某个物品的被购买行为。所以才有了这次项目的展开:
通过本项目,希望能在以下方面提供给销售,市场部门以及管理团队决策的参考:
通过以上的结果,可以提前有针对性的对客户或者物品进行各种活动。
|
概念 |
解释 |
|
数据 |
SAP中的订单交易数据,客户主数据,物料主数据 |
|
训练数据(TrainData) |
用来将整个数据划分一部分来作为算法的训练集 |
|
测试数据(TestData) |
用来将整个数据划分另外一部分作为测试数据,通过测试数据来测试算法的各项性能指标 |
|
预测结果 |
在训练数据集上预测出来的结果集合 |
|
|
|
关键评价指标 |
推荐结果 |
在训练数据上找到的所有推荐结果数 |
命中条目(hit) |
预测结果中的集合恰好在测试集合中的数目 |
|
准确率/查准率(precision) |
命中条目占预测结果中的比率,可以理解为真的预测正确的结果占所有预测结果有多少 |
|
召回率/查全率(recall) |
命中条目占测试结果中的比例,可以理解为所有全部为正确的结果到底有多少真的被预测正确了 |
|
潜在风险数(这个以及下面的两个是我自己瞎造的概念) |
在训练中,可能存在有风险的数据(用户-物品为一条数据),这些数据往往需要用户去找原因,确定是否真的存在风险 |
|
误差预估数 |
潜在风险数中的数据在测试数据中已经发生了交易,所以认为是估计有误差,这个数从商业上讲应该要越大越好,因为他们最终都还是有交易行为了 |
|
误差风险率 |
误差预估数/潜在风险数 |
使用客户XXXX有限公司作为测试:
指标 |
结果值 |
说明 |
训练数据集(不同物料编号数目) |
2425 |
该用户在这段时间内共买过2425个不同编号的物品 |
推荐结果 |
458 |
在训练数据上算出来的可以给该用户推荐的物品数目 |
测试数据集 |
839 |
该用户在测试集这段时间内购买了839个不同编号的物品 |
命中结果 |
220 |
代表算法预测成功了220个物品该用户会去购买的 |
准确率 |
48% |
|
召回率 |
26% |
|
潜在风险数 |
313 |
该用户可能会消失的交易数码,例如用户不再买某一个产品了,需要业务来判断是否真的有风险 |
误差预估数 |
189 |
说明在潜在风险中313个里面,其中有189个是没有风险的 |
误差风险率 |
60% |
189/313,这个值越高越说明风险越小 |
对于算法来说,使用不同的参数会产生不同的结果,本次实验采用的参数是比较乐观的估计,这会导致算出来的潜在风险数较小,命中数目较高,准率较低。但具体怎么调节参数,需要结合具体业务场景。
使用物品YYYYY:
指标 |
结果值 |
说明 |
训练数据集(不同用户编号数目) |
122 |
解释同基于用户分析相似 |
推荐结果 |
28 |
|
测试数据集 |
80 |
|
命中结果 |
24 |
|
准确率 |
86% |
|
召回率 |
30% |
|
潜在风险数 |
73 |
|
误差预估数 |
45 |
|
误差风险率 |
62% |
|
至少从各项KPI指标来看,都是要明显高于推荐系统中的指标的,特别是基于物品的分析准确率高达86%,当时看到这个数的时候第一反应就是到底哪里出错了?经过各种代码的Review发现是没问题的,其实也验证了我的前面的说法,企业客户的兴趣爱好不会随便发生变化的。
最后:
这是目前的第二篇博客,还是对于怎么编辑博客的样式一无所知,最后只能跑到Word文档里面来写,然后贴在博客上了,写博客真是一件很辛苦的事情,写了好久了,,喜欢就点个赞吧. 如果你对具体模型有兴趣,我就接着继续写技术上是怎么实现的.
标签:检查 完整 机器 推荐 思路 个人 展开 占用 cin
原文地址:http://www.cnblogs.com/dannyH/p/6884885.html