R_机器学习——常用函数方法汇总

1.rep()

rep()是R语言中的一个函数,用于创建重复的向量或矩阵。

rep(x, times, each, length.out)
  • x:要重复的向量或矩阵。这可以是一个数字、字符、列表、因子等。
  • times:重复的次数,可以是一个整数或向量。如果是一个整数,则整个输入x会被重复这个整数次。如果是一个向量,且长度与x(经过each参数复制后)相同,则x中的每个元素会根据times向量中对应位置的值进行重复。
  • each:每个元素重复的次数,可以是一个整数或向量。如果指定,则x中的每个元素会首先根据这个参数进行重复,然后再根据timeslength.out参数进行整体复制或长度调整。
  • length.out:最终输出的长度。这是一个非负整数。当timeseachlength.out同时指定时,length.out会优先满足。如果length.out指定的长度小于实际复制后的长度,则结果会被截断;如果大于,则会根据复制规则进行填充。

  • 复制整个向量
rep(1:4, times=2)
# 输出: [1] 1 2 3 4 1 2 3 4
  • 复制每个元素
rep(1:4, each=2)
# 输出: [1] 1 1 2 2 3 3 4 4
  • 结合使用times和each
rep(1:4, each=2, times=3)
# 输出: [1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4
  • 指定输出长度
rep(1:4, each=2, length.out=6)
# 输出: [1] 1 1 2 2 3 3
# 注意:由于length.out=6,最后一个元素4只重复了一次。

 但其实最常用的还是直接构建一个0向量,相当于C语言中的数组来使用。

如:

x <- rep(0, ncol(df)) #创建和df列数相同的向量

2.confusionMatrix()

confusionMatrix 函数是 R 语言中 caret 包提供的一个非常有用的函数,用于计算并展示分类模型的混淆矩阵以及一系列相关的统计指标。

        这个函数对于评估分类模型的性能非常有帮助,特别是在监督学习领域。

(confusion_matrix <- confusionMatrix(prediction, factor(test$y)))
  • prediction 是一个包含模型预测结果的向量。
  • factor(test$y) 是测试集的实际标签,这里使用 factor 函数确保标签被处理为分类变量。

3.createDataPartition() 

  createDataPartition() 是 caret 包中的一个非常有用的函数,它主要用于将数据集分割为训练集和测试集。优点在于使二者具有相同分布,模型训练更加合理。

        通过分割数据,我们可以在一个独立的测试集上评估模型的性能,从而获得对模型泛化能力的更准确估计。

library(caret)
set.seed(123) # 设置随机种子以确保结果可重复
trainIndex <- createDataPartition(y, p = 0.8, list = FALSE)
trainData <- data[trainIndex,]
testData <- data[-trainIndex,]

在这个例子中:

  • y 是数据集中的目标变量(或称为标签、响应变量),它可以是分类的(如因子类型)或连续的(如数值类型)。
  • p 是训练集所占的比例,这里设置为0.8,意味着80%的数据将用于训练,剩下的20%将用于测试。
  • list 参数设置为 FALSE 表示返回一个索引向量,而不是一个列表。这样,我们可以直接使用这个索引向量来从原数据集中提取训练数据和测试数据。
  • set.seed() 函数用于设置随机种子,以确保每次运行代码时都能得到相同的分割结果。

to be continued!!!        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值