in src/responsibleai/rai_analyse/_score_card/classification_components.py [0:0]
def get_data_explorer_page(data):
de_heading_left_elms = p(
"Evaluate your dataset to assess representation of identified cohorts:"
)
de_heading_left_container = div(de_heading_left_elms, _class="left")
de_containers = [div(de_heading_left_container, _class="container")]
def get_de_bar_plot(data):
class_0 = data[0]["prediction"][0]
y_data = [
str(c["short_label"]) + "<br>" + str(int(100 * c["population"])) + "% n"
for c in data
]
x_data = [
100 * (list(c["prediction"]).count(class_0)) / (len(c["prediction"]))
for c in data
]
x_data = [[x, 100 - x] for x in x_data]
tickvals = [0, 25, 50, 75, 100]
ticktext = [str(x) + "%" for x in tickvals]
legend = ["Predicted as {}".format(class_0)]
png_base64 = cc.get_bar_plot(
list(reversed(y_data)),
list(reversed(x_data)),
legend=legend,
tickvals=tickvals,
ticktext=ticktext,
tickappend="%",
)
return div(
img(_src="data:image/png;base64,{}".format(png_base64)),
_class="image_div",
)
def get_de_containers(c):
feature_list = ul()
for d in c["data"]:
feature_list.append(li("{}: {}".format(d["short_label"], d["label"])))
left_container = div(h3(c["feature_name"]), feature_list, _class="left")
de_main_elems = []
de_main_elems.append(h3(c["feature_name"]))
for i in c["data"]:
de_main_elems.append(
p(
'Cohort "{}" has {}% {}'.format(
i["label"],
round(i[c["primary_metric"]] * 100, 1),
c["primary_metric"],
)
)
)
de_main_elems.append(
div(
p(
"Predicted classification output of the different cohorts are as follows:"
),
get_de_bar_plot(c["data"]),
_class="nobreak_div",
)
)
main_container = div(de_main_elems, _class="main")
return div(left_container, main_container, _class="container")
for c in data:
de_containers.append(get_de_containers(c))
return str(div(cc.get_page_divider("Data Explorer"), de_containers))