关于机器学习的文献强烈建议对支持向量机(Preprocessing data in scikit-learn)的数据进行规范化处理。作为answered before,相同的StandardScalar应用于训练和测试数据。在
estimators = [('normalize', StandardScaler()), ('svm', SVC(class_weight = 'auto'))]
clf = Pipeline(estimators)
# Training
clf.fit(X_train, y)
# Classification
clf.predict(X_test)
由
StandardScaler
执行的功能缩放没有引用目标类。{cd2>只考虑矩阵的特征。它计算所有样本中每个特征的平均值和标准差,而不考虑每个样本的目标类别。在管道的每个组件都独立运行:只有数据在它们之间传递。让我们展开管道的
clf.fit(X_train, y)
。它大致执行以下操作:第一个缩放步骤实际上忽略了它被传递的}属性中(即
y
,但是计算X_train
中每个特征的平均值和标准差,并将它们存储在其mean_
和{fit
组件)。它还将X_train
居中并返回它(即transform
组件)。下一步学习一个支持向量机模型,并做什么是必要的一对一休息。在现在是管道分类的视角。
^{pr2}$clf.predict(X_test)
扩展为:返回}使用从训练数据中学习的参数将转换应用到
y_pred
。在第一行中,它使用存储的mean_
和{X_test
。在是的,缩放算法不是很复杂。它只减去平均值并除以标准值。但是
StandardScalar
:fit
或fit_transform
的参数,以便以后transform
操作(如上所述)inverse_transform
方法反转转换相关问题 更多 >
编程相关推荐