R语言 PPT 预习+复习

news2024/11/26 18:49:48

什么狗吧发明的结业考,站出来和我对线

第一章 绪论

吊码没有,就算考R语言特点我也不背,问就是叫么这没用。

第二章 R语言入门

x<-1:20   赋值语句 x 120
在x上添加均值为0、标准差为2的正态分布噪声
y <- x + rnorm (20, 0, 2) 
这段代码就是生成随机数
20:生成20个数
0: 均值
2: 标准差
                   记住就完了
fit <- lm (y ~ x)  y~x的线性回归
summary (fit)     概要显示fit 
age<-c(1,3,5,2,11,9,3,9,12,3)  还是赋值,官方叫产生向量,我的评价是别忘写c
mean(weight)       求weight的平均值
sd(weight)         求weight的标准差
cor(age,weight)    求age和weight之间的相关系数
plot(age,weight)   绘制以age为横坐标和以weight为纵坐标的散点图
getwd()            显示当前的工作目录
setwd("mydirectory")修改当前的工作目录为mydirectory
ls()               列出当前工作空间中的对象
rm(objectlist)     移除(删除)一个或多个对象
q()                退出R
source("test")     可在当前会话中执行一个脚本
sink("filename")   将输出重定向到文件filename中。默认情况下,如果文件已经存在,则它的内容将被覆盖
install.packages("gclus")安装R包
library(gclus)     加载到内存
.libpath()         显示包所在位置   

习题

输入命令help.start()在浏览器中显示帮助文档,并学会使用帮助文档。

函数source("test")可在当前会话中执行一个脚本。

函数sink("myfile") 将输出重定向到文件myfile中。

R是开源的

安装datasets包:install.packages("datasets")

加载datasets包到内存:library(datasets)

显示datasets包所在位置:system.file(package = "datasets") / find.package("datasets")

显示已加载的包:search()

列出当前已加载包中所含的所有可用示例数据集:data()

显示当前工作目录,并修改当前的工作目录为myworkspace:getwd() + setwd("myworkspace")

查看函数foo的帮助,并运行函数foo的使用示例:?foo

列出3种有关用于保存图形输出的函数:
1
png("plot.png")  # 保存为plot.png文件
plot(x, y)       # 绘制图形
dev.off()        # 关闭设备
2
pdf("plot.pdf")  # 保存为plot.pdf文件
plot(x, y)      # 绘制图形
dev.off()       # 关闭设备
3
library(ggplot2)
p <- ggplot(data, aes(x, y)) + geom_point()  # 创建ggplot2绘图对象    aes(x, y):表示定义了 x 和 y 轴的变量名    geom_point():是一个几何对象函数,用于在散点图中添加点。
ggsave("plot.png", plot = p)                 # 保存为plot.png文件,p要替换为实际的绘图对象

简要介绍R语言的优点:
免费且开源、强大的数据分析和统计功能、大型生态系统、数据可视化能力、复现性和文档化、平台跨度、教育和学习资源丰富

加载shiny包:library(shiny)

列出包shiny中可用的函数和数据集:
# 列出shiny包中的函数
functions <- ls("package:shiny", pattern = "^[A-Za-z].*")
# 列出shiny包中的数据集
data <- ls("package:shiny", pattern = "^data")

运行01_hello / 运行runExample()查看shiny自带的demo:runExample("01_hello")

退出R:q()

第三章

在R语言中,行不叫行,列不叫列,行叫观测,列叫变量/因子

R中定义了一些常量类型:
NA:   表示不可用
Inf:   无穷
-Inf:  负无穷
TRUE: 真
FALSE:假
seq() 产生一个等差向量序列
格式:seq(from = n, to =m, by = k,len w)
例子:
> seq(2, 10 )     #默认公差为1
[1]  2  3  4  5  6  7  8  9 10
> seq(2, 10 ,2)   #如果不指定长度,form,to,by关键词可以省略
[1]  2  4  6  8 10
> seq(from =2, by = 2,len=10)  #关键词to和len不能同时使用
[1]  2  4  6  8 10 12 14 16 18 20
rep() 重复一个对象
格式1:rep(x,times):
x是要重复的对象(例如向量c(1,2,3),times为对象中每个元素重复的次数(如times=c(9,7,3)就是将x向量的1重复9次,2重复7次,3重复3次)。
格式2:rep(x, each=n)
重复x元素n次;rep(c(1,2,3),2)得到1 2 3 1 2 3;rep(c(1,2,3),each=2)得到1 1 2 2 3 3
rnorm()随机产生正态分布向量
格式:rnorm(个数,均值,方差)
例子:
> x<-rnorm(100)  #默认均值为0,方差为1
> x<-rnorm(5,2,3)  
说明1:同一向量中无法混杂不同类型的数据。
说明2:f <- 3表示只有一个元素的向量。
> x<-seq(2, 10 )     
> x
[1]  2  3  4  5  6  7  8  9 10
> x[3]    #下标为正数,取出下标对应的元素
[1] 4
> x[-3]   #下标为负数,排除下标对应的元素
[1]  2  3  5  6  7  8  9 10
> x[c(3,5,8)]   #如果一次取出多个元素,需要用向量做下标
[1] 4 6 9
> x[-c(3,5,8)]  
#如果一次排除多个元素,需要用向量做下标,注意负号
[1]  2  3  5  7  8 10
> x[which(x>6)]  #取出满足条件的元素,要使用which()函数
[1]  7  8  9 10
> x[which.max(x)] #取出最大元素,最小元素小标为which.min
[1] 10
> x[3:5]     #取出连续的元素
[1] 4  5  6
向量运算
R语言最强大的方面之一就是函数可以直接对向量的每个元素进行操作。
【例】产生两个不等长整数向量x和y,计算√𝑥 ,x+y, xy, xy,及x的长度。
【解】
> y<-2:5                    #产生向量x
> x<-seq(2, 10 )        #产生向量y
> sqrt(x)                    #向量开方
> x+y     #向量加,如果两个向量的长度不同,R将重复较短的向量
#元素,直到得到的向量长度与较长的向量的长度相同为止。
[1]  4  6  8 10  8 10 12 14 12
> crossprod(x,x)    #內积
> tcrossprod(x,x)   #外积
>length(x)              #向量长度
矩阵引用
方法1:使用下标和方括号来选择矩阵中的行、列或元素。
y[i,]:返回矩阵y中的第i行;
y[,j]:返回第j列;
y[i,j]:返回第i行第j列元素。
y[i,-j]:返回第i行,但排除第j列元素。
y[-i,j]:返回第j行,但排除第i行元素。
方法2:使用向量和方括号来选择矩阵中的行、列或元素。
y[c(1,3),c(2:4)]:返回第1,3行,第2,4列元素。
y[c(1,3),-c(2:4)]:返回第1,3行,但排除第2,4列元素。
矩阵运算
转置:t(y);
横向合并矩阵:cbind();
纵向合并矩阵:rbind();
将矩阵转化为向量:as.vector();
返回矩阵维度:dim()、nrow() 和ncol();
对矩阵各列求和:colSums();    
求矩阵各列的均值:colMeans();
对矩阵各行求和:rowSums();   
求矩阵各列的均值:rowMeans();
计算行列式:det()
数组(array)与矩阵类似,但是维度大于2。数组可通过array函数创建,形式如下:
格式:myarray<-array(data,dimentins)
data包含了数组中的数据,
dimensions给出了各个维度下标的最大值。
例子:
z<-array(1:24,c(2,3,4)) #4个两行三列以1到24为数据的矩阵
数组是矩阵的一个自然推广,在编写新的统计方法时,数组可能很有用。像矩阵一样,数组中的数据也只能拥有一种类型。
数组引用与矩阵相同,如,元素z[1,2,3]15# 第三个矩阵的一行二列元素
创建数据框
x<-data.frame(col1, col2, col3,……)
其中的列向量col1, col2, col3,… 可为任何类型(如字符型、数值型或逻辑型)。
创建数据框
x<-data.frame(col1, col2, col3,……)
其中的列向量col1, col2, col3,… 可为任何类型(如字符型、数值型或逻辑型)。
例:
mydataset <- data.frame(
  Site = c("A", "B", "A", "A", "B"),
  Season = c("winter", "summer", "summer", "spring", "fall"),
  PH = c(7.3, 6.4, 8.6, 7.2, 8.9)
)
# Site、Season、PH为列名
数据框引用
数据框的引用与矩阵一样,如,x[1:3,],x[2,c(2,4)]。除此之外,增加通过变量引用数据框元素的方法,如把表2-1的数据狂定义为x,则x$age等价于x[,3]
修改行/名称
可以通过colnames(<数据框>)来读取并编辑列名称。
>colnames(mydataset)[1]<-"a"
>colnames(mydataset)[2]<-"type"
>colnames(mydataset)
可以通过row.names(<数据框>)来读取并编辑行名称
> row.names(mydataset)<-c("r1","r2","r3","r4","r5")
> row.names(mydataset)
[1] "r1" "r2" "r3" "r4" "r5"
> mydataset
   a   type  PH
r1 A winter 7.3
r2 B summer 6.4
r3 A summer 8.6
r4 A spring 7.2
r5 B   fall 8.9
创建列表:
mylist<-list(object1, object1,……)
其中的objecti可以是目前为止讲到的任何结构类型。
【例】构造数据框,并重新命名。
> g<-"my first list"
> h<-c(26,26,18,29)
> j<-matrix(1:10,nrow=5)
> k<-data.frame(c(1,2),c(3,4))
> mylist<-list(title=g,ages=h,j,k)  #可以为列表中的对象命名
访问列表中的元素。
mylist[[2]]和mylist[["ages"]]均指那个含有四个元素的向量。由于两个原因,列表成为了R中的重要数据结构。首先,列表允许以一种简单的方式组织和重新调用不相干的信息。其次,许多R函数的运行结果都是以列表的形式返回的。需要取出其中哪些成分由分析人员决定。
函数factor()以一个整数向量的形式存储类别值,整数的取值范围是[2... k ](其中k 是名义型变量中唯一值的个数),同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。
举例来说,假设有向量:
diabetes<-c(“type1”,“type2”, “type1”, “type1”)
语句diabetes <- factor(diabetes)将此向量存储为(1, 2, 1, 1),并在内部将其关联为1=Type1和2=Type2(具体赋值根据字母顺序而定)
要表示有序型变量,需要为函数factor()指定参数ordered=TRUE。给定向量:
status<-c(“Poor”, “Improved”, “Excellent”, “Poor”)
语句status <- factor(status, ordered=TRUE)会将向量编码为(3, 2, 1, 3),并在内部将这些值关联为1=Excellent、2=Improved以及3=Poor。
通过指定levels选项来覆盖默认排序。例如:
status<-factor(status, levels=c(“Poor”,“Improved”, “Excellent”))
各水平的赋值将为1=Poor、2=Improved、3=Excellent。请保证指定的水平与数据中的真实值相匹配,因为任何在数据中出现而未在参数中列举的数据都将被设为缺失值。
求字符串长度:   nchar(data)
字符串合并:     paste(data,data1,sep=",")
字符串分割:     strsplit(string,sep)       # sep:分隔符
读取和替换字符串:substr(string,start,stop)  # start / stop 都是下标,从1开始
字符串替换       chartr(old,new,string)     # old表示需要被替换的字符,new表示替换后的字符,而string则是要进行字符替换的源字符串。
字符串拼接函数
str_c:    字符串拼接。
str_join: 字符串拼接,同str_c。
str_trim: 去掉字符串的空格和TAB(\t)
str_dup:  复制字符串
str_sub:  截取字符串
str_sub<- 截取字符串,并赋值,同str_sub
字符串计算函数
str_count:  字符串计数
str_length: 字符串长度
str_sort:   字符串值排序
str_order:  字符串索引排序,规则同str_sort
字符串匹配函数
str_split:       字符串分割
str_split_fixed: 字符串分割,同str_split
str_match:       从字符串中提取匹配组。
str_match_all:   从字符串中提取匹配组,同str_match
str_replace:     字符串替换
str_replace_all: 字符串替换,同str_replace
str_replace_na:NA替换为NA字符串
str_locate:      找到匹配的字符串的位置。
str_locate_all:  找到匹配的字符串的位置,同str_locate
str_extract:     从字符串中提取匹配字符
str_extract_all: 从字符串中提取匹配字符,同str_extract
字符串变换函数
str_to_upper: 字符串转成大写
str_to_lower: 字符串转成小写,规则同str_to_upper
str_to_title: 字符串转成首字母大写,规则同str_to_upper

在这里插入图片描述
在这里插入图片描述

查找一下看有没有do组合的单词。
>ext<-c("Don't","aim","for","success","if","you","want","it","just","do","what","you","love","and","believe","in","and","it","will","come","naturally") 
>#查找含有DO组合的单词 
> grep("[Dd]o",text)#不区分大小写 
[1]  1 10 
> grep("[D]o",text)#D要大写 
[1] 1 
> grep("[d]o",text)#D小写 
[1] 10

在这里插入图片描述
在这里插入图片描述

习题

status<-c(“Poor”, “Improved”, “Excellent”, “Poor”)
Status是有序型变量。

R中的数据结构包括向量、矩阵、数组、数据框和列表

R中最常处理的数据结构是数据框(data frame)

a=matrix(1:12,nrow=4,ncol=3);a[2,2];结果为:6

如果A是5行x6列的矩阵,t(A)是6行x5列的矩阵

a=det(matrix(1:12,nrow=4,ncol=3,byrow=TRUE)) #行优先
b=det(matrix(1:12,nrow=3,ncol=4,byrow=FALSE)) #列优先两者都显示出错信息-行列式的计算要求矩阵必须是方阵

要将矩阵转换为向量,可以使用函数as.vector()

对于字符型向量,默认情况下,因子的水平(levels)是根据字符的出现顺序创建的。

列表(list)是R语言的数据类型中最为复杂的一种。 一般来说,列表就是一些对象的有序集合。

factor()函数为类别型变量创建值标签

要生成100个满足标准正态分布 N(0,1) 的随机数,可以使用 R 中的函数rnorm()
random_numbers <- rnorm(100, mean = 0, sd = 1)

要横向合并矩阵c(2,1),c(4,3):cbind()
cbind(c(2,1), c(4,3))

请使用seq() 产生一个首相为2,公差为2,长度为10的等差向量序列:seq(from=2, by=2, length.out=10)

建立一个R文件,在文件中输入变量x=(1,2,3)T,y=(4,5,6)T,并作以下运算。
①计算 z=2x+y+e,其中 e=(1,1,1)T;
②计算x与y的內积;
③计算x与y的外积;
# 输入变量 x 和 y
x <- t(c(1, 2, 3))
y <- t(c(4, 5, 6))
# 定义向量 e
e <- t(c(1, 1, 1))
# 计算 z = 2x + y + e
z <- 2 * x + y + e
# 计算 x 与 y 的内积
inner_product <- sum(x * y)
# 计算 x 与 y 的外积
outer_product <- crossprod(x, y)

第四章

在这里插入图片描述

导入Excel数据
>library(xlsx)
>workbook <- "c:/myworkbook.xlsx"
>mydataframe <- read.xlsx(workbook, 1)
导出文本文件
【例】把给定数据框保存为文本文件,以空格分隔数据列,不含行号,不含列名,字符串不带引号。
>age <- c (22,23)
>name <- c ("ken", "john")
>f <- data.frame (age, name)
>write.table (f,file ="f.csv", row.names = FALSE, col.names =FALSE, quote =FALSE) 
保存图片
保存为PNG格式:
>png(file="myplot.png", bg="transparent")
保存为JPEG格式:
>jpeg(file="myplot.jpeg")
保存为PDF格式:
>pdf(file="myplot.pdf")

习题

用数据框的形式读入数据:read.csv("data.csv")

读入文本文件abc.txt到数据框,要求包含栏头,使用的R函数是:read.table(“abc.txt”,header=TRUE)

通过函数write.csv()保存表4.4为一个.csv文件,然后通过write.csv()将表格中的数据存到数据框data1中,再将data1中的数据加载到数据框data2中,同时输出data2:
# 保存表4.4为.csv文件
write.csv(table4.4, file = "table4.4.csv", row.names = FALSE)
# 将表格数据存入数据框data1
data1 <- read.csv("table4.4.csv")
# 将data1中的数据加载到数据框data2
data2 <- data1
# 输出data2
print(data2)

write.table()函数参数“header”的功能为:反映这个文件的第一行是否包含变量名

使用于小规模数据集:mydata <- read.table()

第五章

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 计算每行的元素总和
row_sums <- apply(data, 1, sum)   # 第二个参数是1,这表示按照行的方向进行操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ggplot2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

习题

向日葵散点图可以用来克服散点图中数据点重叠问题。

在“箱线图”中,箱体的底部表示下四分位数

散点图线图有助于描绘两个变量之间的关系。

plot()函数可以按照向量绘制图形。

第六章

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

习题

判断是否有缺失值的函数是 is.na()

对于缺失数据,通常有三种常见的处理方法:
删除缺失数据插补缺失数据将缺失数据作为一个单独的类别或指标

检测数据的异常值是使用函数:outlier() / outlier.test() / boxplot()

如何判定离群:
根据统计指标:使用均值、标准差、分位数等统计指标,将超过一定阈值的观测值定义为离群值。
基于箱线图:通过观察箱线图中的异常观测点,超过上下四分位距的1.5倍或3倍的观测值被认为是离群值。
基于专业知识或领域经验:根据特定领域的专业知识或经验,对数据中的异常观测值进行判定。

在R语言中,通常使用 hist() 函数来绘制直方图。

当对数据进行批量操作时,可以通过对函数返回值进行约束,根据是否提示错误判断是否存在数据不一致问题,可以通过 stopifnot() 函数。

第七章

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

习题

矩阵和多维数组的向量化有直接的类型转换函数: as.vector,向量化后的结果顺序是:列优先

在数据分析体系中,ETL功能不包括:进行数据挖掘
包括:对错误的源数据进行清洗对数据格式进行必须的转换读取源数据

数据集1, 2, 3, 6, 3经过中间化的结果是:-2,-1,0,3,0

数据集1, 2, 3, 6, 3经过数据的标准化后的结果是:
数据的标准化是一种常见的数据预处理技术,它使得数据的均值为0,标准差为1。要计算数据集的标准化结果,可以按照以下步骤进行操作:
1 计算数据集的均值(mean)。
2 计算数据集的标准差(standard deviation)。
3 对每个数据点,将其减去均值,然后除以标准差。
对于给定的数据集 1, 2, 3, 6, 3,我们可以按照上述步骤进行标准化计算。请注意,这里假设使用样本标准差进行计算。
均值:(1 + 2 + 3 + 6 + 3) / 5 = 3
标准差:sqrt(((1-3)^2 + (2-3)^2 + (3-3)^2 + (6-3)^2 + (3-3)^2) / 4)1.82574
标准化结果:(1-3)/1.82574, (2-3)/1.82574, (3-3)/1.82574, (6-3)/1.82574, (3-3)/1.82574
计算结果为:-1.09545, -0.54772, 0, 1.64316, 0
因此,数据集 1, 2, 3, 6, 3 经过标准化后的结果是 -1.09545, -0.54772, 0, 1.64316, 0

R函数的参数传递方式是按值传递(pass-by-value),变量不可能原地址修改后再放回原地址。

数据聚集函数包括:sum()avg()max()min()

aggregate函数的作用,根据数据对象不同它的用法有:对数据框、数组或矩阵进行聚合

在这里插入图片描述

第八章

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
source(“SumSquareFunc.R”) 是 R 中的一个函数调用,用于加载并执行指定文件中的 R 代码。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

习题

R 语言的选择控制结构包括 ifelseswitch

R语言中适用于一个条件有多个分支的情况的选择结构是:switch

除了常见的 while 循环和 for 循环,R 语言还提供了 repeat 循环。

R 语言中需要通过 break 来结束循环的循环结构是:repeat

R 语言中测试条件在循环体的末尾的循环结构是:for

R 语言中的函数可以包含任意数量的参数,并且这些参数可以具有默认值。

第九章

在这里插入图片描述
在 R 语言中,table() 函数用于创建频数表,它接受一个向量作为输入,并返回一个由唯一值和相应频数组成的表格。

head(faithful, 3) 预览faithful数据集的前三行。

使用range()函数得到数据上下界

seq() 函数在 R 语言中用于创建等差数列(sequence),三个参数:from(起始值)、to(结束值)和 by(步长)。

cut() 函数在 R 语言中用于将连续变量分割为离散的组(bins)。
三个参数:
x:要分割的连续变量。
breaks:指定分割点的方法,可以是一个数值向量或一个整数表示分割成的组数。
right:一个逻辑值,指定是否包含右边界,默认为 TRUE,表示右闭区间。

str() 函数用于查看对象的结构信息,包括对象的类型、尺寸和成员等

cumsum() 函数用于计算给定向量的累计和。

stem() 函数在 R 语言中用于创建茎叶图,它接受一个向量作为输入,并将该向量的值分解为茎部和叶部。

在这里插入图片描述

par 是 R 语言中用于设置图形参数的函数。
mfrow 是 R 语言中用于设置多个图形的布局的参数。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第十章

在这里插入图片描述

习题

ROC曲线又称作:敏感曲线

模型评估常用到得方法有:混淆矩阵风险矩阵成本曲线Lift曲线ROC曲线精度-召回率曲线等方法。

p-value常用到的标签:显著性水平原假设备择假设单侧检验等。

模型评估的度量参数有:度量,准确率、识别率,错误率、误分类率,敏感度、真正例率、、特效型、真负例率,精度(precision),F分数,Fb、其中b是非负实数
// 问号处实在是找不到其他的参数

混淆矩阵评价有6个指标分别为:准确度、灵敏度、特异性、错误率、误判率、召回率

分别用公式表达准确度,灵敏度,特异性,错误率,误判率,并解释其含义:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

很多PPT我去掉了,因为我觉得不会考所以重点复习有印象和课后题中出现的知识点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1173213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SOEM源码解析——eeprom_read(读EEPROM)

0 工具准备 1.SOEM-master-1.4.0源码1 eeprom_read函数总览 eeprom_read函数在SOEM源码的路径如下&#xff1a;test->linux->eepromtool->eepromtool.c&#xff0c;功能是读取指定字地址和长度的EEPROM数据&#xff1a; /*** brief 读取EEPROM数据* * param slave …

Vue3:一页多题答案校正及radio和checkbox混合使用

一页多题&#xff0c;类型包括单选&#xff0c;判断多选&#xff0c;涉及radio和checkbox同时使用&#xff0c;答案校正数据匹配&#xff0c;正确答案格式化&#xff0c;答案提交数据格式化&#xff0c;数据提交。 效果&#xff1a; 数据获取&#xff1a; 数据提交&#xff1a…

k8s中实现mysql主备

文章目录 一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.1 安装nfs1.2.2 部署nfs-provisioner 1.3 安装mysql1.4 备库上查看是否同步 一、k8s中实现mysql主备 1.1 环境信息 机器操作系统ipmysql版本k8s版本storageClassmaster1CentOS7.8192.168.0.20mysql5.…

Xbox漫游指南

以Xbox series s为例 开机启动 用手柄连接&#xff0c;注意两颗电池要方向相反插入&#xff0c;虽然里面2个插槽长一样&#xff1b; Xbox APP极其难用&#xff0c;放弃&#xff0c;直接用手柄连接 转区 只需要一个空U盘&#xff0c;大小不限制&#xff0c;格式化为NTPS格式…

【51单片机】DS1302时钟(学习笔记)

一、DS1302时钟 1、DS1302介绍 DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时&#xff0c;且具有闰年补偿等多种功能 RTC(Real Time Clock)&#xff1a;实时时钟&#xff0c;是一种集成电路&#xf…

基础课22——云服务(SaaS、Pass、laas、AIaas)

1.云服务概念和类型 云服务是一种基于互联网的计算模式&#xff0c;通过云计算技术将计算、存储、网络等资源以服务的形式提供给用户&#xff0c;用户可以通过网络按需使用这些资源&#xff0c;无需购买、安装和维护硬件设备。云服务具有灵活扩展、按需使用、随时随地访问等优…

Spring-IOC容器深度剖析详解

&#x1f388;个人公众号:&#x1f388; :✨✨✨ 可为编程✨ &#x1f35f;&#x1f35f; &#x1f511;个人信条:&#x1f511; 知足知不足 有为有不为 为与不为皆为可为&#x1f335; &#x1f349;本篇简介:&#x1f349; 本篇由表及里分析Spring-IOC容器始末&#xff0c;如…

LeetCode算法心得——找到冠军(反向推理)

大家好&#xff0c;我是晴天学长&#xff0c;今天的周赛第二题&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。 1) .找到冠军 一场比赛中共有 n 支队伍&#xff0c;按从 0 到 n - 1 编号。每支队伍也是 有向无环图&#xff08;DAG&#xff09; 上的…

Technology Strategy Pattern 学习笔记2-Creating the Strategy-World Context

Creating the Strategy-World Context 1 PESTEL 1.1 从6个方案看外部 PoliticalEconomicSocialTechnologicalEnvironmentalLegal 1.2 参考URL https://zhuanlan.zhihu.com/p/192522082https://www.docin.com/p-449396129.htmlhttps://blog.csdn.net/xiaoyw71/article/deta…

发现一款PDF转换成翻页电子书的网站

​随着科技的发展&#xff0c;电子书越来越受到人们的喜爱。而PDF格式的文件也越来越多地被人们使用。那么&#xff0c;如何将PDF文件转换成翻页电子书呢&#xff1f;今天就为大家推荐一款好用的PDF转翻页电子书网站。 一、网站介绍 这款网站是一款非常实用的在线转换工具&…

7.spark sql编程

概述 spark 版本为 3.2.4&#xff0c;注意 RDD 转 DataFrame 的代码出现的问题及解决方案 本文目标如下&#xff1a; RDD ,Datasets,DataFrames 之间的区别入门 SparkSession创建 DataFramesDataFrame 操作编程方式运行 sql 查询创建 DatasetsDataFrames 与 RDDs 互相转换 使用…

Navicat连接mysql 8.0.35 2059错误解决办法

这2天在家重装电脑&#xff0c;顺便把mysql升级8.0&#xff0c;安装完成后&#xff0c;用Navicat连接&#xff0c;报错2059&#xff0c;如下 网上查了一下&#xff0c; 【报错原因】mysql8.0 之前的版本中加密规则是 mysql_native_password&#xff0c;而 mysql8.0 之后的版本…

超越 GLIP! | RegionSpot: 识别一切区域,多模态融合的开放世界物体识别新方法

本文的主题是多模态融合和图文理解&#xff0c;文中提出了一种名为RegionSpot的新颖区域识别架构&#xff0c;旨在解决计算机视觉中的一个关键问题&#xff1a;理解无约束图像中的各个区域或patch的语义。这在开放世界目标检测等领域是一个具有挑战性的任务。 关于这一块&…

Vim快速插入常用代码模板

1 修改home目录下.vimrc 家目录中ls -a找到隐藏文件.vimrc 2 编辑.vimrc 输入i编辑&#xff0c;在尾巴插入代码&#xff0c;按:wq保存并退出。 noremap io i#include <stdio.h><Esc>o<Esc> noremap im iint main(int argc, char *argv[])<Esc> map …

使用自定义函数拟合辨识HPPC工况下的电池数据(适用于一阶RC、二阶RC等电池模型)

该程序可以离线辨识HPPC工况下的电池数据&#xff0c;只需要批量导入不同SOC所对应的脉冲电流电压数据&#xff0c;就可以瞬间获得SOC为[100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%]的所有电池参数,迅速得到参数辨识的结果并具有更高的精度&#xff0c;可以很大程度上降低参…

第7章-使用统计方法进行变量有效性测试-7.1-假设检验

目录 女士品茶 假设检验 样本与总体 原假设与备择假设 检验法、拒绝域与检验统计量 显著性水平 决策方法——临界值法和p值&#xff08;p-value&#xff09;法 假设检验步骤 参考文献 假设检验&#xff0c;我们从女士品茶这个故事开始说起。希望这篇文章能给您带来极大…

三、操作系统

&#xff08;一&#xff09;概述 操作系统是管理整个系统的软、硬件资源的系统&#xff0c;既是人和硬件之间的一种接口&#xff0c;也是应用软件与硬件之间的接口。 &#xff08;二&#xff09;进程管理 1.进程的状态 进程的状态是操作系统对进程进行管理的时候设置的几种状…

CLion2022安装

1. CLion下载 地址&#xff1a;https://www.jetbrains.com.cn/clion/download/other.html 下载你需要的版本&#xff0c;这里以2022.2.4为例 之后获取到对应的安装包 2. 安装 1、双击运行安装包&#xff0c;next 2、选择安装路径&#xff0c;建议非系统盘&#xff0c;nex…

Jetpack:029-Jetpack中的网格布局

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中Card相关的内容&#xff0c;本章回中主要介 网格布局。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回中…

第九章《搞懂算法:决策树是怎么回事》笔记

决策树算法是机器学习中很经典的一个算法&#xff0c;它既可以作为分类算法&#xff0c;也可以作为回归算法。 9.1 典型的决策树是什么样的 决策树算法是依据“分而治之”的思想&#xff0c;每次根据某属性的值对样本进行分类&#xff0c;然后传递给下个属性继续进行分类判断…