机器学习实用案例解析(1) 使用R语言

统计学一直在研究如何从数据中得到可解释的东西,而机器学习则关注如何将数据变成一些实用的东西。对两者做出如下对比更有助于理解“机器学习”这个术语:机器学习研究的内容是教给计算机一些知识,再让计算机利用这些知识完成其他的任务。相比之下,统计学则更倾向于开发一些工具来帮助人类认识世界,以便人类可以更加清晰地思考,从而做出更佳的决策。

在机器学习中,学习指的是采用一些算法来分析数据的基本结构,并且辨别其中的信号和噪声,从而提取出尽可能多的(或者尽可能合理的)信息的过程。在算法发现信号或者说模式之后,其余的所有东西都将被简单判断为噪声。因此,机器学习技术也称为模式识别算法

观测数据、从中学习、自动化识别过程,这三个概念是机器学习的核心。

R最大的优势是:它是由统计学家们开发的。R最大的劣势是……它是由统计学家们开发的。——Bo Cowgill, Google公司

太过真实,哈哈哈,比如R在矩阵运算方面确实不如MATLAB方便。

R的基本数据类型是向量。在本质上,R语言里的所有的数据都是向量,尽管它们有不同的聚合和组织方式。

警告:正因其有所长,R也有短板——R并不能很好地处理大数据。尽管已有很多人在努力解决,但这仍然是一个严重的问题。然而,对于我们将要探讨的案例研究来说,这不是个问题。我们使用的数据集相对较小,要搭建的系统也都只是原型系统或概念验证模型。这个区别很重要,因为如果你要搭建Google或Facebook那样规模的企业级机器学习系统,选择R并不合适。事实上,像Google或Facebook这些公司通常把R作为“数据沙箱”,用于处理数据以及实验新的机器学习方法。如果某个实验有了成果,那么工程师就会把R中的相关功能用更适合的语言复现出来,比如C语言。

实现加载的两个函数是:library和require。两者之间存在细微差别,在本书中,主要差别是:后者会返回一个布尔值(TRUE或FALSE)来表示是否加载成功。

library(package) and require(package) both load the namespace of the package with name package and attach it on the search list. require is designed for use inside other functions; it returns FALSE and gives a warning (rather than an error as library() does by default) if the package does not exist. Both functions check and update the list of currently attached packages and do not reload a namespace which is already loaded. 

> a<-require(tm)
载入需要的程辑包:tm
载入需要的程辑包:NLP
Warning messages:
1: 程辑包‘tm’是用R版本3.5.3 来建造的 
2: 程辑包‘NLP’是用R版本3.5.2 来建造的 
> a
[1] TRUE

猜你喜欢

转载自www.cnblogs.com/dingdangsunny/p/12327916.html