机器学习?支持向量机(SVM)在Stata里的使用

Posted Idata

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习?支持向量机(SVM)在Stata里的使用相关的知识,希望对你有一定的参考价值。

我们身处的世界正在重新被数据定义,就像你经常听到“机器学习”、“人工智能”、“大数据”。

 

作为外行,要准确辨识清楚这些概念并不容易。推荐阅读《Deep Learning vs Machine Learning vs Pattern Recognition》,作者在文章中解释了深度学习、机器学习和模式识别的区别和联系。下图是三个关键词在Google里搜索趋势走势图:

 

 

算法是这些概念的基础设施,比如实证研究中经常用的“回归分析”就是一种基础算法。而支持向量机(Support Vector Machine,SVM)则属于机器学习的一种算法。来自University of Waterloo的Nick Guenther和Matthias Schonlau在2016年最后一期的《Stata Journal》上给出了支持向量机在Stata里初步应用。

 

当然,在开始探索支持向量机之前,您需要通过findit svmachines来找到程序的安装包,并且下载安装。

 

分类是机器学习常见的任务,根据维基百科的解释,对于下面这张图片,H1 不能把类别分开。H2 可以,但只有很小的间隔。H3 以最大间隔将它们分开。


支持向量机正是寻找H3的方法。

 

由于SVM很容易造成过度拟合,所以我们常常把数据集分为训练集和测试集。比如对于一个简单的分类问题,第一步需要做的就是区分训练集和测试集。


sysuse auto,clear 

set seed 9876

generate u = runiform()

sort u

local split = floor(_N/2)

local train = "1/`=`split'-1'"

local test = "`split'/`=_N'"

 

在训练集中利用SVM进行训练:

 

svmachines foreign price-gear_ratio if !missing(rep78) in `train',verbose

 

测试集里进行预测,并统计准确率:

 

predict P in `test'

generate err = foreign != P in `test'

tab err in `test'

 

当然SVM还有别的应用,更多详情,请您参照帮助文件阅读。

 

闲聊几句。

 

好几天没收咖啡钱了,当然今天也不收。一个经验是每1000次阅读带来一杯咖啡。

 

 

祝您开心。

以上是关于机器学习?支持向量机(SVM)在Stata里的使用的主要内容,如果未能解决你的问题,请参考以下文章

支持向量机 : 线性可分类 svm

机器学习 支持向量机 SVM(上)

换种视角看问题——支持向量机(SVM)

机器学习:支持向量机SVM

机器学习入门之四:机器学习的方法--SVM(支持向量机)(转载)

机器学习-支持向量机SVM