特征 scaling/normalization 中的最小值和最大值?
Minimum and maximum values in feature scaling/normalization?
我是机器学习的新手,我正在使用线性特征缩放来预处理我的训练数据。
我的问题是,给定一个 .csv 文件,其中每一列数据代表一个特征,我应该使用什么 minX 和 maxX 值来规范化我的数据?
更具体地说,我应该分别规范化每个特征(使用每列的 minX/maxX 值),同时规范化所有数据(从整个数据集中找到 minX/maxX,因此所有特征), 或在逐个输入的基础上进行归一化?
分别对每个特征进行归一化。您想要的是将每个特征的范围限制在明确定义的区间内(即 [0,1])。
仅使用来自训练数据集的数据。
如果您使用 Min-Max 缩放比例,您将拥有更小的 STD,这还不错。如果使用 Min-Max 或标准化 (mu=0, std=1) 取决于您需要做的应用程序。
您希望所有特征都在线性分类器的同一范围内(不仅是它们!也适用于神经网络!)。在继续之前,您应该非常清楚您想要扩展的原因。查看关于此主题的 Andrew Ng's lecture,以获得对正在发生的事情的直观解释。
弄清楚这一点后,您应该就有了问题的答案:分别对每个特征进行归一化。例如,如果您有一个包含 3 行的 table:
row | F1 | F2
1 | 1 | 1000
2 | 2 | 2000
3 | 3 | 3000
您想通过取最大值 (3) 和最小值 (1) 来缩放 F1。您将对分别具有 3000 和 1000 作为最大值和最小值的 F2 执行相同的操作。
这称为 MinMax 缩放。您还可以根据均值和方差进行缩放,或者完全遵循另一种方法,认为您通常在计算资源方面拥有 "budget",并且您希望将其最大化。在这种情况下,Histogram Equalization 之类的内容可能是一个不错的选择。
最后一点:如果您正在使用决策树(作为独立的分类器,或者在决策林中,或者在增强集成中),那么不要费心规范化,它不会改变任何事情。
我是机器学习的新手,我正在使用线性特征缩放来预处理我的训练数据。
我的问题是,给定一个 .csv 文件,其中每一列数据代表一个特征,我应该使用什么 minX 和 maxX 值来规范化我的数据?
更具体地说,我应该分别规范化每个特征(使用每列的 minX/maxX 值),同时规范化所有数据(从整个数据集中找到 minX/maxX,因此所有特征), 或在逐个输入的基础上进行归一化?
分别对每个特征进行归一化。您想要的是将每个特征的范围限制在明确定义的区间内(即 [0,1])。 仅使用来自训练数据集的数据。
如果您使用 Min-Max 缩放比例,您将拥有更小的 STD,这还不错。如果使用 Min-Max 或标准化 (mu=0, std=1) 取决于您需要做的应用程序。
您希望所有特征都在线性分类器的同一范围内(不仅是它们!也适用于神经网络!)。在继续之前,您应该非常清楚您想要扩展的原因。查看关于此主题的 Andrew Ng's lecture,以获得对正在发生的事情的直观解释。
弄清楚这一点后,您应该就有了问题的答案:分别对每个特征进行归一化。例如,如果您有一个包含 3 行的 table:
row | F1 | F2
1 | 1 | 1000
2 | 2 | 2000
3 | 3 | 3000
您想通过取最大值 (3) 和最小值 (1) 来缩放 F1。您将对分别具有 3000 和 1000 作为最大值和最小值的 F2 执行相同的操作。
这称为 MinMax 缩放。您还可以根据均值和方差进行缩放,或者完全遵循另一种方法,认为您通常在计算资源方面拥有 "budget",并且您希望将其最大化。在这种情况下,Histogram Equalization 之类的内容可能是一个不错的选择。
最后一点:如果您正在使用决策树(作为独立的分类器,或者在决策林中,或者在增强集成中),那么不要费心规范化,它不会改变任何事情。