有关机器学习的文献强烈建议对 SVM 的数据进行规范化(Preprocessing data in scikit-learn)。如前所述,相同的 StandardScalar应该应用于训练和测试数据。
- 与手动减去平均值并除以标准差相比,使用StandardScalar有什么优势(除了在管道中使用它的能力)?
- scikit-learn 中的 LinearSVC 依赖于多类的一对一(正如 larsmans 所提到的,SVC 依赖于多类的一对一)。那么,如果我有多个类使用规范化作为第一个估计量的管道进行训练,会发生什么?它还会计算每个类别的均值和标准变差,并在分类过程中使用它吗?
- 更具体地说,以下分类器是否在流水线的 svm 阶段之前对每个类应用不同的均值和标准差?
estimators = [('normalize', StandardScaler()), ('svm', SVC(class_weight = 'auto'))]
clf = Pipeline(estimators)
# Training
clf.fit(X_train, y)
# Classification
clf.predict(X_test)