如何使用类似于χ的数据将R中的数据规范化为[0,1]²-分布

如何使用类似于χ的数据将R中的数据规范化为[0,1]²-分布,r,scale,normalization,R,Scale,Normalization,我想将数据规范化为[0,1],但是这个数组的分布非常不规则,有大量的低值和少量的大值,几乎80%的数据值在[min(数据),3*min(数据)/4+1*max(数据)/4]的范围内,这个范围内的数据分布与正态分布非常相似 因此,整个数据集类似于*χ²-分布*(由于声誉较低,我无法上传绘图(密度(数据))图片)。 该数据的信息如下所示: > max(data) > 25418 > min(data) > 104 > length(data) > 97

我想将数据规范化为[0,1],但是这个数组的分布非常不规则,有大量的低值和少量的大值,几乎80%的数据值在
[min(数据),3*min(数据)/4+1*max(数据)/4]
的范围内,这个范围内的数据分布与正态分布非常相似

因此,整个数据集类似于*χ²-分布*(由于声誉较低,我无法上传绘图(密度(数据))图片)。 该数据的信息如下所示:

 > max(data)
 > 25418
 > min(data)
 > 104
 > length(data)
 > 971
 > plot(density(data))
我试着用最大(x)-min(x)除以整个数据的方法


规格化取决于您是否接受线性规格化。如果你不想要线性标准化,你最好有一个很好的理由,“很多小值”不是一个很好的理由。总是将最小值设置为零,这些都是正数,对吗?因为数据的分布非常不均匀,几乎80%的数据在
[min(数据),3*min(数据)/4+1*max(数据)/4]的范围内
或者更极端。对于数据而言,如果值太大,则表示它非常重要,与大量较低的值相比,它的具体值可能没有那么重要。所以我只想把那些较大的值设置为接近1,不要把较小的值缩小太多。我恐怕这仍然不是一个非常明确的问题。我会投票关闭/迁移到CrossValidated,但我希望先看到它得到改进/取而代之。您能否进一步解释一下为什么要对数据进行规范化,也就是说,以后要对数据做什么,以及为什么当前的分布存在问题?这可能会对问题的答案产生很大影响……我之所以要对数据进行规范化,是因为我想将这些数据用于概率模型进行分析。坦率地说,我想将这些数据调整到[0,1]之间的范围,这在模型中用作概率值,与电流分布无关。但是当我使用线性标准化时,模型不能很好地拟合数据,性能也很差,所以我想这可能与我的标准化方法有关,数据收缩太多。你认为我把这个问题迁移到交叉验证会更合适吗?
normalized <- function(data){
    return (apply(data, FUN = function(x) (x-min(x))/(max(x)-min(x)))
}
data <- scale(data)