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

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

R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

数据结构

数值型:数值可以用于直接结算,加减乘除

字符串型:可以进行连接、转换、提取等

逻辑型:或真或假

日期型等

向量

数值型:数值可以用于直接结算,加减乘除

字符串型:可以进行连接、转换、提取等

逻辑型:或真或假

日期型等

向量索引

1、正(负)整数索引

可以使用length()访问向量的个数,访问向量x的第一个值可以使用x[1];还可以使用负整数进行索引,表示访问除了这一行的其他行数据,比如不访问一个三行数据的第二行,可以使用x[-2]

2、逻辑向量索引

以上代码是只输出对应逻辑值为真的值。

还可以进行逻辑判断,例如:

对于字符串向量,我们可以使用一些特殊的操作符进行逻辑判断,例如“%in%”

也可以用于索引:

3、名称索引

我们可以使用names()函数为向量的每一个元素添加名称:

然后即可以通过每一个元素的names来访问它的值:

添加向量:

可以直接通过索引来添加向量;

也可以一次性添加多个元素:

在向量中插入一个新元素:

可以使用append()函数,以下代码表示,在x这个向量的5这个元素后面插入一个99的元素:

如果after=0则代表在向量的头部插入数据:

删除向量:

如果想删除整个向量,可以直接使用rm()函数,如果想删除某个函数,可以直接采用负整数索引的方式:

其实就是重新生成一个新的向量,替换掉原来的向量

修改向量值:直接将需要修改的值索引出来,然后给它赋一个新的值就可以了。

但是注意这里是数值型的向量,我们不能赋值给字符串,会把整个向量变成字符型向量

向量运算

向量是R中最基本的数据结构。

向量运算是对应位置的元素进行运算,其中长的向量的个数必须是短向量个数的整数倍。

Ceiling()不小于x的最小整数,floor()函数不大于x的最大整数:

Trunc()函数返回整数部分:

Round()函数用于进行四舍五入,digits用来表示返回的位数

Signif()保留小数部分有效数字

Which()函数可以返回索引值,也就是元素所在的位置

矩阵与数组

矩阵是一个按照长方阵列排列的复数或实数集合,向量是一维的,矩阵是二维的,需要有行和列。在R软件中,矩阵是有维数的向量,这里的矩阵元素可以是数值型,字符性改革或者是逻辑型,但是每个元素必须都拥有相同的模式,这个和向量一致。

我们可以通过matrix()函数来创建矩阵

行数和列数的分配要满足分配的条件,如果只给出一个行或者是一个列,R会自动进行分配,可以通过byrow来指定按行还是按列进行排列:

byrow = T 表明按照行匹配,反之

Dinames参数可以通过一个列表,指定矩阵行和列的名字:

第一个参数是行名,第二个参数是列名

Dim()函数可以显示向量的维数,可以通过dim()函数来对向量添加维数,从而构建矩阵

默认是按照列匹配

下面介绍一下数组这个数据结构。R中的数组其实就是多维的矩阵,我们重新定义一个向量x:

dim(x)<-c(2,2,5) 意思是3维  2x2x5的数组

只要向dim()函数传入三个参数,就可以构建三位数组,数组还可以使用array()函数来创建:

还可以创建字符型和逻辑型的数组,那么创建了矩阵,要如何访问矩阵的数据呢,下面是矩阵的索引:

首先可以通过矩阵下标进行访问,m[1,2]表示访问第一行第二列的元素

也可以一次访问多个元素,

比如访问第一行的第二、三、四列元素,访问第二、三行的第一列元素。

输出矩阵的一个子集:

如果下标只写一个数字,就是单独访问行或者列:

也可以同样使用负索引进行访问,还可以输入对应的行列名称进行访问:

矩阵中的四则运算需要行和列一致,与向量一致,可以使用colsums()、rowsums()、rowmeans()等函数对整个矩阵进行计算也可以进行矩阵的乘法:

分别是矩阵的内积(对应元素相乘)以及矩阵的外积

相关文章
|
2月前
|
机器学习/深度学习 数据采集 算法
深入了解机器学习:从入门到应用
【10月更文挑战第6天】深入了解机器学习:从入门到应用
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
36 2
|
29天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
32 1
|
2月前
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
56 3
|
2月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
44 2
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
23 1
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
57 2
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第6天】在人工智能领域,机器学习已成为核心技术。本文指导初学者使用Python与Scikit-learn入门机器学习,涵盖基本概念、环境搭建、数据处理、模型训练及评估等环节。Python因简洁性及其生态系统成为首选语言,而Scikit-learn则提供了丰富工具,简化数据挖掘与分析流程。通过实践示例,帮助读者快速掌握基础知识,为进一步深入研究奠定坚实基础。
29 4
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
485 1
|
2月前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
下一篇
无影云桌面