机器学习?支持向量机(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里的使用的主要内容,如果未能解决你的问题,请参考以下文章