Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132928 views
License: OTHER
1
2
3
def plot_logistic_regression_graph():
4
import graphviz
5
lr_graph = graphviz.Digraph(node_attr={'shape': 'circle', 'fixedsize': 'True'},
6
graph_attr={'rankdir': 'LR', 'splines': 'line'})
7
inputs = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_0")
8
output = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_2")
9
10
for i in range(4):
11
inputs.node("x[%d]" % i, labelloc="c")
12
inputs.body.append('label = "inputs"')
13
inputs.body.append('color = "white"')
14
15
lr_graph.subgraph(inputs)
16
17
output.body.append('label = "output"')
18
output.body.append('color = "white"')
19
output.node("y")
20
21
lr_graph.subgraph(output)
22
23
for i in range(4):
24
lr_graph.edge("x[%d]" % i, "y", label="w[%d]" % i)
25
return lr_graph
26
27
28
def plot_single_hidden_layer_graph():
29
import graphviz
30
nn_graph = graphviz.Digraph(node_attr={'shape': 'circle', 'fixedsize': 'True'},
31
graph_attr={'rankdir': 'LR', 'splines': 'line'})
32
33
inputs = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_0")
34
hidden = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_1")
35
output = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_2")
36
37
for i in range(4):
38
inputs.node("x[%d]" % i)
39
40
inputs.body.append('label = "inputs"')
41
inputs.body.append('color = "white"')
42
43
hidden.body.append('label = "hidden layer"')
44
hidden.body.append('color = "white"')
45
46
for i in range(3):
47
hidden.node("h%d" % i, label="h[%d]" % i)
48
49
output.node("y")
50
output.body.append('label = "output"')
51
output.body.append('color = "white"')
52
53
nn_graph.subgraph(inputs)
54
nn_graph.subgraph(hidden)
55
nn_graph.subgraph(output)
56
57
for i in range(4):
58
for j in range(3):
59
nn_graph.edge("x[%d]" % i, "h%d" % j)
60
61
for i in range(3):
62
nn_graph.edge("h%d" % i, "y")
63
return nn_graph
64
65
66
def plot_two_hidden_layer_graph():
67
import graphviz
68
nn_graph = graphviz.Digraph(node_attr={'shape': 'circle', 'fixedsize': 'True'},
69
graph_attr={'rankdir': 'LR', 'splines': 'line'})
70
71
inputs = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_0")
72
hidden = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_1")
73
hidden2 = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_2")
74
75
output = graphviz.Digraph(node_attr={'shape': 'circle'}, name="cluster_3")
76
77
for i in range(4):
78
inputs.node("x[%d]" % i)
79
80
inputs.body.append('label = "inputs"')
81
inputs.body.append('color = "white"')
82
83
for i in range(3):
84
hidden.node("h1[%d]" % i)
85
86
for i in range(3):
87
hidden2.node("h2[%d]" % i)
88
89
hidden.body.append('label = "hidden layer 1"')
90
hidden.body.append('color = "white"')
91
92
hidden2.body.append('label = "hidden layer 2"')
93
hidden2.body.append('color = "white"')
94
95
output.node("y")
96
output.body.append('label = "output"')
97
output.body.append('color = "white"')
98
99
nn_graph.subgraph(inputs)
100
nn_graph.subgraph(hidden)
101
nn_graph.subgraph(hidden2)
102
103
nn_graph.subgraph(output)
104
105
for i in range(4):
106
for j in range(3):
107
nn_graph.edge("x[%d]" % i, "h1[%d]" % j, label="")
108
109
for i in range(3):
110
for j in range(3):
111
nn_graph.edge("h1[%d]" % i, "h2[%d]" % j, label="")
112
113
for i in range(3):
114
nn_graph.edge("h2[%d]" % i, "y", label="")
115
116
return nn_graph
117
118