RSL Base
Source code in rcd/rsl/rsl_base.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
|
__init__(ci_test, find_markov_boundary_matrix_fun=None)
Initialize the rsl algorithm with the conditional independence test to use.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
ci_test |
A conditional independence test function that takes in the names of two variables and a list of variable names as the conditioning set, and returns True if the two variables are independent given the conditioning set, and False otherwise. The function's signature should be: ci_test(var_name1: str, var_name2: str, cond_set: List[str], data: pd.DataFrame) -> bool |
required | |
find_markov_boundary_matrix_fun |
optional
|
A function to find the Markov boundary matrix. This function should take in a Pandas DataFrame of data, and return a 2D numpy array, where the (i, j)th entry is True if the jth variable is in the Markov boundary of the ith variable, and False otherwise. The function's signature should be: find_markov_boundary_matrix_fun(data: pd.DataFrame) -> np.ndarray |
None
|
Source code in rcd/rsl/rsl_base.py
find_neighborhood(var)
Find the neighborhood of a variable.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var |
int
|
The variable whose neighborhood we want to find. |
required |
Returns:
Type | Description |
---|---|
ndarray
|
np.ndarray: 1D numpy array containing the variables in the neighborhood. |
Source code in rcd/rsl/rsl_base.py
find_removable(var_arr)
Find a removable variable in the given list of variables.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var_arr |
ndarray
|
1D array of variables. |
required |
Returns:
Name | Type | Description |
---|---|---|
int |
int
|
The index of the removable variable, if found, and a constant (e.g., REMOVABLE_NOT_FOUND) if not found. |
Source code in rcd/rsl/rsl_base.py
has_alg_run()
Check if the algorithm has been run.
Returns:
Name | Type | Description |
---|---|---|
bool |
bool
|
True if the algorithm has been run, False otherwise. |
is_removable(var)
Check whether a variable is removable.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
var |
int
|
The variable to check. |
required |
Returns:
Name | Type | Description |
---|---|---|
bool |
bool
|
True if the variable is removable, False otherwise. |
Source code in rcd/rsl/rsl_base.py
learn_and_get_skeleton(data, clique_num=None)
Run the rsl algorithm on the data to learn and return the learned skeleton graph.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
DataFrame
|
The data to learn the skeleton from. |
required |
clique_num |
int
|
The clique number of the graph, used only for specific versions of the algorithm. |
None
|
Returns:
Type | Description |
---|---|
Graph
|
nx.Graph: A networkx graph representing the learned skeleton. |
Source code in rcd/rsl/rsl_base.py
reset_fields(data, clique_num=None)
Reset the algorithm before running it on new data.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
DataFrame
|
The data to reset the algorithm with. |
required |
clique_num |
int
|
The clique number of the graph. Only used for rsl-W. |
None
|