tidymodels

library(butcher)
#在R中对流水线进行建模有时会导致拟合的模型对象占用太多内存。
# 为了充分利用您的内存,此软件包提供了五个S3泛型,您可以删除模型对象的一部分:
# axe_call():删除调用对象。
# axe_ctrl():删除与训练相关的控件。
# axe_data():删除原始训练数据。
# axe_env():删除环境。
# axe_fitted():删除拟合值。
our_model <- function() {
  some_junk_in_the_environment <- runif(1e6) # we didn't know about
  lm(mpg ~ ., data = mtcars)
}

# 适合数据库内的模型。 modeldb适用于大多数数据库后端,因为它利用dplyr和dbplyr进行算法的最终SQL转换。 它目前支持:
# K均值聚类 线性回归
library(modeldb)
con <- DBI::dbConnect(RSQLite::SQLite(), path = ":memory:")
RSQLite::initExtension(con)
dplyr::copy_to(con, mtcars)

library(dplyr)
tbl(con, "mtcars") %>%
  select(wt, mpg, qsec) %>%
  linear_regression_db(wt)

km <- tbl(con, "mtcars") %>%
  simple_kmeans_db(mpg, wt)
colnames(km)
dbplyr::remote_query(km)


# rsample包含一组函数,可以为其分析创建不同类型的重新采样和相应的类。目标是拥有一组模块化方法,可以在不同的R包中使用:
# 用于估计统计量和采样分布的传统重采样技术
# 使用保持集估计模型性能
# rsample的范围是为创建和分析数据集的重采样提供基本构建块,但不包括用于建模或计算统计数据的代码。 “使用重新采样集”小插图演示了如何使用rsample工具。

library(rsample)
library(mlbench)
library(pryr)
data(LetterRecognition)
set.seed(35222)
boots <- bootstraps(LetterRecognition, times = 50)
object_size(boots)/nrow(boots)
# Fold increase is <<< 50
as.numeric(object_size(boots)/object_size(LetterRecognition))


library(yardstick)
#用于估计模型使用整洁数据原理的工作情况
head(two_class_example)
metrics(two_class_example, truth, predicted)
two_class_example %>%
  roc_auc(truth, Class1)

data("hpc_cv")
hpc_cv <- as_tibble(hpc_cv)
hpc_cv
# Macro averaged multiclass precision
precision(hpc_cv, obs, pred)
precision(hpc_cv, obs, pred, estimator = "micro")
hpc_cv %>%
  group_by(Resample) %>%
  roc_auc(obs, VF:L)

# 自动绘图方法,便于可视化
# 基于曲线的方法(如roc_curve(),pr_curve()和gain_curve()都具有ggplot2 :: autoplot()方法,可以实现强大而简单的可视化。
library(ggplot2)
hpc_cv %>%
  group_by(Resample) %>%
  roc_curve(obs, VF:L) %>%
  autoplot()


library(infer)
# 该软件包的目标是使用与tidyverse设计框架相结合的表达统计语法来执行统计推断。
mtcars <- as.data.frame(mtcars) %>%
  mutate(cyl = factor(cyl),
         vs = factor(vs),
         am = factor(am),
         gear = factor(gear),
         carb = factor(carb))

mtcars %>%
  specify(am ~ vs, success = "1") %>%
  hypothesize(null = "independence") %>%
  generate(reps = 100, type = "permute") %>%
  calculate(stat = "diff in props", order = c("1", "0"))

mtcars %>%
  specify(response = mpg, explanatory = am) %>%
  generate(reps = 100, type = "bootstrap") %>%
  calculate(stat = "diff in means", order = c("1", "0"))

# 请注意,公式和非公式接口适用于推断中所有已实现的推理过程。使用任何更自然的东西。如果您将使用lm()和glm()等函数进行建模,我们建议您尽快开始使用公式y~x表示法。


# tidyposterior为此目的使用贝叶斯广义线性模型,可以认为是插入符号::重新采样函数的升级版本。该包本身使用rsample对象,但可以使用数据框中的任何结果。
library(tidyposterior)
data(precise_example)
accuracy <- precise_example %>%
  select(id, contains("Accuracy")) %>%
  setNames(tolower(gsub("_Accuracy$", "", names(.))))
accuracy

# Model the accuracy results
acc_model <- perf_mod(accuracy, seed = 13311, verbose = FALSE)  

# Extract posterior distributions:
accuracy_dists <- tidy(acc_model)

# Credible intervals for accuracy per model
summary(accuracy_dists)

评论

此博客中的热门博文

V2ray websocket(ws)+tls+nginx分流

Rstudio 使用代理