支持向量机(Support Vector Machine, SVM)是一种二分类模型,它通过构造一个最优超平面对数据进行分类。超平面就是在高维空间中将不同类别的数据分离开的一个分界面,最优超平面则是离两个类别最近的数据点的距离最大的那个超平面。
以下是一个使用R语言中支持向量机进行分类的示例。
首先,我们需要加载必要的库。
将R自带的鸢尾花数据集分成训练集和测试集:
该数据集包括150个样本和4个特征(花萼长度、花萼宽度、花瓣长度和花瓣宽度),并且每个样本都有一个标签,表示其属于哪一类鸢尾花。
接下来,使用svm函数对数据进行建模:
这里的Species是鸢尾花的类别,.表示使用除了Species以外的所有变量作为特征。
最后,使用predict函数对测试集进行预测:
完整的代码如下:
运行代码后,可以得到测试集上的分类结果和混淆矩阵。根据混淆矩阵可以计算出准确率、召回率、F1值等指标,评估模型的性能。
运行结果:
pred setosa versicolor virginica
setosa 16 0 0
versicolor 0 20 0
virginica 0 1 13
以上是简单的支持向量机示例。SVM是一个非常有用的分类算法,广泛用于机器学习和数据科学领域。