r - 不平衡的训练数据集和回归模型

标签 r machine-learning regression random-forest

我有一个大型数据集(>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/

相关文章:

r - 你如何(以及为什么)使用对比?

r - 在 r 中将元素从一列移动到另一列

artificial-intelligence - 多语言数据的特征选择和无监督学习+机器学习算法选择

python-3.x - 如何在当前纪元期间加载/获取下一个纪元的下一批数据?

machine-learning - NLP 变压器 : Best way to get a fixed sentence embedding-vector shape?

java - WEKA 库 M5P 返回 Java 异常

r - 如何聚合分类 SpatRaster

r - 从列值比较中确定 R 数据框行值

python - 如何改进我的CNN?高且恒定的验证错误

r - 在R中绘制多元Logistic回归模型的结果