首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要特征工程建议

需要特征工程建议
EN

Data Science用户
提问于 2019-04-11 01:26:24
回答 1查看 201关注 0票数 4

我在功能工程中遇到了一个问题。想找点建议。问题陈述:我有多个客户3天的使用数据。有的只使用1天,大约2天和3天。数据与每天发送的电子邮件/联系人的数量有关,等等。

我正在将这些时间序列数据转换为按列排列,即客户在day1上发送的电子邮件数量作为一个功能,客户在day2上发送的电子邮件数量作为一个功能,等等。但问题是,对于不同的客户,使用既可以是增加订单,也可以是减少订单。

例如1:客户'A‘‘第二天发送的电子邮件数量=0

例2:客户'B‘‘第二天发送的电子邮件数量=100封

例3:客户“C”‘第二天发送的电子邮件数量=0

例4:客户“D”‘第二天发送的电子邮件数量=100封

在前两种情况下,=>我的新特性将以"-100“和"100”作为值。我想这对区分很有帮助。但是,在第3和第4列中出现的问题是,在这两种情况下,新的特性值都是"0“,任何人都可以建议一种方法来处理这个问题。

处理这个问题的一种方法是:

我可以在这些场景中加上“没有变化”,但我对一件事感到困惑。如果我这样做,我将不得不使新的功能是明确的,这是不理想的,因为其他的值将是连续的。

相反,我可以在新特性中有绝对值,并将趋势表示为"+1“或”递增“-1表示”无变化“,如果这两个值都是"0”,则表示"0“。不过,这是个好办法吗?

最终目标是预测用户是否会继续使用该应用程序。基本上是两级模型。我甚至想捕捉到使用的规模,即“每天发送100封电子邮件的用户”应该与“每天发送10000封电子邮件的B用户”不同。

EN

回答 1

Data Science用户

发布于 2019-04-11 02:25:40

那么,如果您想要识别使用上的变化,可以尝试如下:

f(day_1,day2) = \frac{day_2-day_1 + \delta}{||day_2-day_1+\delta||} \times \Biggr|\Biggr|\frac{day_2+day_1}{(day_2+day_1+1)(day_2-day_1+1)}\Biggl|\Biggl|

其中\delta是机器的每股收益(最小值需要求和以区别于其他浮标)

那会给你

f(100,0) \approx -98.02
f(0,100) = 100
f(100,100) \approx 0.995
f(0,0) = 0

你可以看看我的实验

这将映射[0,1]中的所有非更改,其中f(0,0)映射到0f(\infty,\infty)映射到1

从哪来的?只是手动调优了这个函数。但我认为这可能足以满足你的申请

解释思想

你想要有一个能提供大量信息的功能:-使用量大于零吗?-它是增加还是减少?-如果被搁置,使用量是多少?

好的,您的使用在整数值上是不同的,所以您可以将整个不变但高于0的情况映射到以前未使用的间隔。

上面的函数将在[0,1]中映射所有不变的可能性,以指数型的方式(a^{(-\frac{1}{usage})})也可以从正变化和负变化的近似值中提取实际值(在跌落较高时是一个更好的近似)。

这不是完美的方案,但它是最大的信息,我可以压缩成一个变量,少损失。

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/49088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档