NetREm fits a Network-constrained Lasso regression machine learning model with user-provided weights for the prior network. Here, netrem is the main function with the following usage:
netrem(
edge_list,
beta_net = 1,
alpha_lasso = 0.01,
default_edge_weight = 0.01,
edge_vals_for_d = True,
w_transform_for_d = "none",
degree_threshold = 0.5,
gene_expression_nodes = [],
overlapped_nodes_only = False,
standardize_X = True,
standardize_y = True,
center_y = False,
y_intercept = False,
view_network = False,
model_type = "Lasso",
lasso_selection = "cyclic",
all_pos_coefs = False,
tolerance = 1e-4,
maxit = 10000,
num_jobs = -1,
num_cv_folds = 5,
lassocv_eps = 1e-3,
lassocv_n_alphas = 100,
lassocv_alphas = None,
verbose = False,
hide_warnings = True
)
The above lists out all of the parameters input into our netrem function. We detail the additional parameters after lasso_selection
below. Several of these parameters are based on utilizing Python's scikit-learn library. The main inputs are detailed on the NetREm Home Page.
Parameter | Definition |
---|---|
all_pos_coefs | boolean, default = 'False' Please note that this is the positive parameter found in the Lasso and LassoCV classes in sklearn. • If all_pos_coefs = True , the model will be restricted to be fit with all regression coefficients as positive. • If all_pos_coefs = False , the model will be fit with no restrictions on regression coefficients (can be positive or negative). |
tolerance | float, default = 1e-4 The tolerance sklearn would use for optimizing the NetREm model. (This is known as tol in by Python's sklearn). If the updates to the optiimzation are smaller than tolerance , then the optimization code will check the dual gap for optimizality and contine the optimization until that dual gap is smaller than tolerance . |
maxit | int, default = 10000 Please note that this is the max_iter parameter found in the Lasso and LassoCV classes in sklearn. This is the maximum number of iterations that NetREm will perform. |
verbose | boolean, default = False If True, this will print additional lines and details of steps and initial results to the console when running netrem. |
hide_warnings | boolean, default = True If True, this will display warnings generated by Python when running netrem. |
- Parameters if
model_type = LassoCV
are derived from the LassoCV class in sklearn:
Parameter | Definition |
---|---|
lassocv_eps | float, default = 1e-3 This corresponds to the eps epsilon parameter in LassoCV. It is the length of the path. Here, lassocv_eps = 1e-3 means that alpha_min / alpha_max = 1e-3 . |
lassocv_n_alphas | int, default = 100 This corresponds to the n_alphas parameter in LassoCV. This is the number of alphas along the Lasso regularization path. |
lassocv_alphas | array-like, default = None This corresponds to the alphas parameter in LassoCV. List of alphas where the models to be computed. If None then the alphas are set automatically. |
num_cv_folds | float, default = 5 By default, sklearn cross-validation is used. This specifies the number of folds for splitting the training data when fitting the NetREm model. |
num_jobs | int, default = -1 Number of computational jobs to run in parallel, which is used to determine burden, efficiency, and load (resource management). ⌛ None means 1 unless in a joblib.parallel_backend context. -1 means using all of the processors. This is similar to the n_jobs parameter in Python's sklearn. |