项目日志

数据挖掘实战

Posted by JJF on March 15, 2019

前言

(2019/03/15)

在经过三个多月的学习之后,终于要开始项目实战。
我们组这次拿到的课题是电商数据挖掘数据比较大虽然特征不多,但是因为跨越的时间维度较大所以导致数据体量大,可分析的信息也多。
总之这是一次考验吧,对于我们组而言。此篇日志记录项目进度和其中发生的事(想法or问题), 项目的代码和部分数据我会传到我的Github仓库,方便版本管理控制和组员协作。
tooopen_sy_169294842728.jpg

组员共五人因信息敏感问题,在此不列出姓名。希望我们可以一块完成这个项目,加油!!

(2019/03/16)

理想很丰满,现实很骨感。
在当初拿到项目数据的时候,第一反应是维度这么少能提取什么有用的信息。后来经过思考有了一点想法:

  • 对商品的销量排序提取出最高和较低销量产品
  • 对商品的评分排序提取出好评较高和评分较低的产品
  • 因为有四年的时间维度所以可以对商品销量评分进行趋势描述
  • 找出季节或者周期敏感性产品
  • 找出购买次数较多的活跃用户
  • 可以分析某一商品被多数人购买且评分差异较小可判断是否为必需品
  • 查看是否存在周期性用户(粘度较高)
  • 使用聚类分析对客户进行分群
  • 使用UserCF和ItemCF建立推荐系统

但是想法的实现在前几步就遇到了困难,因为数据体量较大在spl中对数据进行多分组统计时就导致sql断开,现在sql能做的只有简单的排序统计。解决办法只能明天试一试用Python了。至于后面的算法还有大量工作要做,去除时间维度,创建用户-商品矩阵又是一道坎,总之有问题既有解决问题的办法,加油吧。

–by JJF ## (2019/03/19) 这两天的项目进展几乎为零,主要是在构建user-item矩阵的时候遇到了困难
昨天和今天都在网上寻找了一些协同过滤的代码实现,和理论基础。
其中许多大同小异,有一两篇文章中提到了使用svd++将时间的上下文考虑进去
我觉得可以试着了解一下,还有在对数据通过pandas中的数据透视表进行user-item矩阵构建的时候报错

 self.df.pivot_table('score',index=['uid'],columns=['iid'],aggfunc='mean';  
 ValueError: Unstacked DataFrame is too big, causing int32 overflow;)  

初步认为是数据过大导致,在网上搜索解决办法无果,如果还是不行就只能再想别的办法。

–by JJF