一、基本信息
试验思路试验简介使用工具使用方法二、项目介绍
(一)研究背景
赛事情况见下图(二)研究数据
【数据内容】
表1:dim_fashion_match_sets表2:dim_items表3:user_bought_history表4:预测表表格中的用户ID,商品ID,类目ID 均经过脱敏处理;【评价函数】
(三)思路简介
【思路一:直接搭配】
方法一:基于“用户同一天购买的不同类商品可能为搭配商品”的假设方法二:通过TFIDF文本相似度用户当天购买的不同类的商品可能存在可搭配的服装
遍历item,寻找与待测商品相似度高且所属类不同的商品
【思路二:间接搭配】
方法:基于达人搭配表基于已有的达人搭配表,通过寻找与达人套餐中商品相似的商品,来寻找与该商品搭配的商品
三、算法描述
(一)通过用户同一天购买的“不同类”商品
(1)对给定的搭配表进行处理
对表dim_fashion_match_sets进行遍历;获取字段‘item_list’中的item_id将item_id与表item进行索引,获取商品所属的类名cat_id建立新表对item表中的cat_id进行遍历;将cat_id与新表进行索引,若查找到当前cat_id,则将视为可搭配否则视为不可搭配(2)对购买历史记录表进行处理
输入一个商品A,在用户购买记录表中搜索出所有购买过该商品A的用户与购买时间通过用户ID和购买时间在用户购买记录表中找该用户在该天购买的其他商品B,C,D…注意在进行遍历的时候,过滤与A相同和与A同类的商品注意在进行遍历的时候,计算并记录商品对(同时购买的商品,如A&B)的同天购买次数fpm注意在进行遍历的时候,计算并记录商品对的类间搭配频数fcm注意:计算频数要通过商品所属类别(cat_id),用所属类别遍历类间搭配表 查找A和B类的搭配频数fcm
(3)设计评价函数S
设计评价函数:S = fmp * ln(1 + fcm)对S进行分析,可以发现S越大,说明fcm/fmp越大,则两个商品的搭配程度越高对S进行分析,可以发现S==0,说明两个商品不搭配(4)操作过程
对搭配表进行处理,将搭配商品item_id集合替换为搭配类别cat_id集合,并生成新表;对购买历史记录表进行处理,搜索出每个商品对应的同一天购买的不同类的商品集合;根据2获取的商品集合,计算fpm;对商品信息表进行处理,搜索两两商品之间的搭配信息,计算对应的频数fcm;计算得到fpm和fcm,求得两两商品的相似度情况,并通过相似度大小进行排序;(二)通过计算TFIDF文本相似度,搜索相似服装
一、TFIDF文本处理 + 余弦相似度
TFIDF = TF * IDF
主要思想:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
IDF(逆向文件频率):log(文档总数/包含词条w的文档数+1)
TF(词频):在某一类词条w出现的次数/该类中所有的词条数目
二、余弦相似度
主要思想:将商品特征向量化后,对两个向量来说,之间的夹角越小,计算的余弦值越接近1,相似度越高
相似度较高的商品存在的情况
情况一:同类商品(同为短裤、短袖等)
情况二:可搭配的不同类商品
情况三:同一家店铺的不同类商品(同为uniqlo店铺的衣服)
(1)余弦值的设置
通过实验和参数的控制来调整…(2)评价函数S
可以设置为求余弦余弦相似度的变量(三)基于相似商品搭配表推荐,进行匹配推荐
主要思路:
已知与服装A相似的商品B,C,D;B,C,D(中的1个或n个)在商品搭配推荐表中出现过,且存在各自搭配的服装集合可以认为A能与B/C/D的搭配列表所搭配
四、试验内容
五、试验结果
六、总结
如果觉得《【阿里淘宝天池Baseline服装搭配比赛】尝试一》对你有帮助,请点赞、收藏,并留下你的观点哦!