我有一个图像数据集(像素值介于0到255之间),我想从中提取不同的特征,例如HOG功能,Gabor滤镜功能,LBP和颜色直方图。我想将这些特征连接成一个特征向量
feature_overall = np.concatenate((feat1, feat2, feat3, feat4), axis=1)
然后使用此结果整体特征向量训练SVM。
我正在使用Python和Scikit-Image(Skimage)。
我不确定,在这里我必须在哪里使用标准缩放器?对于每个功能,分别是在所有功能串联之前?还是将标准缩放器应用于级联特征向量,即最终的整体特征向量?
非常感谢您的帮助
StandardScaler
缩放每列以具有均值0和标准偏差1。在这种情况下,缩放在连接之前或之后的要素都没有关系。
但是,如果您使用的是sklern.preprocessing.Normalizer()
,那将很重要。 Normalizer()
使每一行的度量值相同(例如,欧几里得)。
[如果是这样,我会在连接特征之前使用Normalizer()
,因为您可能希望HOG特征的总和在所有图像中保持恒定,但是您可能不希望HOG特征的总和,Gabor滤波特征, LBP和颜色直方图保持恒定。