在密度图中寻找边界

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

我有两个数据集,我希望找到一条线(或者更精确地说,是一个边界),使得左边曲线在垂直线右侧的面积等于右边曲线在垂直线左侧的面积。是否有办法在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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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