Learn R Programming

SEMdeep

Structural Equation Modeling with Deep Neural Network and Machine Learning

SEMdeep train and validate a custom (or data-driven) structural equation model (SEM) using deep neural networks (DNNs) or machine learning (ML) algorithms. SEMdeep comes with the following functionalities:

  • Automated DNN or ML model training based on SEM network structures.

  • Network plot representation as interpretation diagram.

  • Model performance evaluation through regression and classification metrics.

  • Compute model variable importance for a DNN (connection weights, gradient weights, or significance tests of network inputs) and for an ML (variable importance measures, Shapley (R2) values, or LOCO values).

Installation

SEMdeep uses the deep learning framework 'torch'. The torch package is native to R, so it's computationally efficient, as there is no need to install Python or any other API, and DNNs can be trained on CPU, GPU and MacOS GPUs. Before using 'SEMdeep' make sure that the current version of ‘torch’ is installed and running:

install.packages("torch")

library(torch)

install_torch(reinstall = TRUE)

Only for windows (not Linux or Mac). Some Windows distributions don’t have the Visual C++ runtime pre-installed, download from Microsoft VC_redist.x86.exe (R32) or VC_redist.x86.exe (R64) and install it.

For GPU setup, or if you have problems installing torch package, check out the installation help from the torch developer.

Then, the latest stable version can be installed from CRAN:

install.packages("SEMdeep")

The latest development version can be installed from GitHub:

# install.packages("devtools")
devtools::install_github("BarbaraTarantino/SEMdeep")

Getting help

The full list of SEMdeep functions with examples is available at our website HERE.

Copy Link

Version

Install

install.packages('SEMdeep')

Monthly Downloads

276

Version

1.1.1

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Barbara Tarantino

Last Published

December 11th, 2025

Functions in SEMdeep (1.1.1)

getVariableImportance

Variable importance for Machine Learning models
getSignificanceTest

Test for the significance of neural network input nodes
crossValidation

Cross-validation of linear SEM, ML or DNN training models
classificationReport

Prediction evaluation report of a classification model
mapGraph

Map additional variables (nodes) to a graph object
nplot

Create a plot for a neural network model
getShapleyR2

Compute variable importance using Shapley (R2) values
getLOCO

Compute variable importance using LOCO values
predict.SEM

SEM-based out-of-sample prediction using layer-wise ordering
trainingReport

Training history evaluation of a DNN model
predict.DNN

SEM-based out-of-sample prediction using DNN
predict.ML

SEM-based out-of-sample prediction using nodewise ML
SEMdnn

SEM train with Deep Neural Netwok (DNN) models
getConnectionWeight

Connection Weight method for neural network variable importance
getGradientWeight

Gradient Weight method for neural network variable importance
SEMml

Nodewise SEM train using Machine Learning (ML)