具有二维特征的随机森林

数据挖掘 随机森林
2022-03-09 21:43:51

我尝试预测一维信号(海拔剖面)中特定点(波峰)的位置。到目前为止,我计算了信号每个点的梯度,并将其与其他特征或启发式方法相结合,以找到预期输出的近似位置(波峰的位置)。

但是这种方法有一些限制,我发现 ML 技术,尤其是随机森林分类器在这种情况下可以表现良好。

我想训练我的 RF 以根据配置文件输入找到最可能的点(point_index)作为“输出”。

然而,我只找到了使用一维输入(如时间序列)训练 RF 模型的示例。就我而言,我有 2D 输入数据(一个信号由点组成,N每个点有 2 个特征),如下面的数据框:

   profile_index  point_index         z             z'        crest
0              0            1 -0.885429             0          false
1              0            2 -0.820151          0.02          false
2              0            3 -0.729671          -0.1           true
3              0            4 -0.649332           0.1          false
4              1            1 -0.692186             0          false
5              1            2 -0.885429           0.1           true
6              1            3 -0.820151         -0.05          false
3              1            4 -0.649332           0.2          false

我可以映射我的数据以拆分每个配置文件的数据框,并将输出 point_index 作为一个特征,但是我如何管理我的两个特征是数组的事实?

编辑:这是我的数据的另一种表示形式

   profile_index               points_z         points_z_prime    crest_index
               0     [-0.05, ..., 2.36]        [0, ..., -0.01]            150          
               1     [-0.02, ..., 4.41]        [0, ..., -0.02]            162          

(这可能与方法无关,但我使用 Python 和 scikit-learn)

1个回答

如果阵列中的点数是恒定的,您可以展平阵列并将每个元素用作 RF 中的一个特征。我研究了一个类似的问题(如果我正确理解了您的问题),我根据他在固定天数的给定窗口内的回报来预测股票的回报,并且我以这种方式使用了 RF,它的表现非常好。
如果您的点数不固定,那么我建议您使用 LSTM 神经网络,您可以在其中引入一系列数据(可能是数组),它可以预测您正在寻找的输出。