减少元组列表的信息损失以供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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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