《R语言数据分析与挖掘实战》——2.3 R数据分析包

简介:

本节书摘来自华章计算机《R语言数据分析与挖掘实战》一书中的第2章,第2.3节,作者 张良均,云伟标,王路,刘晓勇,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 R数据分析包

R包主要包含的类别有空间数据分析类、机器学习与统计学习类、多元统计类、药物动力学数据分析类、计量经济类、金融分析类、并行计算类、数据库访问类。各类别都有相应的R包来实现其功能。例如,机器学习与统计学习类别就包含实现分类、聚类、关联规则、时间序列分析等功能的R包。

R在数据挖掘领域也提供了足够的支持,如分类、聚类、关联规则挖掘等,通过加载不同的R包就能够实现相应的数据挖掘功能,如表2-1所示。

screenshot

分类是数据挖掘领域研究的主要问题之一,分类器作为解决问题的工具一直是研究的热点。常用的分类器有神经网络、随机森林、支持向量机、决策树等,这些分类器都有各自的性能特点。

nnet包执行单隐层前馈神经网络,nnet()函数涉及的主要参数有隐层节点数(size)、节点权重(weights)、最大迭代次数(maxit)等,为了达到最好的分类效果,这些都是需要用户根据经验或者不断地尝试来确定的;随机森林分类器利用基于Breiman随机森林理论的R语言软件包randomForest中的randomForest()函数来实现,需要设置三个主要的参数:森林中决策树的数量(ntree)、内部节点随机选择属性的个数(mtry)及终节点的最小样本数(nodesize)。

支持向量机分类器采用R语言软件包e1071实现,该软件包是以台湾大学林智仁教授的LIBSVM源代码为基础开发的。svm()函数提供了R与LIBSVM的接口,涉及的参数主要有类型(type,“C”实现支持向量机分类,“eps-regression”实现支持向量机回归)、核函数(kernel)。SVM包含了4种主要的核函数:线性核函数(Linear)、多项式核函数(Polynomial)、径向基核函数(RBF)以及Sigmoid核函数。一般情况下会选择径向基核函数,这主要源于:其一,线性核函数只能处理线性关系,且被证明是径向基核函数的一个特例;其二,Sigmoid核函数在某些参数上近似径向基核函数的功能,径向基核函数取一定参数也可得到Sigmoid核函数的性能;其三,多项式核函数参数较多,不易于参数优选。而径向基核函数支持向量机包含两个重要的参数:惩罚参数Cost和核参数Gamma,tune()函数可以对两者进行网格寻优(Grid-search)确定最优值。

常用的聚类方法有系统聚类与K-Means聚类。系统聚类可以使用hclust()函数实现,涉及的参数有距离矩阵(d)和系统聚类方法(method),其中距离矩阵可以使用dist()函数求得,常用的系统聚类方法有最短距离法(single)、最长距离法(complete)、类平均法(average)、中间距离法(median)、重心法(centroid)以及Ward法(ward)。K-Means法是一种快速聚类法,可以使用kmeans()函数实现,涉及的主要参数为聚类数(centers)。

K-Means法和系统聚类法的不同之处在于:系统聚类对不同的类数产生一系列的聚类结果,而K均值法只能产生指定类数的聚类结果。具体类数的确定,离不开实践经验的积累。有时也可借助系统聚类法,以一部分样本为对象进行聚类,其结果作为K均值法确定类数的参考。

作为数据挖掘中一个独立的课题,关联规则用于从大量数据中挖掘出有价值的数据项之间的相关关系,常用的有arules包中的Apriori算法。使用Apriori算法生成规则前,要把数据转换为transcation格式,通过as()转换;其中涉及的参数列表(parameter)用于自定义最小支持度与置信度。

时间序列分析是根据系统观测得到的时间序列数据,通过曲线拟合和参数估计来建立数学模型的理论和方法。进行时间序列分析时,可以使用ts()函数将数据转化成时间序列格式;模型拟合可以通过arima()函数实现,涉及的主要参数有order(自回归项数、滑动平均项数及使时间序列成为平稳序列的差分阶数)、seasonal(序列表现出季节性趋势时需要,除了上述order内容,还有季节周期period)、method(参数估计方法,“CSS”为条件最小二乘法,“ML”为极大似然法)等。R里面有个函数auto.arima()可以自动生成一个最优拟合模型。

相关文章
|
3月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
131 5
|
5月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
88 1
|
5月前
|
数据挖掘 PyTorch TensorFlow
|
4月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
289 0
|
4月前
|
SQL 数据采集 数据可视化
深入 Python 数据分析:高级技术与实战应用
本文系统地介绍了Python在高级数据分析中的应用,涵盖数据读取、预处理、探索及可视化等关键环节,并详细展示了聚类分析、PCA、时间序列分析等高级技术。通过实际案例,帮助读者掌握解决复杂问题的方法,提升数据分析技能。使用pandas、matplotlib、seaborn及sklearn等库,提供了丰富的代码示例,便于实践操作。
193 64
|
4月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
79 3
|
4月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
92 2
|
4月前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
99 2
|
3月前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
4月前
|
数据采集 数据挖掘 API
Python数据分析加速器:深度挖掘Pandas与NumPy的高级功能
在Python数据分析的世界里,Pandas和NumPy无疑是两颗璀璨的明星,它们为数据科学家和工程师提供了强大而灵活的工具集,用于处理、分析和探索数据。今天,我们将一起深入探索这两个库的高级功能,看看它们如何成为数据分析的加速器。
66 1