如何在我的案例中生成数据特征,以便我可以使用 LinearRegression 等工具进行预测?
Posted
技术标签:
【中文标题】如何在我的案例中生成数据特征,以便我可以使用 LinearRegression 等工具进行预测?【英文标题】:How to generate features of data in my case so that I can use some tools like LinearRegression to predict? 【发布时间】:2017-03-07 00:23:25 【问题描述】:我是这个领域的新手。作为零售商,我想分析一下,在我的促销活动中,哪位顾客购买了我的商品会成为忠实顾客。我有一个促销期间的用户操作列表和用户信息,还有一个客户和商家对的列表,其客户被称为忠诚于商家。我还有另一个客户和商家配对列表,我需要预测他们是否会有忠诚的关系。数据量很大,我这里放几行。
user_id item_id cat_id merchant_id brand_id time_stamp action_type
168006 348194 544 692 517 625 0
168006 768080 984 706 1060 1016 1
168006 810877 284 692 517 625 2
user_id#merchant_id prob
7562#3571 0
7562#4784 0
7562#3404 1
cat_id:产品类别 action_type:代表添加到购物车、购买、添加到收藏夹等内容
我想我可以使用 sklearn.linear_model.LinearRegression 之类的东西来预测我的预测列表中的 prob
项目,方法是将每个 user#perchant 对作为一个项目。这里prob
表示1 表示忠诚,0 表示不忠诚,在新列表中,prob
将是一个浮点数。
我还有一个很容易处理的 user_information 列表,我不会把它放在这里。但我不知道如何从我的用户操作列表中生成功能。你能给我一些想法吗?事实上,我仍然不知道是否应该使用 LinearRegression 或者更好的工具?
【问题讨论】:
【参考方案1】:这是一个很好的问题。您在此处捕获的是您拥有一些数据(与商家相关的用户操作),并且您希望将其转化为洞察力(用户对商家进行更多操作的概率)。
这个问题与 Netflix 的问题非常相似。他们有观众(如您的客户)和电影(如您的商家或产品),他们需要在观看电影之前知道观众会喜欢什么电影。这是一个推荐系统。
这里有一个关于这个主题的好课程:https://www.coursera.org/learn/ml-recommenders
从概念的角度来看,您要做的是了解每个客户的偏好向量和每个商家的描述向量。偏好和描述向量结合起来确定推荐。
如果我要在神经网络中实现这一点,我会执行以下操作:
1 对客户进行热编码,并在前馈网络中将其连接到几个节点。如果您认为有 5 个不同的偏好维度,则使用 5 个节点。可能多达 10 个。
1 对商家进行热编码,并在前馈网络中将其连接到几个节点。如果您认为商家价值有 5 个不同的维度,则使用 5 个节点。可能低至 3。
在客户和商家的 1 热编码之上的这两个较小的层为商家和客户构成了一个降维层,并将对他们的偏好进行编码。
现在向两个网络提供另一个小层(可能又是 5 个节点),然后提供给两个输出节点(1 表示不适合,1 表示适合)。
根据您的训练数据训练整个配置。最后,您将了解客户的偏好和商家的描述,以及它们在概念上的匹配方式。
当您有新客户或商家时,您的任务是发现他们的向量,而不是重新计算所有内容。您可以使用 K-means 之类的技术来寻找与该客户相似的客户或与商家相似的商家。
【讨论】:
以上是关于如何在我的案例中生成数据特征,以便我可以使用 LinearRegression 等工具进行预测?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Scikit-learn Pipelines,当特征依赖于其他行时,如何从时间序列数据中生成特征?
如何在我的应用程序中生成 IPython qtconsole,同时将现有对象传递到该控制台