@@ -10,55 +10,17 @@ jupyter: python3
10
10
11
11
import numpy as np
12
12
import pandas as pd
13
- from itables import init_notebook_mode, show, options
13
+ from itables import init_notebook_mode
14
+ import os
15
+ import sys
14
16
15
- init_notebook_mode(all_interactive=True)
17
+ doc_dir = os.path.abspath(os.path.join(os.getcwd(), ".."))
18
+ if doc_dir not in sys.path:
19
+ sys.path.append(doc_dir)
20
+
21
+ from utils.style_tables import generate_and_show_styled_table
16
22
17
- def highlight_range(s, level=0.95, dist=0.05, props=''):
18
- color_grid = np.where((s >= level-dist) &
19
- (s <= level+dist), props, '')
20
- return color_grid
21
-
22
-
23
- def color_coverage(df, level):
24
- # color coverage column order is important
25
- styled_df = df.apply(
26
- highlight_range,
27
- level=level,
28
- dist=1.0,
29
- props='color:black;background-color:red',
30
- subset=["Coverage"])
31
- styled_df = styled_df.apply(
32
- highlight_range,
33
- level=level,
34
- dist=0.1,
35
- props='color:black;background-color:yellow',
36
- subset=["Coverage"])
37
- styled_df = styled_df.apply(
38
- highlight_range,
39
- level=level,
40
- dist=0.05,
41
- props='color:white;background-color:darkgreen',
42
- subset=["Coverage"])
43
-
44
- # set all coverage values to bold
45
- styled_df = styled_df.set_properties(
46
- **{'font-weight': 'bold'},
47
- subset=["Coverage"])
48
- return styled_df
49
-
50
-
51
- def make_pretty(df, level, n_rep):
52
- styled_df = df.style.hide(axis="index")
53
- # Format only float columns
54
- float_cols = df.select_dtypes(include=['float']).columns
55
- styled_df = styled_df.format({col: "{:.3f}" for col in float_cols})
56
-
57
- # color coverage column order is important
58
- styled_df = color_coverage(styled_df, level)
59
- caption = f"Coverage for {level*100}%-Confidence Interval over {n_rep} Repetitions"
60
-
61
- return show(styled_df, caption=caption, allow_html=True)
23
+ init_notebook_mode(all_interactive=True)
62
24
```
63
25
64
26
## Sharp Design
@@ -80,28 +42,36 @@ print(metadata_df.T.to_string(header=False))
80
42
# | echo: false
81
43
82
44
# set up data and rename columns
83
- df = pd.read_csv("../../results/rdd/rdd_sharp_coverage.csv", index_col=None)
45
+ df_sharp = pd.read_csv("../../results/rdd/rdd_sharp_coverage.csv", index_col=None)
84
46
85
- assert df ["repetition"].nunique() == 1
86
- n_rep = df ["repetition"].unique()[0]
47
+ assert df_sharp ["repetition"].nunique() == 1
48
+ n_rep_sharp = df_sharp ["repetition"].unique()[0]
87
49
88
- display_columns = ["Method", "Learner g", "fs specification", "Bias", "CI Length", "Coverage"]
50
+ display_columns_sharp = ["Method", "Learner g", "fs specification", "Bias", "CI Length", "Coverage"]
89
51
```
90
52
91
53
``` {python}
92
54
#| echo: false
93
- level = 0.95
94
-
95
- df_ate_95 = df[(df['level'] == level)][display_columns]
96
- make_pretty(df_ate_95, level, n_rep)
55
+ generate_and_show_styled_table(
56
+ main_df=df_sharp,
57
+ filters={"level": 0.95},
58
+ display_cols=display_columns_sharp,
59
+ n_rep=n_rep_sharp,
60
+ level_col="level",
61
+ coverage_highlight_cols=["Coverage"]
62
+ )
97
63
```
98
64
99
65
``` {python}
100
66
#| echo: false
101
- level = 0.9
102
-
103
- df_ate_9 = df[(df['level'] == level)][display_columns]
104
- make_pretty(df_ate_9, level, n_rep)
67
+ generate_and_show_styled_table(
68
+ main_df=df_sharp,
69
+ filters={"level": 0.9},
70
+ display_cols=display_columns_sharp,
71
+ n_rep=n_rep_sharp,
72
+ level_col="level",
73
+ coverage_highlight_cols=["Coverage"]
74
+ )
105
75
```
106
76
107
77
@@ -124,26 +94,34 @@ print(metadata_df.T.to_string(header=False))
124
94
# | echo: false
125
95
126
96
# set up data and rename columns
127
- df = pd.read_csv("../../results/rdd/rdd_fuzzy_coverage.csv", index_col=None)
97
+ df_fuzzy = pd.read_csv("../../results/rdd/rdd_fuzzy_coverage.csv", index_col=None)
128
98
129
- assert df ["repetition"].nunique() == 1
130
- n_rep = df ["repetition"].unique()[0]
99
+ assert df_fuzzy ["repetition"].nunique() == 1
100
+ n_rep_fuzzy = df_fuzzy ["repetition"].unique()[0]
131
101
132
- display_columns = ["Method", "Learner g", "Learner m", "fs specification", "Bias", "CI Length", "Coverage"]
102
+ display_columns_fuzzy = ["Method", "Learner g", "Learner m", "fs specification", "Bias", "CI Length", "Coverage"]
133
103
```
134
104
135
105
``` {python}
136
106
#| echo: false
137
- level = 0.95
138
-
139
- df_ate_95 = df[(df['level'] == level)][display_columns]
140
- make_pretty(df_ate_95, level, n_rep)
107
+ generate_and_show_styled_table(
108
+ main_df=df_fuzzy,
109
+ filters={"level": 0.95},
110
+ display_cols=display_columns_fuzzy,
111
+ n_rep=n_rep_fuzzy,
112
+ level_col="level",
113
+ coverage_highlight_cols=["Coverage"]
114
+ )
141
115
```
142
116
143
117
``` {python}
144
118
#| echo: false
145
- level = 0.9
146
-
147
- df_ate_9 = df[(df['level'] == level)][display_columns]
148
- make_pretty(df_ate_9, level, n_rep)
119
+ generate_and_show_styled_table(
120
+ main_df=df_fuzzy,
121
+ filters={"level": 0.9},
122
+ display_cols=display_columns_fuzzy,
123
+ n_rep=n_rep_fuzzy,
124
+ level_col="level",
125
+ coverage_highlight_cols=["Coverage"]
126
+ )
149
127
```
0 commit comments