您的位置:首页 > 其它

小记天池大赛

2015-10-27 23:28 183 查看
1 虽然这次最后结果没有提交上,但是在忙碌的课程中能够坚持下来,感觉提升了自己动手操作能力,也是很快乐的。

2 这次比赛给了一组待测数据test_items,数据表有 dim_fashion_matchsets.txt, 专家推荐的衣服搭配套餐;

dim_items.txt,所有数据的信息表,包括item_id商品号,items_cat商品类目,item_term商品分词;

user_bought_history;用户购买数据

还有商品对应的图片数据;

3 最终提交的表是为test_items表中的待推荐数据的每个商品推荐出相搭配的200个商品;

4 我的思路是这样的

4.1 根据专家给的商品搭配套餐表找出类目的关系,也就想找出哪些类目最适合搭配到一起,由于dim_fashion_matchsets.txt这个表中套餐的数据里面有很多可替代的商品,且都是同一个类目,因此先把这些多余的去掉,再将剩下的商品都用他们的类目表示,组成类目搭配的套餐表–cat_match.txt。

然后根据cat_match.txt 用apriori算法支持度为0.01置信度0.2产生了96条规则,组成新的表cat_rules.txt

4.2 同样想从商品搭配套餐找出哪些商品分词最适合搭配到一起;将dim_fashion_matchsets.txt的商品都换成商品对应的分词,每个套餐最多取210条term,组成新的term_match.txt表。然后用apriori算法支持度设置为0.1置信度设置为0.7对其处理得到了2000多条规则行程新的term_rules.txt。

4.3 现在为了给待测数据找出哪些数据最值得推荐,并且还利用上面的这些规则,我想到了用两个表来表示待测数据和cat类目与term分词的关系,用另外两个表来表示所有数据集与cat类目与term分词的关系。具体如下表testitem_catmatrix.txt:



这个表的横向的cat表示cat_match.txt的套餐的96条套餐,最左边纵向的是待测商品号,每一个格子表示待测商品所属的类目与类目套餐的中的类目相同的个数乘以置信度所得结果。

同理,还有一个待测数据与term_rules.txt生成的待测数据与term的表testitem_termmatrix.txt。商品数据集(剔除了待测数据的表)与cat_rules.txt 生成的商品数据集与cat关系的表dimitem_catmatrix.txt。商品数据集(剔除了待测数据的表)与term_rules.txt生成的商品数据集与cat关系的表dimitem_termmatrix.txt。

4.3 在一个商品与待测商品之间可推荐程度关系可表示为:



rec表示可以推荐的程度值越大越值得向该商品推荐,A、B表示系数,test_cati表示testitem_catmatrix.txt的一条数据的第i个格子的值例如0.0 ,dim_cati 表示dimitem_catmatrix.txt的一条数据第i格的值,test_termi表示testitem_termmatrix.txt中的一条数据的第i格的值,dim_termi 表示dimitem_termmatrix.txt的一条数据第i格的值。这个式子就是说一条待测数据的类目搭配表乘以商品的类目搭配表的一行的和是为了看这两条数据的类目是不是在同一个搭配套餐里面,同理分词搭配也是这样的。

4.4 将一条待测数据与商品集的数据都带入那个式子算完一遍,最后选取值最大的200个数据就是向该商品推荐的

5 用户购买历史数据还没往上面加,思路是看哪几个商品被用户一起买的最多则为搭配的套餐,图片特征还不会提取。

6 这就是基本思路,小记一下。

7 中间处理文件和产生表还有生成推荐商品的代码,python的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: