R语言 PPT 预习+复习

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

第一章 绪论

吊码没有,就算考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"
> mydataseta   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.mzph.cn/news/133091.shtml

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

相关文章

【Matplotlib】plt.plot() X轴横坐标展示完整整数坐标

比如说&#xff0c;我的数据应该是 x轴从2到21的20个整数 y轴对应值 但是直接plot的话x轴显示居然有小数点什么鬼 可以这样改

2022年电工杯数学建模B题5G网络环境下应急物资配送问题求解全过程论文及程序

2022年电工杯数学建模 B题 5G网络环境下应急物资配送问题 原题再现&#xff1a; 一些重特大突发事件往往会造成道路阻断、损坏、封闭等意想不到的情况&#xff0c;对人们的日常生活会造成一定的影响。为了保证人们的正常生活&#xff0c;将应急物资及时准确地配送到位尤为重要…

二十、泛型(2)

本章概要 泛型接口泛型方法 变长参数和泛型方法一个泛型的 Supplier简化元组的使用一个 Set 工具 泛型接口 泛型也可以应用于接口。例如 生成器&#xff0c;这是一种专门负责创建对象的类。实际上&#xff0c;这是 工厂方法 设计模式的一种应用。不过&#xff0c;当使用生成…

5.网络之IP

IP协议&#xff08;网络层&#xff09; 文章目录 IP协议&#xff08;网络层&#xff09;1. 报文格式2. IP地址2. 地址管理3. 特殊IP地址 IP协议&#xff08;Internet Protocol&#xff0c;互联网协议&#xff09;&#xff0c;是TCP/IP协议栈中最核心的协议之一&#xff0c;通过…

大语言模型研究进展综述

1、历史 自20世纪50年代图灵测试被提出以来&#xff0c;研究人员一直在探索和开发能够理解并掌握语言的人工智能技术。 作为重要的研究方向之一&#xff0c;语言模型得到了学术界的广泛研究&#xff0c;从早期的统计语言模型和神经语言模型开始&#xff0c;发展到基于Transform…

Linux CentOS配置阿里云yum源

一&#xff1a;先备份文件&#xff0c;在配置失败时可以恢复 cd /etc/yum.repos.d mkdir back mv *.repo back 二&#xff1a;下载阿里云yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.…

Linux下使用vscode编写Python项目

我此处是使用VScode远程连接的服务器&#xff0c;具体方法可看如下&#xff1a; 1、vscode中安装Python插件 按上面步骤安装好Python插件后&#xff0c;重启vscode&#xff1b; 2、选择Python解释器 创建Python项目结构&#xff1a; 按下F1&#xff0c;打开vscode命令栏&am…

zotero跨Windows设备数据同步(利用OneDrive、百度云同步空间等云服务)

zotero跨Windows设备数据同步&#xff08;利用OneDrive、百度云同步空间等云服务&#xff09; 特别注意 不能在多个设备同步使用zotero&#xff0c;否则会导致同步出现异常。 基本原理 同步zotero的数据&#xff0c;即同步全部的文献和笔记、高亮标记信息。而这两类数据分别…

Git介绍及使用

目录 一、Git 的基本概念 1. 仓库&#xff08;Repository&#xff09;: 仓库是存储代码的地方。可以通过 命令将本地文件夹初始化为 Git 仓库&#xff0c;并使用 命令从远程仓库克隆到本地 2. 分支&#xff08;Branch&#xff09;: 分支是指从主分支上创建出来的一个分支&…

QQ邮箱批量发送

场景 已有用户邮箱,需要批量对他们发送一些广告信息。 完整代码 # coding=gbk import smtplib import csv from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipartdef send_email(msg_from, passwd, msg_to_list, text_content)

【QT】QT自定义C++类

在使用Qt的ui设计时&#xff0c;Qt为我们提供了标准的类&#xff0c;但是在很多复杂工程中&#xff0c;标准的类并不能满足所有的需求&#xff0c;这时就需要我们自定义C类。 下面以自定义的QPushButton作一个很简单的例子。 先新建默认Qt Widgets Application项目 一、自定义…

机器学习中的嵌入:释放表征的威力

简介 机器学习通过使计算机能够从数据学习和做出预测来彻底改变了人工智能领域。机器学习的一个关键方面是数据的表示&#xff0c;因为表示形式的选择极大地影响了算法的性能和有效性。嵌入已成为机器学习中的一种强大技术&#xff0c;提供了一种捕获和编码数据点之间复杂关系的…

二维码智慧门牌管理系统全新升级:个性化配置,智能管理,让你的社区更安全!

文章目录 前言一、个性化配置功能的升级二、智能化管理和便捷性 前言 随着科技的飞速发展&#xff0c;智能化管理已经成为各个领域的标配。在社区管理方面&#xff0c;智能化的优势在便捷性、高效性和安全性方面得到了广泛认可。最近&#xff0c;二维码智慧门牌管理系统经过全…

SpringBoot整合JUnit

1.创建新项目 说明&#xff1a;创建springboot_04_junit项目&#xff0c;选择对应的版本。 2.接口类 说明&#xff1a;新建BookDao接口。 package com.forever.dao;public interface BookDao {public void save(); }3.实现类 说明&#xff1a; 新建BookDaoImpl实现类。 pa…

npm发布自己的包

npm发布自己的包 1. 首先在npm官网注册一个自己的账户(有账号的可以直接登录) 注册地址 2. 创建一个自己的项目(如果已有自己的项目, 跳过这一步) npm init -y3. 确认自己的npm下载源, 只能使用npm官方的地址 npm config get registry修改地址源 npm config set registr…

洛谷P1102 A-B数对 详细解析及AC代码

P1102 A-B数对 前言题目题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示题目分析注意事项 代码经典二分&#xff08;O(nlgn)&#xff09;酷炫哈希&#xff08;O(n)&#xff09; 后话额外测试用例样例输入 #2样例输出 #2 王婆卖瓜 题目来源 前言 酷&…

DASCTF X CBCTF 2023|无畏者先行

前言 笔者没有参加此次比赛&#xff0c;由于团队后面会复现此次比赛&#xff0c;所以笔者在此进行复现记录。 EASYBOX 考点&#xff1a;命令执行&#xff1f; 栈溢出 附件给了 docker 环境&#xff0c;可以直接在本地复现&#xff0c;但是 docker 我不会调试&#xff0c;幸…

11.Z-Stack协议栈使用

f8wConfig.cfg文件 选择信道、设置PAN ID 选择信道 #define DEFAULT_CHANLIST 0x00000800 DEFAULT_CHANLIST 表明Zigbee模块要工作的网络&#xff0c;当有多个信道参数值进行或操作之后&#xff0c;把结果作为 DEFAULT_CHANLIST值 对于路由器、终端、协调器的意义&#xff1…

Spring boot集成sentinel限流服务

Sentinel集成文档 Sentinel控制台 Sentinel本身不支持持久化&#xff0c;项目通过下载源码改造后&#xff0c;将规则配置持久化进nacos中&#xff0c;sentinel重启后&#xff0c;配置不会丢失。 架构图&#xff1a; 改造步骤&#xff1a; 接着我们就要改造Sentinel的源码。…

U盘显示无媒体怎么办?方法很简单

当出现U盘无媒体情况时&#xff0c;您可以在磁盘管理工具中看到一个空白的磁盘框&#xff0c;并且在文件资源管理器中不会显示出来。那么&#xff0c;导致这种问题的原因是什么呢&#xff1f;我们又该怎么解决呢&#xff1f; 导致U盘无媒体的原因是什么&#xff1f; 当您遇到上…