《机器学习与数据科学(基于R的统计学习方法)》——2.12 读取Twitter数据
本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,第2.12节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.12 读取Twitter数据鉴于数据科学正在快速演变,我们可以看到社交媒体中的非结构化数据正在为传统的数据源增添异彩。毋庸置疑的是,最流行的社交媒体数据源是Twitter。“非结构化”这一术语用于描述社交媒体数据,因为它不像典型的企业事务数据那样通常呈现表格形式。非结构化数据是自由格式,可能是纯文本,在推文中是140个字符、缩略语、控件、标签和特殊符号。就像其他所有数据源一样,使用这类数据的第一步是将它读进R环境。在本节中,我们将分步演示使用R读取推文的过程。
遗憾的是,使用Twitter作为数据源有点费劲,因为从2013年3月开始,安全要求成为了必备条件(在此之前,读取数据容易得多)。你必须拥有一个Twitter账户,并在你的R代码中提供对这个账户的身份验证。
首先,我们要安装twitteR包,来帮助读取推文。这是基于R的Twitter客户端,这个包提供了一个到Twittwe网页API的接口,也包括了ROAuth库(开放式身份验证),用Twitter对我们进行身份验证必须用到该库。
install.packages("twitteR") # Contains ROAuth library(twitteR) library(ROAuth)``` 下一步,我们将定义几个变量来存放几个特殊的URL,用于和Twitter进行通信:requestURL、accessURL和authURL。而且,如果你是一个Windows用户,需要从下面提供的URL中下载特殊的CA(社区驱动的证书颁发机构)证书文件。
requestURL - "https://api.twitter.com/oauth/request_token"
accessURL - "https://api.twitter.com/oauth/access_token"
authURL - "https://api.twitter.com/oauth/authorize"
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile= "cacert.pem")`
接下来,你要访问http://dev.twitter.com/apps/new ,用你的Twitter账户登录,创建一个Twitter应用。然后在页面上输入详细信息,才能通过Test Auth按钮得到用户关键字和用户秘钥。你需要将秘钥复制粘贴到你的R代码中。
consumerKey - "tu4dkb9fHLgLrNptaI2CA" consumerSecret - "UzlhoMFyF9IZ6bxxG89DLdPB74VUzur3mBWcr6LcVE" Cred - OAuthFactory$new(consumerKey=consumerKey, consumerSecret=consumerSecret, requestURL=requestURL, accessURL=accessURL, authURL=authURL)``` 现在输入下面这行代码,要求Twitter提供一个数值型的PIN号码给你。你将看到R控制台的消息,指导你将控制台中展示的特殊URL复制粘贴到你的浏览器中(注意:如果你无法高亮显示控制台中的URL并将它复制到剪贴板中,需要升级RStudio了)。一旦你做完这个,Twitter API会展现一个网页,包含7位的PIN。你需要把这些数字打印到一直等待输入的控制台中。
Cred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl") )`
这时,可以使用save()函数将你的Twitter身份验证保存下来,便于以后使用。最后,你需要用twitteR包中的registerTwitterOAuth()函数注册你的Twitter身份验证。
save(Cred, file="twitter authentication.Rdata") registerTwitterOAuth(Cred) [1] TRUE``` 如果想在以后读取推文,只需要使用下面这段代码:
load("twitter authentication.Rdata")
registerTwitterOAuth(Cred)`
最后,我们已经做好了读取推文的准备了。在下面这段代码中,我们使用了searchTwitter()函数,并给它传递了一个搜索关键字。在这个例子中,标签#MLB代表了美国职业棒球大联盟。Twitter API限制了你可以读取的推文最多是499条。推文以列表的形式返回,所以我们使用twListToDF()函数将它们转化成数据框的形式,便于后续分析。最后,我们可以将推文以CSV的格式写出,便于保存。
MLB.list - searchTwitter(#MLB, n=499, cainfo="cacert. pem") MLB.df = twListToDF(MLB.list)
机器学习数学基础五:数据科学的一些基本分布 每一次尝试都是独立的,因为前一次投掷的结果不能决定或影响当前投掷的结果。只有两个可能的结果并且重复n次的实验叫做项式。二项分布的参数是n和p,其中n是试验的总数,p是每次试验成功的概率。
边玩边学!交互式可视化图解!快收藏这18个机器学习和数据科学网站!⛵ 机器学习算法理论比较枯燥乏味,但有许多有趣且有用的网站,您可以像游戏一样交互式操作,并同时学习机器学习概念、模型和应用知识。以下是 ShowMeAI 为大家整理的18个交互式机器学习网站,学起来!
五个给机器学习和数据科学入门者的学习建议 我从没写过代码。 当人们发现我的作品,他们通常会私信并提问。我不一定知道所有的答案,但我会尽量回复。人们最常问的问题是:「该从哪开始?」,其次是:「我需要多少数学基础?」
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- 机器学习-二分KMeans
- 机器学习-决策树的基本思想
- 机器学习-矩阵空间的变换
- 机器学习-随机性、概率论、多元统计、特征间的相关性
- (《机器学习》完整版系列)第13章 半监督学习——13.5 基于分歧的方法(多学习器间的差异、协同训练算法)
- 复盘:躺懂XGBoost/GBDT,学不会来打我!史上最强大的机器学习算法:BGDT……
- 机器学习笔记之指数族分布——充分统计量与模型参数的关系
- Linux集群和自动化维1.4.4 Linux下CPU使用率与机器负载的关系与区别
- Andrew Ng机器学习公开课笔记 -- 学习理论
- 机器学习——英文特征提取,中文特征提取
- 一文读懂机器学习大杀器XGBoost原理
- 《数字图像处理与机器视觉——Visual C++与Matlab实现》——1.3 Matlab的图像转换
- 《机器学习与数据科学(基于R的统计学习方法)》——1.3 机器学习的过程
- 《机器学习与数据科学(基于R的统计学习方法)》——1.7 RStudio
- 《机器学习与数据科学(基于R的统计学习方法)》——2.11 R中的SQL等价表述
- 《机器学习与数据科学(基于R的统计学习方法)》——导读
- 随时更新———个人喜欢的关于模式识别、机器学习、推荐系统、图像特征、深度学习、数值计算、目标跟踪等方面个人主页及博客
- Andrew Ng-机器学习基础笔记-SVM
- <机器学习实战>读书笔记--logistic回归
- 机器学习——深度学习之编程工具、流行网络结构、卷积神经网络结构的应用