2017-09-04 106 views
0

何时进行数据预处理,建议进行缩放或归一化。当你手上有数据时很容易做到这一点。你有所有的数据,并可以马上做到。但是在模型建立并运行之后,第一个需要进行缩放或归一化的数据是否需要进行缩放或归一化?如果需要,它只有一个单行如何缩放或规范化它?我们如何知道每个功能的min/max/mean/stdev是什么?传入的数据如何是最小/最大/平均每个功能?数据科学缩放/归一化实例

请告知

回答

1

是的,你需要应用规范化输入数据,否则模型将预测废话。

您还必须保存训练期间使用的归一化系数或训练数据。然后你必须对输入数据应用相同的系数。

例如如果使用最小 - 最大归一化:

F_N =(F - 分钟(F))/(最大(F) - min_(F))

然后,你需要保存min(f)和max(f),以便对新数据执行标准化。

0

首先您应该知道何时使用缩放和标准化。

  1. 缩放 - 比例也不过是改变你的功能,以媲美magnitudes.Let说,如果你有一个像人的收入功能和君不见有些人的顺序10^3的值,部分10^6 。现在,如果您使用此功能为您的问题建模,那么诸如KNN,Ridge Regression等算法将为此类属性的较高数量级赋予更高的权重。要防止出现这种情况,您需要首先缩放您的功能.Min-Max定标器是最常用的缩放比例之一。

  2. 平均规范化 - 如果检查功能的分布后,你发现该功能不会是以零为中心,然后像SVM,其中目标函数已经假设零均值和相同的顺序变化的算法,我们可以有建模中的问题。所以在这里你应该做平均标准化。

  3. 标准化 - 对于像SVM,神经网络算法,逻辑回归就必须具有以下特征:在同一order.So方差我们为什么不让它在标准化one.So,我们使特征分布为零均值和单位方差。

现在让我们尝试在培训和测试集方面回答您的问题。 假设您正在训练您的模型在50k数据集上并在10k数据集上进行测试。 对于上述三种转换,标准方法表示您应该将任何标准化器或缩放器仅适用于训练数据集,并且仅对测试数据集使用转换。 在我们的例子中,如果我们想要使用标准化,那么我们首先将我们的标准化器适用于50k的训练数据集,然后用它来转换它50k的训练数据集并测试数据集。

注意 - 我们不应该使用我们的标准器来测试数据集,而是使用已经合适的标准器来转换测试数据集。