减少元组列表的信息损失以供ML模型使用

我有一个流处理流程,其中部分由一个包含一个或多个元素的四元组列表组成,让我们看一些例子:

1)”st_li_list”:[{“f0″:3,”f1″:4,”f2″:1,”f3″:12,”arity”:4},{“f0″:1,”f1″:3,”f2″:1,”f3″:3,”arity”:4},{“f0″:15,”f1″:12,”f2″:1,”f3″:180,”arity”:4}]}’2)”st_li_list”:[{“f0″:1,”f1″:24,”f2″:8,”f3″:24,”arity”:4},{“f0″:50,”f1″:11,”f2″:1,”f3″:550,”arity”:4},{“f0″:2,”f1″:10,”f2″:3,”f3″:20,”arity”:4},{“f0″:15,”f1″:10,”f2″:1,”f3″:150,”arity”:4}, {“f0″:4,”f1″:6,”f2″:2,”f3″:24,”arity”:4},{“f0″:1,”f1″:3,”f2″:1,”f3″:3,”arity”:4}]}’3)”st_li_list”:[{“f0″:15,”f1″:12,”f2″:1,”f3″:180,”arity”:4}]}’

如你所见,list1_有3个元素,list2_有6个,而list_3只有一个。我希望进行某种标准化或编码,以便创建一个始终保持相同大小的“摘要”向量,以供ML模型使用,同时不丢失任何信息。list_1有3个元素这一事实对于“摘要向量”来说肯定是有用的信息,可能是列表中的第一个元素,然后是…?(任何长度都可以,所以即使是100个元素也没问题)

我不想为每个参数设置特定的范围,因为这可能会导致错误的范围设定。

如果有任何超级巧妙的解决方案来实现这一点,我将非常感激!也许有一些算法可以做到这一点?


回答:

要么你将整个序列输入到神经网络中,要么你需要将每个序列总结为一个固定长度的特征向量。具体方法取决于信息的代表意义,一般来说,你可以使用:

  • 值的数量
  • 最小/最大值
  • 均值/中位数
  • 标准差
  • 分位数

但例如,如果序列代表一种演变,可能计算平均/总体增长/下降率是有意义的。如果它们代表对象之间的某种坐标,可能计算平均/总体距离是有意义的。等等。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注