我在功能工程中遇到了一个问题。想找点建议。问题陈述:我有多个客户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用户”不同。
发布于 2019-04-11 02:25:40
那么,如果您想要识别使用上的变化,可以尝试如下:
其中\delta是机器的每股收益(最小值需要求和以区别于其他浮标)
那会给你
这将映射[0,1]中的所有非更改,其中f(0,0)映射到0,f(\infty,\infty)映射到1。
从哪来的?只是手动调优了这个函数。但我认为这可能足以满足你的申请
你想要有一个能提供大量信息的功能:-使用量大于零吗?-它是增加还是减少?-如果被搁置,使用量是多少?
好的,您的使用在整数值上是不同的,所以您可以将整个不变但高于0的情况映射到以前未使用的间隔。
上面的函数将在[0,1]中映射所有不变的可能性,以指数型的方式(a^{(-\frac{1}{usage})})也可以从正变化和负变化的近似值中提取实际值(在跌落较高时是一个更好的近似)。
这不是完美的方案,但它是最大的信息,我可以压缩成一个变量,少损失。
https://datascience.stackexchange.com/questions/49088
复制相似问题