- R语言机器学习算法实战系列(一)XGBoost算法+SHAP值(eXtreme Gradient Boosting)
- R语言机器学习算法实战系列(二) SVM算法+重要性得分(Support Vector Machine)
- R语言机器学习算法实战系列(三)lightGBM算法+SHAP值(Light Gradient Boosting Machine)
- R语言机器学习算法实战系列(四)随机森林算法+SHAP值 (Random Forest)
- R语言机器学习算法实战系列(五)GBM算法+SHAP值 (Gradient Boosting Machines)
- R语言机器学习算法实战系列(六)K-邻近算法 (K-Nearest Neighbors)
- R语言机器学习算法实战系列(七)朴素贝叶斯分类算法 (Naïve Bayes Classifier)
- R语言机器学习算法实战系列(八)逻辑回归算法 (logistic regression)
- R语言机器学习算法实战系列(九)决策树分类算法 (Decision Trees Classifier)
- R语言机器学习算法实战系列(十)自适应提升分类算法 (Adaptive Boosting)
- R语言机器学习算法实战系列(十一)MLP分类算法 (Multi-Layer Perceptrons)
- R语言机器学习算法实战系列(十二)线性判别分析分类算法 (Linear Discriminant Analysis)
介绍
支持向量机(Support Vector Machine,简称SVM)是一种监督学习算法,主要用于分类问题,也可以用于回归问题。SVM的核心思想是在特征空间中寻找一个最优的超平面,以此来区分不同的类别。
原理
- 最大化间隔:SVM试图在不同类别的数据点之间找到一个最大化边界的超平面。这个边界被称为“间隔”。SVM的目标是最大化这个间隔,以便新数据点被正确分类的可能性最大化。
- 支持向量:在数据集中,那些位于间隔边界上的数据点被称为支持向量。这些点是定义最优超平面的关键。
- 核技巧:在原始特征空间中可能很难找到一个合适的超平面来分隔数据,SVM通过使用核函数将数据映射到更高维的空间中,使得在新的空间中更容易找到分隔超平面。
- 优化问题:SVM的优化问题通常通过求解一个凸二次规划问题来实现,确保找到全局最优解。
应用方向
- 图像识别:用于识别和分类图像中的物体或场景。
- 文本分类:例如垃圾邮件检测、情感分析等。
- 生物信息学:在基因表达数据中识别疾病相关基因。
- 语音识别:用于区分不同的语音模式。
- 推荐系统:通过用户的历史行为数据预测用户可能感兴趣的产品或服务。
- 医学诊断:辅助医生进行疾病诊断,例如癌症检测。
教程
本文旨在通过R语言实现SVM的应用,总共包含以下步骤:
- 下载数据
- 加载R包
- 数据描述
- 数据预处理
- 数据切割
- 标准化数据
- 设置参数
- 训练模型
- 预测测试数据
- 评估模型
- 特征的重要性
- 保存模型
- 总结
- 系统信息
网友评论