首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习SVM模型分类技术应用

大数据应用里最重要的一个分支是标签定义,如何利用机器学习来为数据定义分类标签是一个非常重要和有用的技术热点,那么什么是定义分类标签?先举个例子,如何将10万条新闻数据进行分类,将他们分为“时事新闻”,“民生新闻”或“娱乐新闻”;如何对20万条用户评论分为“喜欢”,“讨厌”和“不感兴趣”等内容这就是标签分类,解决这类问题就需要使用机器学来完成,对于计算机来说,分类数十万条数据可能是几分钟甚至几秒钟的事情,但如果将该任务用人工来分那恐怕就得数月了,然而这个艰涩的应用技术让从事社会学研究人员常常望而却步,本文将介绍在机器学习领域里如何利用SVM(支持向量机)为大数据“傻瓜式”标注分类标签的方法。

环境是在R里,之所以说傻瓜式是因为应用包集成了9大经典的机器学习算法模型,应用人员不需要深入对这些算法模型进行研究,所有模型均已集成完备只需要输入简单的几个语句调用即可,本文仅选择使用SVM一个模型测试,主要原因是经过笔者的探索SVM的召回准确率是最高的,同时,附带9大模型的简介

模型1:支持向量机(Support Vector Machine from e1071)

模型2:glmnet(一个非常流行的用于变量选择的R包,俗称kaggle竞赛“三驾马车”之一)

模型3:最大熵模型(maximum entropy from maxent)

模型4:大规模线性判别(scaled linear discriminant,slda)

模型5:装袋算法(bagging from ipred)

模型6:提升算法(boosting from caTools)

模型7:随机森林(random forest from randomForest)

模型8:神经网络(neural networks from nnet)

模型9:回归树(regression tree from tree)

另外,需要注意的是本次教程使用的学习模型是在监督学习基础上完成的,换言之就是数据集里已有部分数据人工标注了标签,将该部分标签作为测试集,待标注标签部分数据定义为训练集即可,下面我们就以USCongress数据集作为案例来介绍。

一、USCongress数据集简介

这是R自带的一份关于美国国会预算案审批的经典数据集,共6列4500行,其中TEXT列字段代表审批内容的文本描述,这部分文本内容也是我们要标注定义标签分类的目标对象,major列里是对预算项的已有分类,数据集显示如下,我们的测试目的是假设删除4000行分类保留500行作为测试集并导出测试集后与原始标注进行对比。

二、基本代码

library(sparme)

library(rtexttools)

library(readxl)

setwd=("c:\\Data\\")

usc

view(usc)

doc_matrix

container

length(unique(usc$major))

SVM

SVM_CLASSIFY

analytics

summary(analytics)

topic_summary

alg_summary

ens_summary

doc_summary

create_ensembleSummary(analytics@document_summary)

write.csv(analytics@document_summary, "DocumentSummary.csv")

执行完成后,在事先预设的setwd()文件目录下会生产一个CSV文件,文件里指定训练集行数的内容就被自动标注了标签,经过之前的测试,SVM的召回准确率可以达到74%。

感兴趣的朋友可以亲自试试啊,今天就到此结束。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126G0PFIS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券