全网最快入门———R语言机器学习06

简介: R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

这篇是对数据框进行操作分析

数据转换(三)

数据框的翻转

使用t()函数可以实现数据框的转置,行转成列。列转成行

sractm <- t(mtcars)

翻转单独一行

可以使用rev()函数

rev(row.names(women))

women[rev(row.names(women)),]

先试用rev()函数翻转利用row.names()函数取得的行名,然后再将翻转后的行名作为索引,取出该行就行

如何修改数据框的值

比如将women数据框中的height列数据的值的单位由英寸转化成厘米

women$height*2.54

data.frame(women$height*2.54,women$weight)

先取出这一列,让数值全部乘以换算值,之后使用data.frame()函数重新组合成一个数据框

但这种方法并不高效

<1>可以使用transform()函数

transform(women,height=height*2.54)

<2>如果不想更改原来的数据,也可以直接用transform增加一列

transform(women,cm=height*2.54)

如何对数据框进行排序

Sort()对向量进行排序,返回的是排序后的结果向量,rev(sort())则是按照相反的顺序进行排序

Order()也可以对向量进行排序,但返回的是向量所在的位置,也即是向量中 元素的索引

如果想按照某一行的元素的大小顺序进行排序,利用order的话可以这样写:

order(mtcars$cyl)

mtcars[order(mtcars$cyl),]

如果想取相反的顺序,直接在数据前添加一个负号即可

mtcars[order(-mtcars$cyl),]

还可以进行多重条件下的排序

mtcars[order(mtcars$mpg,mtcars$disp),]

数据转换(四)

如何对数据框进行数学计算?

有很多种方法,以wordphones数据为例:

rs <- rowSums(WorldPhones)

cm <- colMeans(WorldPhones)

rowsums()和colmeans()函数可以计算行和还有列的平均数

使用cbind()函数可以直接在数据后面添加计算后的一列数据

total <- cbind(WorldPhones,total=rs)

使用rbind()函数可以直接在数据后面添加计算后的一行数据

total2 <- rbind(WorldPhones,meanvalue=cm)

#在R中提供了apply系列函数

#首先是apply()函数的用法,对数据框的每一行进行求和

apply(WorldPhones,MARGIN =  1,FUN =sum)

#其中,wordphones代表要进行求和的数据集

margin是数据的维数,margin=1代表按行,margin=2代表按列,FUN参数代表使用的函数

对数据框的每一列进行求平均值

apply(WorldPhones,MARGIN =  2,FUN =mean)

对数据框的每一列进行求log值(对数值)

apply(WorldPhones,MARGIN =  2,FUN =log)

lapply()函数用法与apply()函数类似,不过返回值是列表,同理,sapply()也是返回值不同,sapply()函数返回的是向量或者矩阵。

以state.center数据为例,该数据是列表数据:

统计一下列表中元素的个数:

lapply(state.center,FUN = length)

因为列表中不存在行和列,所以不需要有margin参数,返回的结果值是一个列表

tapply()函数用于处理因子数据,根据因子来分组,然后根据分组来处理

以state.name和state.division为例,state.division作为因子数据进行分组:

计算每个类型区中州的数量

tapply(state.name,state.division,FUN = length)

接下来是数据的中心化与标准化处理(为了消除数据量纲对数据的影响),以state.x77数据为例:

数据的中心化,是指数据集中的各项数据减去数据集的均值

数据的标准化,是指在中心化之后再除以数据集的标准差,即数据集汇总的各项数据减去数据集的均值再除以数据集的标准差

在R中可以直接使用scale()函数进行中心化和标准化的处理,当scale()函数中的两个参数都为True时,就是做中心化(center=T)和标准化处理(scale=T)

scale(state.x77,center = T,scale = T)

经过中心化和标准化处理过后的数据,在绘制heatmap时会比较精确,对比性比较强。

相关文章
|
2月前
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
133 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
3月前
|
机器学习/深度学习 数据采集
机器学习入门——使用Scikit-Learn构建分类器
机器学习入门——使用Scikit-Learn构建分类器
|
3月前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
107 0
|
3月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
56 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
65 2
|
3月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
47 1
|
4月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
95 2
|
4月前
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
183 3
|
9月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
9月前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
164 2

热门文章

最新文章