全网最快入门———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()等函数对整个矩阵进行计算也可以进行矩阵的乘法:

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

相关文章
|
15天前
|
机器学习/深度学习 数据挖掘 程序员
深入理解Python协程:提升并发编程效率基于Python的机器学习入门:从理论到实践
本文旨在探讨Python协程(Coroutine)的内部机制及其在并发编程中的应用。区别于传统的线程和进程,协程提供了一种更轻量级、高效的并发编程模式。通过深入分析协程的工作原理,本文将展示如何利用协程优化程序性能,实现高效的异步任务处理。我们将通过实例探讨协程的创建、事件循环的管理、以及与异步IO的集成,为读者提供一套完整的协程应用方案。此外,本文还将对比协程与其他并发模型(如多线程和多进程)的优劣,帮助读者全面理解协程在现代编程中的重要性。 在本文中,我们将深入探讨机器学习的核心概念,并通过Python实现其基础应用。不同于传统的技术文章摘要,我们希望通过一个故事性的引入,让读者感受到
|
20天前
|
机器学习/深度学习 人工智能 算法
机器学习入门知识
机器学习入门知识
132 0
|
1月前
|
机器学习/深度学习 开发者 异构计算
机器学习入门-Colab环境
Google Colab(Colaboratory)是一个免费的云端环境,旨在帮助开发者和研究人员轻松进行机器学习和数据科学工作。它提供了许多优势,使得编写、执行和共享代码变得更加简单和高效。Colab在云端提供了预配置的环境,可以直接开始编写代码,并且提供了免费的GPU和TPU资源,这对于训练深度学习模型等计算密集型任务非常有帮助,可以加速模型训练过程。
31 0
|
3月前
|
机器学习/深度学习 人工智能 算法
【机器学习基础】机器学习入门(2)
【机器学习基础】机器学习入门(2)
25 0
|
3月前
|
机器学习/深度学习 人工智能 搜索推荐
【机器学习基础】机器学习入门(1)
【机器学习基础】机器学习入门(1)
46 0
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
机器学习入门----线性回归实验记录
机器学习入门----线性回归实验记录
47 0
|
3月前
|
机器学习/深度学习 人工智能 算法
Python与机器学习:入门和常用库介绍
机器学习是人工智能领域的一个重要分支,它允许计算机系统从数据中学习并自动改进。Python已经成为机器学习的主要编程语言之一,因为它具有丰富的库和工具,使得机器学习任务变得更加容易。本文将为你提供一个关于如何入门机器学习以及Python中常用机器学习库的概述。
|
19天前
|
机器学习/深度学习 算法 数据挖掘
Python | 机器学习之聚类算法
Python | 机器学习之聚类算法
44 0
|
22天前
|
机器学习/深度学习 算法
机器学习 - [集成学习]Bagging算法的编程实现
机器学习 - [集成学习]Bagging算法的编程实现
23 0
|
1月前
|
机器学习/深度学习 分布式计算 算法
Spark中的机器学习库MLlib是什么?请解释其作用和常用算法。
Spark中的机器学习库MLlib是什么?请解释其作用和常用算法。
16 0

相关产品