Machine learning 在支持向量机中是否需要对预测输入向量进行归一化?

Machine learning 在支持向量机中是否需要对预测输入向量进行归一化?,machine-learning,svm,normalization,Machine Learning,Svm,Normalization,对于不同规模的输入数据,我理解用于训练分类器的值必须进行规范化,以实现正确的分类VM 那么,预测的输入向量也需要标准化吗 我的场景是,训练数据被规范化、序列化并保存在数据库中,当必须进行预测时,序列化的数据被反序列化以获得规范化的numpy数组,然后numpy数组被适配到分类器上,用于预测的输入向量被应用于预测。那么这个输入向量也需要标准化吗?如果是这样的话,怎么做呢?因为在预测时,我没有要标准化的实际输入训练数据 此外,我正在沿轴=0进行规格化,即沿列进行规格化 我的规范化代码是: prepr

对于不同规模的输入数据,我理解用于训练分类器的值必须进行规范化,以实现正确的分类VM

那么,预测的输入向量也需要标准化吗

我的场景是,训练数据被规范化、序列化并保存在数据库中,当必须进行预测时,序列化的数据被反序列化以获得规范化的numpy数组,然后numpy数组被适配到分类器上,用于预测的输入向量被应用于预测。那么这个输入向量也需要标准化吗?如果是这样的话,怎么做呢?因为在预测时,我没有要标准化的实际输入训练数据

此外,我正在沿轴=0进行规格化,即沿列进行规格化

我的规范化代码是:

preprocessing.normalize(data, norm='l2',axis=0)

是否有一种序列化预处理的方法。在支持向量机中,由于几个原因,建议使用定标器

在许多优化方法中,最好具有相同的规模。 许多核函数内部使用欧几里德距离来比较高斯核中的两个不同样本。欧几里德距离是指数项,如果每个特征具有不同的尺度,欧几里德距离只考虑具有最高尺度的特征。 将要素置于同一比例时,必须删除平均值并除以标准偏差

        xi - mi
xi -> ------------
         sigmai
您必须存储训练集中每个特征的平均值和标准偏差,以便在将来的数据中使用相同的操作

在python中,您可以使用以下函数:

要获得平均值和标准偏差:

scaler = preprocessing.StandardScaler().fit(X)
为了规范化,训练集X是一个矩阵,其中每一行是一个数据,每一列是一个特征:

X = scaler.transform(X)
培训后,您必须在分类之前规范化未来数据:

newData = scaler.transform(newData)

如果在svm训练之前进行预处理,那么当然也必须对每个向量进行预处理以预测向量,使用与训练相同的预处理器对象,例如相同的平均值。因此,我要在sklearn中序列化规范化器以规范化输入向量。?