0

NMF package只有满足以下两个条件的特征被保留时,函数 extractFeatures from才能使用以下方法选择特征:

分数大于\hat{\mu} + 3 \hat{\sigma}, 其中\hat{\mu}\hat{\sigma}分别是分数的中位数和中位数绝对偏差 (MAD);

对基础成分的最大贡献大于所有贡献的中值(即 W 的所有元素)。

如何在 R 中编写仅将第一个标准应用于数据矩阵的函数?

金 H 和朴 H (2007)。“通过交替非负约束最小二乘进行微阵列数据分析的稀疏非负矩阵分解。” Bioinformatics (Oxford, England) , 23 (12), pp. 1495-502。ISSN 1460-2059, , .

4

1 回答 1

1

给定一个向量scores,每个分数的条件可以检查如下:

scores <- rnorm(5)
scores > (median(scores) + 3 * mad(scores))
# [1] FALSE FALSE FALSE FALSE FALSE

我们不需要为 MAD 寻找函数,因为mad从包stats中就可以做到这一点。现在,如果您想从某个矩阵中选择相应的列M,您可以简单地编写

M[, scores > (median(scores) + 3 * mad(scores))]

如果您更喜欢一个功能,那么您可以使用

featureCriterion <- function(M, scores)
  M[, scores > (median(scores) + 3 * mad(scores))]
于 2018-03-05T17:17:58.203 回答