Old engine for Continuous Time Bayesian Networks. Superseded by reCTBN. 🐍
https://github.com/madlabunimib/PyCTBN
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.1 KiB
33 lines
1.1 KiB
|
|
|
|
class Structure:
|
|
"""
|
|
Contiene tutte il informazioni sulla struttura della rete (connessione dei nodi, valori assumibili dalle variabili)
|
|
|
|
:structure_frame: il dataframe contenente le connessioni dei nodi della rete
|
|
:variables_frame: il data_frame contenente i valori assumibili dalle variabili e si suppone il corretto ordinamento
|
|
rispetto alle colonne del dataset
|
|
"""
|
|
|
|
def __init__(self, structure, variables):
|
|
self.structure_frame = structure
|
|
self.variables_frame = variables
|
|
|
|
def list_of_edges(self):
|
|
edges_list = []
|
|
for indx, row in self.structure_frame.iterrows():
|
|
row_tuple = (row.From, row.To)
|
|
edges_list.append(row_tuple)
|
|
return edges_list
|
|
|
|
def list_of_nodes(self):
|
|
return self.variables_frame['Name'] #TODO rimuovere dipendenza diretta dalla key 'Name'
|
|
|
|
def get_node_id(self, node_indx):
|
|
return self.variables_frame['Name'][node_indx]
|
|
|
|
def get_node_indx(self, node_id):
|
|
return list(self.variables_frame['Name']).index(node_id)
|
|
|
|
def get_states_number(self):
|
|
return self.variables_frame['Value'][0]
|
|
|