我有一个大型数据集(>300,000 个观测值),表示蛋白质之间的距离 (RMSD)。我正在构建一个回归模型(随机森林),该模型应该预测任意两个蛋白质之间的距离。
我的问题是,我对近距离比赛(短距离)更感兴趣,但是我的数据分布存在很大偏差,因此大多数距离都很大。我并不真正关心模型能够预测远距离的效果有多好,所以我想确保模型能够准确地预测近距离模型的距离。然而,当我在完整数据上训练模型时,模型的性能不好,所以我想知道我可以采取的最佳采样方式是什么,这样我可以保证模型能够准确地预测接近的匹配距离尽可能地同时对数据进行分层,因为不幸的是,这种有偏差的数据分布代表了我将验证和测试模型的真实世界数据分布。
以下是我的数据分布,其中第一列表示距离,第二列表示此距离范围内的观测值数量:
Distance Observations
0 330
1 1903
2 12210
3 35486
4 54640
5 62193
6 60728
7 47874
8 33666
9 21640
10 12535
11 6592
12 3159
13 1157
14 349
15 86
16 12
最佳答案
我在这里尝试的第一件事是构建距离的log回归模型,因为这将集中较大距离的范围。如果您使用广义线性模型,则这是对数链接函数;对于其他方法,您可以通过估计输入 x 的回归函数并对结果取幂来手动执行此操作:
y = exp(f(x))
记住使用一对训练距离的对数。
关于r - 不平衡的训练数据集和回归模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22712334/