《机器学习与数据科学(基于R的统计学习方法)》——2.7 使用文件连接

简介:

本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,第2.7节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 使用文件连接

另一种从数据源中读取信息的方式是通过文件连接。利用连接,你可以读入CSV文件,就像我们在前面看到的那样。不同的是,你也可以从文本文件中读取数据行。在数据不太规整的情况下,从文本文件中按行读取数据是有意义的。为此,R有一个有用的函数readLines(),可以和文件连接一同使用。在我们查看readLines()的例子之前,首先来看看文件连接是如何工作的。考虑下面的示例代码:

> con <- file("./data/SFParkingMeters.csv", "r")
> SFParkingMeters <- read.csv(con)
> close(con)
> head(SFParkingMeters)```
前面的例子首先使用file()函数来建立CSV文件与命名为con的对象的连接。然后,我们调用read.csv()函数,使用连接对象作为参数,以读取文件的内容。最后,完成后关闭连接是很好的习惯。跟前面的一样,数据框SFParkingMeters包含了文件的内容。

现在让我们回到readLines()函数,然后做一些完全不一样的事情。这一次,数据源将会是一个网页,所以我们会使用url()函数来提供网页的地址。遵循和之前一样的步骤,但设定参数n=20,表示只读取网页的前20行(如果一次只想读取1行,取n=1)。

con <- url("http://radicaldatascience.wordpress.com/", "r")
RDS <- readLines(con, n=20)
close(con)
head(RDS)`
在上文中,使用head(),展示了从我的博客上读取的HTML文本。

[1] "<!DOCTYPE html>"        "<!--[if IE 7]>"        
[3] "<html id=\"ie7\" lang=\"en\">" "<![endif]-->"         
[5] "<!--[if IE 8]>"        "<html id=\"ie8\" lang=\"en\">"```
使用readLines()的一个很重要的方面是:数据行存储在特征向量而不是数据框中。你可以使用class()函数来查看:

class(RDS)

[1] "character"`
将文件中的文本行存储在向量中意味着你必须写R代码来处理数据,以解释数据的含义。举个例子,如果数据行中包含Twitter社交媒体内容,那么你可能希望开发一个算法来执行推文中的文本倾向性分析。

R中有很多其他函数涉及连接。要查看完整的列表,使用如下命令:

相关文章
|
25天前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
3天前
|
机器学习/深度学习 数据采集 数据处理
谷歌提出视觉记忆方法,让大模型训练数据更灵活
谷歌研究人员提出了一种名为“视觉记忆”的方法,结合了深度神经网络的表示能力和数据库的灵活性。该方法将图像分类任务分为图像相似性和搜索两部分,支持灵活添加和删除数据、可解释的决策机制以及大规模数据处理能力。实验结果显示,该方法在多个数据集上取得了优异的性能,如在ImageNet上实现88.5%的top-1准确率。尽管有依赖预训练模型等限制,但视觉记忆为深度学习提供了新的思路。
11 2
|
27天前
|
机器学习/深度学习 数据采集 数据挖掘
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
因果推断方法为特征工程提供了一个更深层次的框架,使我们能够区分真正的因果关系和简单的统计相关性。这种方法在需要理解干预效果的领域尤为重要,如经济学、医学和市场营销。
52 1
特征工程在营销组合建模中的应用:基于因果推断的机器学习方法优化渠道效应估计
|
5月前
|
数据采集 机器学习/深度学习 算法
机器学习方法之决策树算法
决策树算法是一种常用的机器学习方法,可以应用于分类和回归任务。通过递归地将数据集划分为更小的子集,从而形成一棵树状的结构模型。每个内部节点代表一个特征的判断,每个分支代表这个特征的某个取值或范围,每个叶节点则表示预测结果。
169 1
|
30天前
|
机器学习/深度学习
如何用贝叶斯方法来解决机器学习中的分类问题?
【10月更文挑战第5天】如何用贝叶斯方法来解决机器学习中的分类问题?
|
1月前
|
机器学习/深度学习 算法 API
机器学习入门(六):分类模型评估方法
机器学习入门(六):分类模型评估方法
|
1月前
|
机器学习/深度学习 算法 搜索推荐
机器学习入门(四):距离度量方法 归一化和标准化
机器学习入门(四):距离度量方法 归一化和标准化
|
2月前
|
机器学习/深度学习 Python
验证集的划分方法:确保机器学习模型泛化能力的关键
本文详细介绍了机器学习中验证集的作用及其划分方法。验证集主要用于评估模型性能和调整超参数,不同于仅用于最终评估的测试集。文中描述了几种常见的划分方法,包括简单划分、交叉验证、时间序列数据划分及分层抽样划分,并提供了Python示例代码。此外,还强调了在划分数据集时应注意随机性、数据分布和多次实验的重要性。合理划分验证集有助于更准确地评估模型性能并进行有效调优。
|
2月前
|
机器学习/深度学习 算法 搜索推荐
机器学习方法之强化学习
强化学习是一种机器学习方法,旨在通过与环境的交互来学习如何做出决策,以最大化累积的奖励。
54 4
|
3月前
|
机器学习/深度学习 API 网络架构
"解锁机器学习超级能力!Databricks携手Mlflow,让模型训练与部署上演智能风暴,一触即发,点燃你的数据科学梦想!"
【8月更文挑战第9天】机器学习模型的训练与部署流程复杂,涵盖数据准备、模型训练、性能评估及部署等步骤。本文详述如何借助Databricks与Mlflow的强大组合来管理这一流程。首先需在Databricks环境内安装Mlflow库。接着,利用Mlflow跟踪功能记录训练过程中的参数与性能指标。最后,通过Mlflow提供的模型服务功能,采用REST API或Docker容器等方式部署模型。这一流程充分利用了Databricks的数据处理能力和Mlflow的生命周期管理优势。
138 7
下一篇
无影云桌面