机器学习:当多行属于同一ID时,构造用于分类的功能

时间:2018-12-05 13:41:46

标签: python machine-learning feature-engineering

这是我的问题: 例如,我有一个表,其中包含一个月内人们的行为信息(多个功能),每个人都有一个唯一的ID和一个唯一的标签(0和1)。我想做的就是使用这些功能来预测客户是否属于组0 /1。

但是,问题是每个ID的功能被收集并记录了多次,这意味着我有多个行属于同一个ID。那么如何构造数据并构建一个特征矩阵,其中一个ID对应一行特征和一个标签呢?

功能

$datasources.$DataSourceFolder

标签

ID feature1 feature2 feature3 ...
1  2        1.5      1        ...
2  1        3        0        ...
3  1        2        1        ...
1  2.5      1        1        ...
3  0.8      1        0        ...
...

样本:两个数据框

有没有一种方法可以尽可能多地考虑这些多行特征并创建一个与之对应的特征矩阵?

到目前为止,我的个人想法是:首先,计算每个ID作为新功能显示的时间。其次,将每个ID聚类为两个簇,并使用多数个的簇中心作为该ID的特征数组。

有人可以帮助我吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

您可能对数据和设计功能的最终用途可能有的任何假设都会大大影响功能工程。

首先,您可以通过MIN, MAX, NMISS, COUNT, SUM, MEAN, STDEV等基本统计功能在ID级别上汇总所有功能。因此,如果您拥有f功能并使用k统计信息,则可以最终以f*k个独立变量结束。

此外,根据数据,您可能会对查看特殊类别感兴趣,例如您可能会对每个ID发生feature_1 >= 10的次数感兴趣,这可能是一个附加变量。