SVM算法及R语言介绍010203SVM算法技术流程R语言介绍CONTENTS目录01SVM算法SVM算法SVM(SupportVectorMachine)指的是支持向量机,是常见的一种判别方法。SVM算法为二分法,当有多个类别时,进行两两二分,直到不能再分为止。桌上有两种颜色的球,使用一条直线把它们分开。当球的数量增加,开始有球站错阵营。于是SVM调整直线的位置,好让直线两边有尽量大的距离,以适应球的数量增加。SVM算法SVM算法不仅能解决线性分类的问题,还能通过增加向量的维度来解决非线性分类的问题。现实生活中的大量问题都属于此类,即需要通过多维度来分类。下图是一个典型的线性不可分的情况把这两个类似于椭圆形的点映射到一个三维空间后,并且对映射后的坐标加以旋转之后就可以得到一个线性可分的点集了。03操作流程操作流程数据获取数据预处理特征词提取分类器训练分类结果评价分类器训练02分类器相关参数调整K-折交叉验证交叉验证法(crossvalidation)先将数据D划分为k个大小相似的互斥子集,即每个子集都尽可能保持数据分布的一致性,即从D中通过分层采样得到,然后,每次用k-1个自己的并集作为训练,余下的那个子集作为测试集,这样就就可以获得k组训练/测试集,从而可以进行k次训练和测试,最终返回的是这k个测试结果的均值。通常又将交叉验证法称为k-折交叉验证((k-foldcrossvalidation),k这里通常取值为10,此时称为十折交叉验证。04R语言软件R语言R语言简介R是用于统计分析、绘图的语言和操作环境。R是一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R语言功能数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。R语言使用R语言的使用,很大程度上是借助各种各样的R包的辅助,R包就是针对于R的插件,不同的插件满足不同的需求。在加载过相关的包后,通过调用包内函数进行相关操作。此处输入标题这里输入主要叙述内容这里输入主要叙述内容R语言的下载包与包的获取都需通过CRAN镜像站,CRAN为ComprehensiveRArchiveNetwork(R综合点藏网)的简称,它收藏了R的下载版、源代码和说明文件,也收录了各种用户撰写的包。为何选取R•擅长处理数据•语法简单•开源•可供使用的包多•可视化功能强大•e1071包•svm()函数常用包介绍04030201wordcloud2•生成词云•Wordcloud2()函数中包含多个参数,可对词云的字体颜色形状等特征进行设置。ggplot2•个性化的统计绘图•ggplot()作为泛型函数,能对任意类型的R对象进行可视化操作。jiebaR•中文分词•提供了三种分词方式plyr•数据整理•可以进行类似于数据透视表的操作•切分数据,对分割后的数据进行操作,最后汇总操作结果。周杰伦歌词词云案例jiebaR包(中文分词)wordcloud2包(生成词云)周杰伦《十一月肖邦》全部歌词文档:去除文档中的换行符与空格周杰伦歌词词云案例安装jiebar包和wordcloud2包周杰伦歌词词云案例周杰伦歌词词云案例ggplot2玫瑰图案例星巴克门店分布图•ggplot2包:制作放射状玫瑰图•获取相关数据•整理数据制作数据框•使用ggplot2函数,并设置其中相关参数相关公众号感谢在座各位的聆听THINKYOU