在密度图中寻找边界

我对机器学习还很陌生,所以我很乐意接受各种建议。今天我读了一些关于最小最大风险的内容,我想知道这是否能在我的案例中应用。

我有两个数据集,我希望找到一条线(或者更精确地说,是一个边界),使得左边曲线在垂直线右侧的面积等于右边曲线在垂直线左侧的面积。是否有办法在R中实现这一点,即找到绘制垂直线的确切位置?

我在这里提供了一些样本数据,可以用来绘制以下图表: https://gist.github.com/Legend/2f299c3b9ba94b9328b2

enter image description here


回答:

假设你使用density函数来获取每个响应的估计核密度,然后按照这个链接获取估计的核累积分布函数(CDF),那么你的问题就变成了寻找一个值t,使得:1 - cdf1(t) = cdf2(t),这可以通过常规的根查找函数来解决:

x1 <- subset(data, Type == 'Curve 1')$Valuex2 <- subset(data, Type == 'Curve 2')$Valuepdf1 <- density(x1)f1 <- approxfun(pdf1$x, pdf1$y, yleft = 0, yright = 0)cdf1 <- function(z){  integrate(f1, -Inf, z)$value}pdf2 <- density(x2)f2 <- approxfun(pdf2$x, pdf2$y, yleft = 0, yright = 0)cdf2 <- function(z){  integrate(f2, -Inf, z)$value}Target <- function(t){  1 - cdf1(t) - cdf2(t)}uniroot(Target, range(c(x1, x2)))$rootR > uniroot(Target, range(c(x1, x2)))$root[1] 0.06501821

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注