📚 The CoCalc Library - books, templates and other resources
License: OTHER
12def plot_logistic_regression_graph():3import graphviz4lr_graph = graphviz.Digraph(node_attr={'shape': 'circle', 'fixedsize': 'True'},5graph_attr={'rankdir': 'LR', 'splines': 'line'})6inputs = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_0")7output = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_2")89for i in range(4):10inputs.node("x[%d]" % i, labelloc="c")11inputs.body.append('label = "inputs"')12inputs.body.append('color = "white"')1314lr_graph.subgraph(inputs)1516output.body.append('label = "output"')17output.body.append('color = "white"')18output.node("y")1920lr_graph.subgraph(output)2122for i in range(4):23lr_graph.edge("x[%d]" % i, "y", label="w[%d]" % i)24return lr_graph252627def plot_single_hidden_layer_graph():28import graphviz29nn_graph = graphviz.Digraph(node_attr={'shape': 'circle', 'fixedsize': 'True'},30graph_attr={'rankdir': 'LR', 'splines': 'line'})3132inputs = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_0")33hidden = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_1")34output = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_2")3536for i in range(4):37inputs.node("x[%d]" % i)3839inputs.body.append('label = "inputs"')40inputs.body.append('color = "white"')4142hidden.body.append('label = "hidden layer"')43hidden.body.append('color = "white"')4445for i in range(3):46hidden.node("h%d" % i, label="h[%d]" % i)4748output.node("y")49output.body.append('label = "output"')50output.body.append('color = "white"')5152nn_graph.subgraph(inputs)53nn_graph.subgraph(hidden)54nn_graph.subgraph(output)5556for i in range(4):57for j in range(3):58nn_graph.edge("x[%d]" % i, "h%d" % j)5960for i in range(3):61nn_graph.edge("h%d" % i, "y")62return nn_graph636465def plot_two_hidden_layer_graph():66import graphviz67nn_graph = graphviz.Digraph(node_attr={'shape': 'circle', 'fixedsize': 'True'},68graph_attr={'rankdir': 'LR', 'splines': 'line'})6970inputs = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_0")71hidden = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_1")72hidden2 = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_2")7374output = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_3")7576for i in range(4):77inputs.node("x[%d]" % i)7879inputs.body.append('label = "inputs"')80inputs.body.append('color = "white"')8182for i in range(3):83hidden.node("h1[%d]" % i)8485for i in range(3):86hidden2.node("h2[%d]" % i)8788hidden.body.append('label = "hidden layer 1"')89hidden.body.append('color = "white"')9091hidden2.body.append('label = "hidden layer 2"')92hidden2.body.append('color = "white"')9394output.node("y")95output.body.append('label = "output"')96output.body.append('color = "white"')9798nn_graph.subgraph(inputs)99nn_graph.subgraph(hidden)100nn_graph.subgraph(hidden2)101102nn_graph.subgraph(output)103104for i in range(4):105for j in range(3):106nn_graph.edge("x[%d]" % i, "h1[%d]" % j, label="")107108for i in range(3):109for j in range(3):110nn_graph.edge("h1[%d]" % i, "h2[%d]" % j, label="")111112for i in range(3):113nn_graph.edge("h2[%d]" % i, "y", label="")114115return nn_graph116117118