基于连续阈值查找分类指标向量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于连续阈值查找分类指标向量相关的知识,希望对你有一定的参考价值。
我有一组t个阈值,将我的数据向量y分为t-1个类别。
y <- runif(100) # data vector
t <- c(0, 0.5, 1) # threshold vector
在此示例中,类别1对应于满足0 < y < 0.5
的数据点,类别2对应于满足0.5 < y < 1
的数据点。要找到相应的类别矢量,可以使用一种幼稚的循环方法]
nc <- length(t) - 1 # number of categories
categories <- numeric(length=length(y)) # vector of categories
for(cc in 1:nc) # loop over categories
lower <- t[cc] # lower bound for category cc
upper <- t[cc + 1] # upper bound for category cc
cc.log <- (lower < y) & (y < upper) # logical vector where y satisfies thresholds
categories[cc.log] <- cc # assign active category where thresholds are satisfied
是否有一种更容易且可扩展的解决方案,将数据向量y
和阈值向量t
作为输入并返回类别categories
的向量?
答案
尝试一下
cut(y, t, labels = FALSE)
另一答案
一个简单的选择是findInterval
categories2 <- findInterval(y, t)
all.equal(categories, categories2)
#[1] TRUE
以上是关于基于连续阈值查找分类指标向量的主要内容,如果未能解决你的问题,请参考以下文章