{
  "_id": "6af714bdb90b31e79afd8170",
  "Package": "PsyML",
  "Type": "Package",
  "Title": "Machine Learning Workflows for Supervised, Unsupervised, and\nCausal Analysis",
  "Version": "2.4.2.9000",
  "Date": "2026-10-25",
  "Authors@R": "c(\nperson(\"Jose\", \"Ventura-Leon\",\nemail = \"jventuraleon@gmail.com\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0003-2996-4244\"))\n)",
  "Description": "Provides single-function pipelines for applied machine\nlearning with tabular data, as commonly found in psychological,\nbehavioral, and health research. The supervised pipeline,\nsupervised_ml(), performs exploratory checks, preprocessing,\ntraining of several models with cross-validation,\nhyperparameter tuning, test-set evaluation, threshold\noptimization, calibration, fairness analysis, decision curve\nanalysis, and model interpretation with permutation importance\nand Shapley values. The unsupervised pipeline,\nunsupervised_ml(), covers k-means, hierarchical, DBSCAN,\nGaussian mixture, and latent class clustering with selection of\nthe number of clusters, dimensionality reduction (PCA, t-SNE,\nUMAP), and anomaly detection (isolation forest, local outlier\nfactor, Mahalanobis distance). The causal pipeline,\ncausal_ml(), estimates treatment effects with propensity\nscores, meta-learners, double machine learning, causal forests,\nand targeted maximum likelihood estimation. Also includes\nlearning-curve based sample size estimation, block and\ndiversity-based data splitting, and export of results to text\nand JSON.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/jventural/PsyML",
  "BugReports": "https://github.com/jventural/PsyML/issues",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "cmake make libicu-dev libuv1-dev",
  "Repository": "https://jventural.r-universe.dev",
  "Date/Publication": "2026-10-29 07:45:50 UTC",
  "RemoteUrl": "https://github.com/jventural/psyml",
  "RemoteRef": "HEAD",
  "RemoteSha": "992d6b7852c38e65ae43abfb0364557778258bcc",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-11-13 13:34:45 UTC",
    "User": "root"
  },
  "Author": "Jose Ventura-Leon [aut, cre] (ORCID:\n<https://orcid.org/0000-0003-2996-4244>)",
  "Maintainer": "Jose Ventura-Leon <jventuraleon@gmail.com>",
  "_user": "jventural",
  "_type": "src",
  "_file": "PsyML_2.4.2.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/06b13234f572a7c03ae734e689ab9358b3835519858d5b66a768c4f213df52c9",
  "_filesize": 971395,
  "_sha256": "06b13234f572a7c03ae734e689ab9358b3835519858d5b66a768c4f213df52c9",
  "_expires": "2027-02-21T13:46:35.000Z",
  "_created": "2026-11-13T13:34:45.000Z",
  "_published": "2026-11-13T13:46:37.420Z",
  "_upstream": "https://github.com/jventural/psyml",
  "_status": "success",
  "_maintainer": {
    "name": "Jose Ventura-Leon",
    "email": "jventuraleon@gmail.com",
    "login": "jventural",
    "description": "",
    "uuid": 60574394,
    "orcid": "0000-0003-2996-4244"
  },
  "_jobs": [
    {
      "job": 131917520708,
      "time": 221,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "14042098194"
    },
    {
      "job": 131917520662,
      "time": 229,
      "config": "linux-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "14043162112"
    },
    {
      "job": 131917520681,
      "time": 138,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "14042538900"
    },
    {
      "job": 131917520567,
      "time": 151,
      "config": "macos-release-arm64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "14043712732"
    },
    {
      "job": 131915044780,
      "time": 296,
      "config": "source",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "14043900915"
    },
    {
      "job": 131917520670,
      "time": 158,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "14043121827"
    },
    {
      "job": 131917520704,
      "time": 314,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "14042193480"
    },
    {
      "job": 131917520879,
      "time": 311,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "14042378174"
    },
    {
      "job": 131917520719,
      "time": 293,
      "config": "windows-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "14042887255"
    }
  ],
  "_buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357",
  "_commit": {
    "id": "992d6b7852c38e65ae43abfb0364557778258bcc",
    "author": "jventural <jventuraleon@gmail.com>",
    "committer": "jventural <jventuraleon@gmail.com>",
    "message": "Fix stratification of rare classes and balance_method = \"down\"\n\n- Classification splits (prep_split, setup_cv, nested CV, RFE folds) now call\n  rsample with pool = 0. With the default pool = 0.1, rsample merged a class\n  holding less than 10% of the data into another stratum, so rare outcomes\n  were not stratified and the number of positives varied across partitions.\n- balance_method = \"down\" passed over_ratio to themis::step_downsample(),\n  which expects under_ratio, so every model failed.\n- Version 2.4.2.9000 (development; 2.4.2 is under CRAN review).\n",
    "time": 1793259950
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "dials",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "hardhat",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "nnet",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "parsnip",
      "role": "Imports"
    },
    {
      "package": "pROC",
      "role": "Imports"
    },
    {
      "package": "ranger",
      "role": "Imports"
    },
    {
      "package": "recipes",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "rsample",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "tune",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "workflows",
      "role": "Imports"
    },
    {
      "package": "xgboost",
      "role": "Imports"
    },
    {
      "package": "yardstick",
      "role": "Imports"
    },
    {
      "package": "Boruta",
      "role": "Suggests"
    },
    {
      "package": "bslib",
      "role": "Suggests"
    },
    {
      "package": "cluster",
      "role": "Suggests"
    },
    {
      "package": "cobalt",
      "role": "Suggests"
    },
    {
      "package": "commonmark",
      "role": "Suggests"
    },
    {
      "package": "dbscan",
      "role": "Suggests"
    },
    {
      "package": "doParallel",
      "role": "Suggests"
    },
    {
      "package": "DoubleML",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "e1071",
      "role": "Suggests"
    },
    {
      "package": "finetune",
      "role": "Suggests"
    },
    {
      "package": "flextable",
      "role": "Suggests"
    },
    {
      "package": "foreach",
      "role": "Suggests"
    },
    {
      "package": "ggdendro",
      "role": "Suggests"
    },
    {
      "package": "glmnet",
      "role": "Suggests"
    },
    {
      "package": "grf",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    },
    {
      "package": "httr",
      "role": "Suggests"
    },
    {
      "package": "httr2",
      "role": "Suggests"
    },
    {
      "package": "isotree",
      "role": "Suggests"
    },
    {
      "package": "kernelshap",
      "role": "Suggests"
    },
    {
      "package": "kernlab",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "MatchIt",
      "role": "Suggests"
    },
    {
      "package": "mclust",
      "role": "Suggests"
    },
    {
      "package": "mlr3",
      "role": "Suggests"
    },
    {
      "package": "mlr3learners",
      "role": "Suggests"
    },
    {
      "package": "officer",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "poLCA",
      "role": "Suggests"
    },
    {
      "package": "readxl",
      "role": "Suggests"
    },
    {
      "package": "reticulate",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "rpart",
      "role": "Suggests"
    },
    {
      "package": "Rtsne",
      "role": "Suggests"
    },
    {
      "package": "shapviz",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "shinydashboard",
      "role": "Suggests"
    },
    {
      "package": "SuperLearner",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "themis",
      "role": "Suggests"
    },
    {
      "package": "tmle",
      "role": "Suggests"
    },
    {
      "package": "umap",
      "role": "Suggests"
    },
    {
      "package": "VIM",
      "role": "Suggests"
    }
  ],
  "_owner": "jventural",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-44",
      "n": 2
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "jventural",
      "count": 2,
      "uuid": 60574394
    }
  ],
  "_userbio": {
    "uuid": 60574394,
    "type": "user",
    "name": "José Ventura-León",
    "followers": 3
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/PsyML"
  },
  "_devurl": "https://github.com/jventural/psyml",
  "_searchresults": 0,
  "_rbuild": "4.6.2",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/PsyML.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/jventural/psyml",
  "_realowner": "jventural",
  "_cranurl": true,
  "_releases": [
    {
      "version": "2.4.2",
      "date": "2026-11-12"
    }
  ],
  "_exports": [
    "advanced_residual_analysis",
    "analyze_dca",
    "analyze_fairness",
    "analyze_interactions_splines",
    "apply_custom_features",
    "apply_threshold",
    "auto_feature_engineering",
    "block_split",
    "calculate_shap",
    "calibrate_probabilities",
    "causal_ml",
    "cluster_profile",
    "compare_models",
    "correct_fairness_threshold",
    "cv_feature_selection",
    "define_models",
    "detect_data_leakage",
    "diversity_split",
    "eda_basic",
    "eda_categorical",
    "eda_categorical_basic",
    "eda_correlation",
    "eda_correlation_basic",
    "eda_leakage",
    "eda_missing",
    "eda_normality",
    "eda_numeric",
    "eda_numeric_basic",
    "eda_outliers",
    "eda_structure",
    "eda_summary",
    "eda_target_classification",
    "eda_target_regression",
    "eda_vif",
    "estimate_n",
    "estimate_n_plateau",
    "eval_calibration",
    "eval_confusion",
    "eval_metrics",
    "eval_pred_vs_obs",
    "eval_predictions",
    "eval_residuals",
    "eval_roc",
    "evaluate_model",
    "explain_with_ai",
    "export_verbose_json",
    "export_verbose_txt",
    "fit_models_cv",
    "generate_all_plots",
    "generate_report_from_json",
    "generate_report_with_ai",
    "get_figures_catalog",
    "get_importance",
    "interpret_model",
    "launch_report_generator",
    "launch_supervisedml_app",
    "ml_sample_size",
    "optimize_threshold",
    "plot_all",
    "plot_calibration_curve",
    "plot_distribution",
    "plot_importance",
    "plot_learning_curve",
    "plot_metrics_profile",
    "plot_residual_diagnostics",
    "plot_shap_bar",
    "plot_shap_dependence",
    "plot_shap_summary",
    "plot_threshold_optimization",
    "plot_tuning",
    "prep_feature_selection",
    "prep_recipe",
    "prep_split",
    "prep_target",
    "preprocess_data",
    "print_figures_catalog",
    "resample_fairness",
    "run_nested_cv",
    "save_all_plots",
    "save_unsupervised_plots",
    "setup_cv",
    "supervised_ml",
    "supervised_ml_capture",
    "supervised_ml_export",
    "train_models",
    "tune_best_model",
    "unsupervised_ml"
  ],
  "_help": [
    {
      "page": "advanced_residual_analysis",
      "title": "Advanced Residual Analysis",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "advanced_residual_analysis"
      ]
    },
    {
      "page": "analyze_dca",
      "title": "Clinical Utility Analysis (Decision Curve Analysis)",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "analyze_dca"
      ]
    },
    {
      "page": "analyze_fairness",
      "title": "Fairness Analysis of a Classification Model",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "analyze_fairness"
      ]
    },
    {
      "page": "analyze_interactions_splines",
      "title": "Analyze Interactions and Nonlinear Effects",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "analyze_interactions_splines"
      ]
    },
    {
      "page": "apply_custom_features",
      "title": "Domain Feature Engineering",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "apply_custom_features"
      ]
    },
    {
      "page": "apply_threshold",
      "title": "Apply a Classification Threshold",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "apply_threshold"
      ]
    },
    {
      "page": "auto_feature_engineering",
      "title": "Automatic Feature Engineering",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "auto_feature_engineering"
      ]
    },
    {
      "page": "block_split",
      "title": "Block-Based Train/Test Split for Enhanced Generalization",
      "concept": [
        "study design"
      ],
      "topics": [
        "block_split"
      ]
    },
    {
      "page": "calculate_shap",
      "title": "SHAP Values of a Fitted Workflow",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "calculate_shap"
      ]
    },
    {
      "page": "calibrate_probabilities",
      "title": "Calibrate Predicted Probabilities",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "calibrate_probabilities"
      ]
    },
    {
      "page": "causal_ml",
      "title": "Automated Causal Inference Pipeline",
      "concept": [
        "causal inference"
      ],
      "topics": [
        "causal_ml"
      ]
    },
    {
      "page": "cluster_profile",
      "title": "Cluster Profiles",
      "concept": [
        "unsupervised learning"
      ],
      "topics": [
        "cluster_profile"
      ]
    },
    {
      "page": "compare_models",
      "title": "Compare Cross-Validated Models",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "compare_models"
      ]
    },
    {
      "page": "correct_fairness_threshold",
      "title": "Fairness Correction with Group-Specific Thresholds",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "correct_fairness_threshold"
      ]
    },
    {
      "page": "cv_feature_selection",
      "title": "Feature Selection with Cross-Validation",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "cv_feature_selection"
      ]
    },
    {
      "page": "define_models",
      "title": "Define Model Specifications",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "define_models"
      ]
    },
    {
      "page": "detect_data_leakage",
      "title": "Detect Possible Data Leakage (Post-Model Checks)",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "detect_data_leakage"
      ]
    },
    {
      "page": "diversity_split",
      "title": "Diversity-Based Train/Test Split for True Generalization",
      "concept": [
        "study design"
      ],
      "topics": [
        "diversity_split"
      ]
    },
    {
      "page": "eda_basic",
      "title": "Basic Exploratory Data Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_basic"
      ]
    },
    {
      "page": "eda_categorical",
      "title": "Categorical Variable Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_categorical"
      ]
    },
    {
      "page": "eda_categorical_basic",
      "title": "Basic Categorical Variable Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_categorical_basic"
      ]
    },
    {
      "page": "eda_correlation",
      "title": "Correlation Matrix",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_correlation"
      ]
    },
    {
      "page": "eda_correlation_basic",
      "title": "Basic Correlation Matrix",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_correlation_basic"
      ]
    },
    {
      "page": "eda_leakage",
      "title": "Basic Data Leakage Check",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_leakage"
      ]
    },
    {
      "page": "eda_missing",
      "title": "Missing Value Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_missing"
      ]
    },
    {
      "page": "eda_normality",
      "title": "Normality Test of the Target",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_normality"
      ]
    },
    {
      "page": "eda_numeric",
      "title": "Numeric Variable Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_numeric"
      ]
    },
    {
      "page": "eda_numeric_basic",
      "title": "Basic Numeric Variable Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_numeric_basic"
      ]
    },
    {
      "page": "eda_outliers",
      "title": "Outlier Detection",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_outliers"
      ]
    },
    {
      "page": "eda_structure",
      "title": "Data Structure",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_structure"
      ]
    },
    {
      "page": "eda_summary",
      "title": "Exploratory Data Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_summary"
      ]
    },
    {
      "page": "eda_target_classification",
      "title": "Target Distribution for Classification",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_target_classification"
      ]
    },
    {
      "page": "eda_target_regression",
      "title": "Target Distribution for Regression",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_target_regression"
      ]
    },
    {
      "page": "eda_vif",
      "title": "Variance Inflation Factor Analysis",
      "concept": [
        "exploratory data analysis"
      ],
      "topics": [
        "eda_vif"
      ]
    },
    {
      "page": "estimate_n",
      "title": "Estimate N for a Target Metric Using the Curve Fit",
      "concept": [
        "study design"
      ],
      "topics": [
        "estimate_n"
      ]
    },
    {
      "page": "estimate_n_plateau",
      "title": "Estimate N to Reach the Plateau (Near Maximum Performance)",
      "concept": [
        "study design"
      ],
      "topics": [
        "estimate_n_plateau"
      ]
    },
    {
      "page": "eval_calibration",
      "title": "Calibration Analysis by Probability Bins",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "eval_calibration"
      ]
    },
    {
      "page": "eval_confusion",
      "title": "Compute the Confusion Matrix",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "eval_confusion"
      ]
    },
    {
      "page": "eval_metrics",
      "title": "Compute Performance Metrics",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "eval_metrics"
      ]
    },
    {
      "page": "eval_pred_vs_obs",
      "title": "Compare Predicted and Observed Values",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "eval_pred_vs_obs"
      ]
    },
    {
      "page": "eval_predictions",
      "title": "Generate Predictions on a Data Set",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "eval_predictions"
      ]
    },
    {
      "page": "eval_residuals",
      "title": "Residual Analysis",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "eval_residuals"
      ]
    },
    {
      "page": "eval_roc",
      "title": "Compute the ROC Curve",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "eval_roc"
      ]
    },
    {
      "page": "evaluate_model",
      "title": "Evaluate the Final Model on the Test Set",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "evaluate_model"
      ]
    },
    {
      "page": "explain_with_ai",
      "title": "Interpret Results of supervised_ml() with a Large Language Model",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "explain_with_ai"
      ]
    },
    {
      "page": "export_verbose_json",
      "title": "Export the Results of an Analysis as a JSON File",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "export_verbose_json"
      ]
    },
    {
      "page": "export_verbose_txt",
      "title": "Export the Console Output of an Analysis as a TXT File",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "export_verbose_txt"
      ]
    },
    {
      "page": "fit_models_cv",
      "title": "Fit Models with Cross-Validation",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "fit_models_cv"
      ]
    },
    {
      "page": "generate_all_plots",
      "title": "Generate All Plots of a supervisedml Object",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "generate_all_plots"
      ]
    },
    {
      "page": "generate_report_from_json",
      "title": "Generate a Report from an Exported JSON File",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "generate_report_from_json"
      ]
    },
    {
      "page": "generate_report_with_ai",
      "title": "Generate a Scientific Report with AI",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "generate_report_with_ai"
      ]
    },
    {
      "page": "get_figures_catalog",
      "title": "Get the Catalog of Figures",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "get_figures_catalog"
      ]
    },
    {
      "page": "get_importance",
      "title": "Variable Importance of a Fitted Workflow",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "get_importance"
      ]
    },
    {
      "page": "interpret_model",
      "title": "Model Interpretability Analysis",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "interpret_model"
      ]
    },
    {
      "page": "launch_report_generator",
      "title": "Launch the Shiny Report Generator",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "launch_report_generator"
      ]
    },
    {
      "page": "launch_supervisedml_app",
      "title": "Launch the Integrated PsyML Shiny App",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "launch_supervisedml_app"
      ]
    },
    {
      "page": "ml_sample_size",
      "title": "Sample Size Estimation for Machine Learning via Monte Carlo Simulation",
      "concept": [
        "study design"
      ],
      "topics": [
        "ml_sample_size"
      ]
    },
    {
      "page": "optimize_threshold",
      "title": "Optimize the Classification Threshold",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "optimize_threshold"
      ]
    },
    {
      "page": "plot_all",
      "title": "Plot a Summary Panel of All Results",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_all",
        "plot_all.supervisedml"
      ]
    },
    {
      "page": "plot_all.ml_sample_size",
      "title": "Plot All Graphs for Sample Size Results",
      "concept": [
        "study design"
      ],
      "topics": [
        "plot_all.ml_sample_size"
      ]
    },
    {
      "page": "plot_calibration_curve",
      "title": "Plot the Calibration Curve",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_calibration_curve"
      ]
    },
    {
      "page": "plot_distribution",
      "title": "Plot the Metric Distribution by Sample Size",
      "concept": [
        "study design"
      ],
      "topics": [
        "plot_distribution"
      ]
    },
    {
      "page": "plot_importance",
      "title": "Plot Variable Importance",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_importance"
      ]
    },
    {
      "page": "plot_learning_curve",
      "title": "Plot the Learning Curve of a Sample Size Analysis",
      "concept": [
        "study design"
      ],
      "topics": [
        "plot_learning_curve"
      ]
    },
    {
      "page": "plot_metrics_profile",
      "title": "Plot the Profile of Performance Metrics",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_metrics_profile"
      ]
    },
    {
      "page": "plot_residual_diagnostics",
      "title": "Residual Diagnostic Plots",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_residual_diagnostics"
      ]
    },
    {
      "page": "plot_shap_bar",
      "title": "Plot SHAP Feature Importance",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_shap_bar"
      ]
    },
    {
      "page": "plot_shap_dependence",
      "title": "Plot SHAP Dependence for One Variable",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_shap_dependence"
      ]
    },
    {
      "page": "plot_shap_summary",
      "title": "Plot a SHAP Summary (Beeswarm)",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_shap_summary"
      ]
    },
    {
      "page": "plot_threshold_optimization",
      "title": "Plot the Threshold Optimization",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_threshold_optimization"
      ]
    },
    {
      "page": "plot_tuning",
      "title": "Plot the Hyperparameter Tuning Results",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot_tuning"
      ]
    },
    {
      "page": "plot.causalml",
      "title": "Plot a causalml Object",
      "concept": [
        "causal inference"
      ],
      "topics": [
        "plot.causalml"
      ]
    },
    {
      "page": "plot.supervisedml",
      "title": "Plot a supervisedml Object",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "plot.supervisedml"
      ]
    },
    {
      "page": "plot.unsupervisedml",
      "title": "Plot an unsupervisedml Object",
      "concept": [
        "unsupervised learning"
      ],
      "topics": [
        "plot.unsupervisedml"
      ]
    },
    {
      "page": "predict.causalml",
      "title": "Predict Conditional Average Treatment Effects from a causalml Object",
      "concept": [
        "causal inference"
      ],
      "topics": [
        "predict.causalml"
      ]
    },
    {
      "page": "predict.supervisedml",
      "title": "Predict with a supervisedml Model",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "predict.supervisedml"
      ]
    },
    {
      "page": "predict.unsupervisedml",
      "title": "Assign New Observations to Clusters",
      "concept": [
        "unsupervised learning"
      ],
      "topics": [
        "predict.unsupervisedml"
      ]
    },
    {
      "page": "prep_feature_selection",
      "title": "Feature Selection with Boruta",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "prep_feature_selection"
      ]
    },
    {
      "page": "prep_recipe",
      "title": "Create the Preprocessing Recipe",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "prep_recipe"
      ]
    },
    {
      "page": "prep_split",
      "title": "Train/Test Split",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "prep_split"
      ]
    },
    {
      "page": "prep_target",
      "title": "Prepare the Target Variable",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "prep_target"
      ]
    },
    {
      "page": "preprocess_data",
      "title": "Preprocessing Pipeline",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "preprocess_data"
      ]
    },
    {
      "page": "print_figures_catalog",
      "title": "Print the Catalog of Figures",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "print_figures_catalog"
      ]
    },
    {
      "page": "print.block_split",
      "title": "Print a Block-Based Split",
      "topics": [
        "print.block_split"
      ]
    },
    {
      "page": "print.causalml",
      "title": "Print a causalml Object",
      "concept": [
        "causal inference"
      ],
      "topics": [
        "print.causalml"
      ]
    },
    {
      "page": "print.diversity_split",
      "title": "Print a Diversity-Based Split",
      "topics": [
        "print.diversity_split"
      ]
    },
    {
      "page": "print.ml_sample_size",
      "title": "Print ML Sample Size Results",
      "topics": [
        "print.ml_sample_size"
      ]
    },
    {
      "page": "print.supervisedml",
      "title": "Print a supervisedml Object",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "print.supervisedml"
      ]
    },
    {
      "page": "print.unsupervisedml",
      "title": "Print an unsupervisedml Object",
      "concept": [
        "unsupervised learning"
      ],
      "topics": [
        "print.unsupervisedml"
      ]
    },
    {
      "page": "resample_fairness",
      "title": "Fairness-Oriented Stratified Resampling",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "resample_fairness"
      ]
    },
    {
      "page": "run_nested_cv",
      "title": "Nested Cross-Validation",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "run_nested_cv"
      ]
    },
    {
      "page": "save_all_plots",
      "title": "Save All Plots to PNG Files",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "save_all_plots"
      ]
    },
    {
      "page": "save_unsupervised_plots",
      "title": "Save All Figures of an Unsupervised Analysis",
      "concept": [
        "unsupervised learning"
      ],
      "topics": [
        "save_unsupervised_plots"
      ]
    },
    {
      "page": "setup_cv",
      "title": "Set Up Cross-Validation Folds",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "setup_cv"
      ]
    },
    {
      "page": "summary.causalml",
      "title": "Summarize a causalml Object",
      "concept": [
        "causal inference"
      ],
      "topics": [
        "summary.causalml"
      ]
    },
    {
      "page": "summary.supervisedml",
      "title": "Summarize a supervisedml Object",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "summary.supervisedml"
      ]
    },
    {
      "page": "summary.unsupervisedml",
      "title": "Summarize an unsupervisedml Object",
      "concept": [
        "unsupervised learning"
      ],
      "topics": [
        "summary.unsupervisedml"
      ]
    },
    {
      "page": "supervised_ml",
      "title": "Supervised Machine Learning for Classification and Regression",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "supervised_ml"
      ]
    },
    {
      "page": "supervised_ml_capture",
      "title": "Run supervised_ml() and Capture Its Console Output",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "supervised_ml_capture"
      ]
    },
    {
      "page": "supervised_ml_export",
      "title": "Run and Export a Complete Analysis",
      "concept": [
        "reporting and export"
      ],
      "topics": [
        "supervised_ml_export"
      ]
    },
    {
      "page": "train_models",
      "title": "Train and Compare Models with Cross-Validation",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "train_models"
      ]
    },
    {
      "page": "tune_best_model",
      "title": "Tune the Hyperparameters of the Best Model",
      "concept": [
        "supervised learning"
      ],
      "topics": [
        "tune_best_model"
      ]
    },
    {
      "page": "unsupervised_ml",
      "title": "Automated Unsupervised Learning Pipeline",
      "concept": [
        "unsupervised learning"
      ],
      "topics": [
        "unsupervised_ml"
      ]
    }
  ],
  "_readme": "https://github.com/jventural/psyml/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "bslib",
    "cachem",
    "class",
    "cli",
    "clock",
    "codetools",
    "cpp11",
    "data.table",
    "diagram",
    "dials",
    "DiceDesign",
    "digest",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "fs",
    "furrr",
    "future",
    "future.apply",
    "GauPro",
    "generics",
    "ggplot2",
    "globals",
    "glue",
    "gower",
    "gtable",
    "hardhat",
    "highr",
    "htmltools",
    "ipred",
    "isoband",
    "jquerylib",
    "jsonlite",
    "KernSmooth",
    "knitr",
    "labeling",
    "lattice",
    "lava",
    "lbfgs",
    "lifecycle",
    "listenv",
    "lubridate",
    "magrittr",
    "MASS",
    "Matrix",
    "memoise",
    "mime",
    "mixopt",
    "modelenv",
    "nnet",
    "numDeriv",
    "parallelly",
    "parsnip",
    "pillar",
    "pkgconfig",
    "prettyunits",
    "pROC",
    "prodlim",
    "progressr",
    "purrr",
    "R6",
    "ranger",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "recipes",
    "rlang",
    "rmarkdown",
    "rpart",
    "rsample",
    "S7",
    "sass",
    "scales",
    "sfd",
    "shape",
    "slider",
    "sparsevctrs",
    "splitfngr",
    "SQUAREM",
    "stringi",
    "stringr",
    "survival",
    "tailor",
    "tibble",
    "tidyr",
    "tidyselect",
    "timechange",
    "timeDate",
    "tinytex",
    "tune",
    "tzdb",
    "utf8",
    "vctrs",
    "viridisLite",
    "warp",
    "withr",
    "workflows",
    "xfun",
    "xgboost",
    "yaml",
    "yardstick"
  ],
  "_vignettes": [
    {
      "source": "sample-size-estimation.Rmd",
      "filename": "sample-size-estimation.html",
      "title": "Sample Size Estimation for Machine Learning",
      "author": "Jose Ventura-Leon",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Quick Start",
        "Core Concepts",
        "The Learning Curve",
        "Power-Law Model",
        "Decision Criteria",
        "Example 1: Basic Classification",
        "Interpreting the Output",
        "Key Output Components",
        "Visualizing the Learning Curve",
        "Example 2: Choosing the Number of Repetitions (R)",
        "Example 3: Small Datasets (N < 1000)",
        "Interpreting Multiple Partition Results",
        "Example 4: Bootstrap Confidence Intervals",
        "Example 5: Comparing Multiple Models",
        "Example 6: Checking Fit Quality Before Extrapolation",
        "Example 7: Extrapolation Functions",
        "Estimating N for a Specific Target",
        "Finding the Plateau",
        "Example 8: Regression Tasks",
        "Best Practices",
        "1. Start with Exploration",
        "2. Always Check Diagnostics",
        "3. Report Uncertainty",
        "4. Consider Hyperparameter Tuning",
        "Troubleshooting",
        "Curve Fit Fails",
        "High Variability in n*",
        "Target Seems Unachievable",
        "Summary Table",
        "References",
        "Session Info"
      ],
      "created": "2026-10-27 17:47:20",
      "modified": "2026-10-27 17:47:20",
      "commits": 1
    },
    {
      "source": "three-approaches.Rmd",
      "filename": "three-approaches.html",
      "title": "Three Approaches: Supervised, Unsupervised, and Causal",
      "author": "Jose Ventura-Leon",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. Supervised learning: predicting a known outcome",
        "2. Unsupervised learning: finding groups without an outcome",
        "3. Causal inference: estimating the effect of a treatment",
        "Tools shared by the three approaches"
      ],
      "created": "2026-10-27 17:47:20",
      "modified": "2026-10-27 17:47:20",
      "commits": 1
    }
  ],
  "_score": 4,
  "_indexed": true,
  "_nocasepkg": "psyml",
  "_universes": [
    "jventural"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:37:58.000Z",
      "distro": "resolute",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/8c491e7f1cb6b4b20cfb6d675916a9689dbd6d32c42572740f986cfa9bd59de1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:38:10.000Z",
      "distro": "resolute",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/86ae59e3d5f213ae67ebd6e06815e929b659bbcaf02cb908e37b3e69c8d579b7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:45:02.000Z",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/65d9912db92b40b95004fbcda0e7c4ab58c39240cc7203fc7826827087f3f3f5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    },
    {
      "r": "4.6.2",
      "os": "mac",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:44:32.000Z",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/6359eae69e4174d8b54ba401d811502f5583bb9c140d2d275b7b3b0e813ae9ee",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:37:51.000Z",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/6d95e46f34656ca6ffec32cde609000a1bd54a553133bae45c4e873d464d26a0",
      "status": "success",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:38:16.000Z",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/77443840ec0fbbef83e9619d9ef972bd2b86e308ebb6a0c2e3a8b528defaff81",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:38:11.000Z",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/5ea6f0338d26c8fb2638455bb77e6ded9868bc1714d2fc42edbdc0a51ca4bc54",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "2.4.2.9000",
      "date": "2026-11-13T13:37:53.000Z",
      "commit": "992d6b7852c38e65ae43abfb0364557778258bcc",
      "fileid": "https://r2.ropensci.org/01c54e601cf1bf22f7d6089c85bbcc6160667df191c2a6f2f50f19c1337a9eb2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jventural/actions/runs/43434166357"
    }
  ]
}