matlab - 它使用哪种缩放技术?

标签 matlab statistics matlab-guide matlab-deployment

我有一个矩阵 X,它的大小是 100*2000 double。我想知道以下命令中对矩阵 X 应用了哪种缩放技术,以及为什么它不使用 z-score 进行缩放?

X = X./repmat(sqrt(sum(X.^2)),size(X,1),1); 

最佳答案

这种缩放来自线性代数。这就是我们所说的通过生成 a unit vector 进行归一化.假设每一行是一个观察值,每一列是一个特征,这里发生的是我们正在检查您收集的每个观察值,并对所有观察值的每个特征值进行归一化,以便所有观察值的特定特征的总长度/大小设置为 1。

底部的部分查看每个特征并确定特征在所有观察中的范数或大小。找到这些幅度后,您就可以对每个观察结果取每个特征,然后除以它们各自的幅度。

经常使用单位向量的原因是相对于一组基向量来描述特征空间中的一个点。通过生成单位向量进行归一化为您提供了在特征空间中表示一个组件的最小可能方式,因此这里可能发生的是现在正在转换观察结果,以便每个组件/特征都根据一组基本向量表示。每个基向量是数据中的一个特征。

查看关于单位向量的维基百科文章了解更多详情:http://en.wikipedia.org/wiki/Unit_vector

关于matlab - 它使用哪种缩放技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30442998/

相关文章:

Python - 创建 2 个新列,其中包含多个行值的第 25 个和第 75 个百分位

python - 在 python 中计算下一个表的 T Student Test

user-interface - 在 MATLAB 中,如何在拖动 slider 时执行回调?

matlab - 将图像分成不重叠和重叠的 block

matlab - 将参数(即笛卡尔积)排列成多维数组

python - scipy.sparse.linalg.eigsh() 不会给出与 Matlab 的 eigs() 相同的结果,为什么?

java - 从 MATLAB 调用 Java?

python - 如何检查python中变量的分布?

MATLAB - 直接将标称数据转换为数值

c - 用于转换特征提取函数的 Matlab 编码器