in src/sagemaker/data-preprocessing/graph_data_preprocessor.py [0:0]
def create_homogeneous_edgelist(edges, output_dir):
homogeneous_edges = []
for etype, relations in edges.items():
for edge_relation, frame in relations.groupby(etype):
new_edges = [(a, b) for (a, b) in combinations(frame.TransactionID.values, 2)
if (a, b) not in homogeneous_edges and (b, a) not in homogeneous_edges]
homogeneous_edges.extend(new_edges)
with open(os.path.join(output_dir, 'homogeneous_edgelist.csv'), 'w') as f:
f.writelines(map(lambda x: "{}, {}\n".format(x[0], x[1]), homogeneous_edges))
logging.info("Wrote homogeneous edgelist to file: {}".format(os.path.join(output_dir, 'homogeneous_edgelist.csv')))