mirror of
https://github.com/Doctorado-ML/beflask.git
synced 2025-08-15 23:25:51 +00:00
Add fields to dataset table report
This commit is contained in:
BIN
app/app.db
BIN
app/app.db
Binary file not shown.
@@ -106,6 +106,7 @@ def report(file_name):
|
||||
os.chdir(current_user.benchmark.folder)
|
||||
back = request.args.get("url") or ""
|
||||
back_name = request.args.get("url_name") or ""
|
||||
app_config = dotenv_values(".env")
|
||||
with open(os.path.join(Folders.results, file_name)) as f:
|
||||
data = json.load(f)
|
||||
try:
|
||||
@@ -121,6 +122,7 @@ def report(file_name):
|
||||
summary=summary,
|
||||
back=back,
|
||||
back_name=back_name,
|
||||
app_config=app_config,
|
||||
)
|
||||
|
||||
|
||||
|
76
app/results/templates/_table_dataset.html
Normal file
76
app/results/templates/_table_dataset.html
Normal file
@@ -0,0 +1,76 @@
|
||||
<table id="report-table"
|
||||
class="table table-striped table-hover table-bordered bg-light"
|
||||
data-toggle="table"
|
||||
data-sticky-header="true"
|
||||
data-sticky-header-offset-y="50"
|
||||
data-sortable="true">
|
||||
<thead>
|
||||
<tr class="bg-primary text-white">
|
||||
<th class="text-center" data-field="model" data-sortable="true">Model</th>
|
||||
<th class="text-center" data-field="metric" data-sortable="true">Metric</th>
|
||||
<th class="text-center" data-field="platform" data-sortable="true">Platform</th>
|
||||
<th class="text-center" data-field="stratified" data-sortable="true">Stratified</th>
|
||||
<th class="text-center"
|
||||
data-field="samples"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">Samples</th>
|
||||
<th class="text-center"
|
||||
data-field="features"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">Features</th>
|
||||
<th class="text-center"
|
||||
data-field="classes"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">Classes</th>
|
||||
<th class="text-center"
|
||||
data-field="nodes"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">{{ app_config.nodes }}</th>
|
||||
<th class="text-center"
|
||||
data-field="leaves"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">{{ app_config.leaves }}</th>
|
||||
<th class="text-center"
|
||||
data-field="depth"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">{{ app_config.depth }}</th>
|
||||
<th class="text-center"
|
||||
data-field="score"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_plus">Score</th>
|
||||
<th class="text-center"
|
||||
data-field="time"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_plus">Time</th>
|
||||
<th class="text-center" data-field="hyperparameters" data-sortable="true">Hyperparameters</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for file_name, item in results.items() %}
|
||||
{% set parts = file_name.split('_') %}
|
||||
{% set stratified = parts[6].split('.')[0] %}
|
||||
<tr>
|
||||
<td class="text-left">{{ parts[2] }}</td>
|
||||
<td class="text-center">{{ parts[1] }}</td>
|
||||
<td class="text-center">{{ parts[3] }}</td>
|
||||
<td class="text-center">{{ 'True' if stratified =='1' else 'False' }}</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.samples) }}</td>
|
||||
<td class="text-end">{{"%d" % item.features }}</td>
|
||||
<td class="text-end">{{"%d" % item.classes }}</td>
|
||||
<td class="text-end">{{ '{:,.2f}'.format(item.nodes) }}</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.leaves) }}</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.depth) }}</td>
|
||||
<td class="text-end">{{"%.6f±%.4f" % (item.score, item.score_std)}}</td>
|
||||
<td class="text-end">{{"%.6f±%.4f" % (item.time, item.time_std)}}</td>
|
||||
<td class="text-left">{{ item.hyperparameters }}</td>
|
||||
<td class="text-center">
|
||||
<button class="btn btn-primary btn-small"
|
||||
onclick='location.href="{{ url_for("results.report", file_name=file_name) }}?url={{ url }}&url_name={{ dataset_name }} Results"'>
|
||||
<i class="mdi mdi-table-eye"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
@@ -1,5 +1,9 @@
|
||||
<table id="report-table"
|
||||
class="table table-striped table-hover table-bordered bg-light">
|
||||
class="table table-striped table-hover table-bordered bg-light"
|
||||
data-toggle="table"
|
||||
data-sticky-header="true"
|
||||
data-sticky-header-offset-y="50"
|
||||
data-sortable="true">
|
||||
<thead>
|
||||
<tr class="bg-primary text-white">
|
||||
<th class="text-center">Dataset</th>
|
||||
|
@@ -52,7 +52,7 @@
|
||||
</table>
|
||||
<div>{{ excel_button([ file ]) }}</div>
|
||||
<table class="table table-striped table-hover table-bordered bg-light"
|
||||
id="table-report"
|
||||
id="report-table"
|
||||
data-toggle="table"
|
||||
data-sticky-header="true"
|
||||
data-sticky-header-offset-y="50"
|
||||
@@ -75,7 +75,15 @@
|
||||
<th class="text-center"
|
||||
data-field="nodes"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">Nodes</th>
|
||||
data-sorter="remove_dot">{{ app_config.nodes }}</th>
|
||||
<th class="text-center"
|
||||
data-field="leaves"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">{{ app_config.leaves }}</th>
|
||||
<th class="text-center"
|
||||
data-field="depth"
|
||||
data-sortable="true"
|
||||
data-sorter="remove_dot">{{ app_config.depth }}</th>
|
||||
<th class="text-center"
|
||||
data-field="score"
|
||||
data-sortable="true"
|
||||
@@ -88,18 +96,6 @@
|
||||
<th class="text-center" data-field="hyperparameters" data-sortable="true">Hyperparameters</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<script>
|
||||
function remove_plus(a, b) {
|
||||
var aa = a.split('±')[0]
|
||||
var bb = b.split('±')[0]
|
||||
return aa - bb
|
||||
}
|
||||
function remove_dot(a, b) {
|
||||
var aa = a.replace(',', '').replace('.', '')
|
||||
var bb = b.replace(',', '').replace('.', '')
|
||||
return aa - bb
|
||||
}
|
||||
</script>
|
||||
<tbody>
|
||||
{% for item in data.results %}
|
||||
<tr>
|
||||
@@ -110,6 +106,8 @@
|
||||
<td class="text-end">{{"%d" % item.features}}</td>
|
||||
<td class="text-end">{{"%d" % item.classes}}</td>
|
||||
<td class="text-end">{{ '{:,.2f}'.format(item.nodes) }}</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.leaves) }}</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.depth) }}</td>
|
||||
<td class="text-end">{{"%.6f±%.4f" % (item.score, item.score_std)}}</td>
|
||||
<td class="text-center">{{ item.symbol|safe }}</td>
|
||||
<td class="text-end">{{"%.6f±%.4f" % (item.time, item.time_std)}}</td>
|
||||
|
@@ -3,44 +3,9 @@
|
||||
<div class="alert alert-primary" role="alert">
|
||||
<h3>Results for {{ dataset_name }}</h3>
|
||||
</div>
|
||||
<table id="files-table"
|
||||
class="table table-striped table-hover table-bordered bg-light"
|
||||
data-toggle="table"
|
||||
data-sticky-header="true"
|
||||
data-sticky-header-offset-y="50"
|
||||
data-sortable="true">
|
||||
<thead>
|
||||
<tr class="bg-primary text-white">
|
||||
<th class="text-center" data-field="file" data-sortable="true">File Name</th>
|
||||
<th class="text-center" data-field="samples" data-sortable="true">Samples</th>
|
||||
<th class="text-center" data-field="features" data-sortable="true">Features</th>
|
||||
<th class="text-center" data-field="classes" data-sortable="true">Classes</th>
|
||||
<th class="text-center" data-field="nodes" data-sortable="true">{{ app_config.nodes }}</th>
|
||||
<th class="text-center" data-field="leaves" data-sortable="true">{{ app_config.leaves }}</th>
|
||||
<th class="text-center" data-field="depth" data-sortable="true">{{ app_config.depth }}</th>
|
||||
<th class="text-center" data-field="score" data-sortable="true">Score</th>
|
||||
<th class="text-center" data-field="time" data-sortable="true">Time</th>
|
||||
<th class="text-center" data-field="hyperparameters" data-sortable="true">Hyperparameters</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for file_name, item in results.items() %}
|
||||
<tr>
|
||||
<td class="text-left">
|
||||
{% set url = url_for(request.endpoint, **request.view_args)|urlencode %}
|
||||
<a href="{{ url_for('results.report', file_name=file_name) }}?url={{ url }}&url_name={{ dataset_name }} report">{{ file_name }}</a>
|
||||
</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.samples) }}</td>
|
||||
<td class="text-end">{{"%d" % item.features}}</td>
|
||||
<td class="text-end">{{"%d" % item.classes}}</td>
|
||||
<td class="text-end">{{ '{:,.2f}'.format(item.nodes) }}</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.leaves) }}</td>
|
||||
<td class="text-end">{{ '{:,}'.format(item.depth) }}</td>
|
||||
<td class="text-end">{{"%.6f±%.4f" % (item.score, item.score_std)}}</td>
|
||||
<td class="text-end">{{"%.6f±%.4f" % (item.time, item.time_std)}}</td>
|
||||
<td class="text-left">{{ item.hyperparameters }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% include "_table_dataset.html" %}
|
||||
{% endblock %}
|
||||
{% block jscript %}
|
||||
{{ super() }}
|
||||
<script src="{{ url_for('static', filename="js/report.js") }}"></script>
|
||||
{% endblock %}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{% from "macros.html" import excel_button %}
|
||||
{% extends "base.html" %}
|
||||
{% extends "report_tables.html" %}
|
||||
{% block content %}
|
||||
{{ excel_button(["datasets"]) }}
|
||||
{% include "_table_datasets.html" %}
|
||||
|
@@ -44,5 +44,8 @@ body {
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
.nav-benchmark{
|
||||
color:yellow;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -15,3 +15,13 @@ $(document).ready(function () {
|
||||
$("body").removeClass('ajaxLoading');
|
||||
});
|
||||
});
|
||||
function remove_plus(a, b) {
|
||||
var aa = a.split('±')[0]
|
||||
var bb = b.split('±')[0]
|
||||
return aa - bb
|
||||
}
|
||||
function remove_dot(a, b) {
|
||||
var aa = a.replace(',', '').replace('.', '')
|
||||
var bb = b.replace(',', '').replace('.', '')
|
||||
return aa - bb
|
||||
}
|
@@ -14,7 +14,10 @@
|
||||
<div class="collapse navbar-collapse" id="navbarToggler">
|
||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||
{% if current_user.is_authenticated %}
|
||||
<li>{{ render_nav_item('main.index', "on " + current_user.benchmark.name) }}</li>
|
||||
<li class="nav-benchmark">
|
||||
<a href="{{ url_for("main.index") }}"
|
||||
class="nav-item nav-link nav-benchmark">on {{ current_user.benchmark.name }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li>{{ render_nav_item('results.select', 'Results') }}</li>
|
||||
<li>{{ render_nav_item('results.datasets', 'Datasets') }}</li>
|
||||
|
@@ -1,7 +1,5 @@
|
||||
<nav class="navbar fixed-bottom navbar-dark bg-dark navbar-custom">
|
||||
<ul class="navbar-nav mr-auto pie">
|
||||
<p class="pie">
|
||||
<small>Versión <b>1.00</b></small>
|
||||
</p>
|
||||
</ul>
|
||||
</nav>
|
||||
|
Reference in New Issue
Block a user