1.介绍

在本教程中,我们将研究特征缩放在支持向量机(SVM)中的影响。

首先,我们将了解SVM和功能缩放。雷竞技app官网网站然后,我们将说明在Python中的示例中的SVM中特征缩放的效果。最后,我们通过比较分类器的成功来得出结论。

2. SVM和特征缩放

SVM是A.监督学习算法我们用于分类和回归任务。它是一种有效和内存的高效算法,我们可以应用于高维空间。

训练SVM分类器包括决定类之间的决策边界。已知该边界具有从每个数据类上的最近点的最大距离。由于此属性,SVM也称为最大边缘分类器:

SVM不会隐式支持多级分类。我们使用一个vs-一个或一个res-rest方法来训练一个多级SVM分类器。

特征缩放正在将数据集的特征值映射到同一范围内。特征缩放对于某些机器学习算法至关重要,这考虑了观察之间的距离,因为两个观察之间的距离不同,用于非缩放和缩放的情况。

正如我们已经陈述的那样,决策边界最大化到与不同类别的最近数据点的距离。因此,数据点之间的距离会影响决策边界SVM选择。换句话说,通过缩放和非缩放数据训练SVM,导致产生不同模型的生成。

两个最广泛采用的特征缩放方法是标准化和标准化归一化将值映射到[0,1]间隔中:

\ [z = \ frac {x  -  min(x)} {max(x) -  min(x)} \]

标准化将特征值移位为均值为零,然后将它们映射到范围内,使其具有1的标准偏差:

\ [z = \ frac {x  -  \ mu} {\ sigma} \]

它为数据中心中心,它更灵活地在数据集中尚未见到的新值。这就是为什么我们更愿意一般标准化。

3. Python中的SVM

现在我们已经研究了理论概念,让我们看看我们如何在Python中实现这一点。我们将利用来自的功能Scikit学习用于预处理和模型建筑的库。

我们将与之合作葡萄酒数据集训练模型。数据是通过三种类型葡萄酒的化学分析而产生的。在此数据集中,我们有13个实值的功能和三个输出类。

数值特征在不同范围内覆盖值。让我们用boxplot可视化输入数据:

然后,让我们使用默认参数训练SVM,没有功能缩放。SVCPressifier我们根据一个VS-One方案应用Handles Multi-Class:

clf = svm.svc()clf.fit(x_train,y_train)

接下来,我们预测测试集的结果:

y_pred = clf.predict(x_test)

之后,让我们来计算准确性和F-1分数指标以测量分类性能:

打印(“准确性:”,metrics.accuracy_score(y_test,y_pred))打印(“f-1 score:”,metrics.f1_score(y_test,y_pred,browese = none))

这给出了值:

准确度:0.7592592592592593 F-1得分:[1。0.74509804 0.31578947]

因此,具有默认参数培训的SVM模型具有75%的精度。F-1分数值表明类的预测成功是不同的:具有完美预测准确性的第一类,并且最后一个类是最低的。

4. Python中的功能缩放

作为一种替代方法,让我们用缩放的功能训练另一个SVM模型。我们使用标准缩放器标准化数据集:

Scaler = standardscaler()。FIT(x_train)x_std = scaler.transform(x)

我们需要始终符合训练集的缩放器,然后将转换应用于整个数据集。否则,我们将从测试中的测试中泄漏了一些知识,进入培训集。

正如预期的那样,由此产生的标准化特征具有0的平均值和1的标准偏差:

然后,让我们使用缩放数据训练一个新模型。上面使用的相同代码片段工作,我们只更改输入数据。

新训练的SVM模型完全不同,因为应用特征缩放改变了数据点之间的距离。我们可以比较模型参数来强调差异。例如,n_support.报告每个类的支持向量数:

打印(clf.n_support_)

使用非缩放数据集接受培训的第一个SVM模型具有支持向量的数量:

[15 34 34]

而在标准化数据上培训的第二种模型有:

[15 27 18]

这些数字表明第二个和第三类具有不同的模型。

再次,我们计算准确性和F-1分数以测量分类性能:

准确度:0.9814814814814815 F-1得分:[1。0.97674419 0.96296296]

具有标准化数据培训的新SVM模型具有98%的更高的准确度。此外,我们观察到F-1分数的显着增加,特别是对于第三类。

具有不同于初始模型的不同F-1分数的第二和第三类验证了我们与支持向量的数量的观察。为这些类设置的模型不一样。

因此,我们看到特征缩放会影响SVM分类器结果。因此,标准化特征值显着提高了分类器性能。

结论

在本文中,我们已经了解了SVM算法以及功能缩放如何影响其分类成雷竞技app官网网站功。

在简要地描述SVM和定义特征缩放后,我们在Python示例上工作以说明差异。

来宾
0.注释
内联反馈
查看所有评论