ludwig 时间序列的拍/不拍分类

fv2wmkja  于 2个月前  发布在  其他
关注(0)|答案(2)|浏览(27)

你好,
我是一个新手。我有一个包含5列的数据集。

  1. timestamp
  2. signal-1
  3. signal-2
  4. signal-3
  5. 0/1 [如果不是节拍则标记为0,如果是节拍则标记为1]
    我想训练一个模型,该模型试图预测节拍和非节拍。这是一个时间序列问题。有很多零数字,所以模型无法学习到一的数量。
    模型定义是:
    model_definition = { 'input_features':[ {'name':'time_motion', 'type':'timeseries'}, {'name':'X_motion', 'type':'timeseries'}, {'name':'Y_motion', 'type':'timeseries'}, {'name':'QoM_motion', 'type':'timeseries'}, ], 'output_features': [ {'name': 'beat_sound', 'type': 'category'} ] }
    Samplle.csv
    有人能帮助我解决这个问题吗?
    Colab链接:Click here
rhfm7lfc

rhfm7lfc1#

SutirthaChakraborty,你能给我们更多关于数据的见解吗?如果我理解正确的话,输入是一个长的时间序列,每一行都是特定时间戳的一个样本,附带一个二进制标签(节拍、非节拍)。如果这是正确的,那么用Ludwig解决这个问题有几种方法。你采用的方法看起来是每个值都要确定是否为节拍,即使你称这些列为时间序列,它们实际上只是单个数字,它们也可以是数值特征。但我认为你可能想要做的是预处理数据,使得每个单元格都是数值列表(例如当前时间之前的10个值),然后模型也会查看之前的值来判断当前时间戳是否为节拍。
希望这对你有意义,我建议你查看时间序列示例,它进行了类似的预处理:https://ludwig-ai.github.io/ludwig-docs/examples/#time-series-forecasting-weather-data-example

egdjgwm8

egdjgwm82#

感谢 @w4nderlust 提供的详细答案。

数据集

当我绘制列时,红色线条是节拍。其他的是输入信号。

预处理

对于 add_sequence_feature_column ,我有多个列。我需要将特征并排放置,用空格隔开,然后变成单个列吗?
add_sequence_feature_column(df, [df.X_motion,df.Y_motion,df.QoM_motion,df.time_motion], 20)

配置文件

对于 model_definition = { 'input_features':[ {'name':'input', 'type':'numerical'} ], 'output_features': [ {'name': 'output', 'type': 'category'} ] } ,这样可以吗?我的输出只有非节拍为0,节拍为1。
代码 - Colab

相关问题