我尝试预测一维信号(海拔剖面)中特定点(波峰)的位置。到目前为止,我计算了信号每个点的梯度,并将其与其他特征或启发式方法相结合,以找到预期输出的近似位置(波峰的位置)。
但是这种方法有一些限制,我发现 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)