| <!DOCTYPE html> |
| <html lang="en"> |
|
|
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Inverse Classification Dashboard</title> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"></script> |
| <link rel="stylesheet" href="src/css/style.css"> |
| </head> |
|
|
| <body> |
| <div class="container"> |
| <h1>Inverse Classification Dashboard</h1> |
|
|
| <div class="floating-controls" id="floatingControls"> |
| <div class="controls-title" id="controlsTitle">Confusion Matrix Controls</div> |
| <div class="matrix-grid"> |
| <div class="control-group"> |
| <div class="control-label">False Negatives (FN) <span class="lock-toggle" data-param="fn">🔓</span> |
| </div> |
| <input type="range" min="0" max="200" value="30" class="slider" id="fnSlider"> |
| <div class="slider-value" id="fnValue">30</div> |
| </div> |
| <div class="control-group"> |
| <div class="control-label">True Positives (TP) <span class="lock-toggle" data-param="tp">🔓</span> |
| </div> |
| <input type="range" min="0" max="200" value="70" class="slider" id="tpSlider"> |
| <div class="slider-value" id="tpValue">70</div> |
| </div> |
| <div class="control-group"> |
| <div class="control-label">True Negatives (TN) <span class="lock-toggle" data-param="tn">🔓</span> |
| </div> |
| <input type="range" min="0" max="200" value="80" class="slider" id="tnSlider"> |
| <div class="slider-value" id="tnValue">80</div> |
| </div> |
| <div class="control-group"> |
| <div class="control-label">False Positives (FP) <span class="lock-toggle" data-param="fp">🔓</span> |
| </div> |
| <input type="range" min="0" max="200" value="20" class="slider" id="fpSlider"> |
| <div class="slider-value" id="fpValue">20</div> |
| </div> |
| </div> |
| </div> |
|
|
| <div class="charts-container"> |
| <div class="chart-card"> |
| <div class="chart-title">ROC Curve & AUC</div> |
| <div class="chart-container"><canvas id="rocChart"></canvas></div> |
| </div> |
| <div class="chart-card"> |
| <div class="chart-title">Performance Metrics</div> |
| <div class="chart-container"><canvas id="metricsChart"></canvas></div> |
| </div> |
| <div class="chart-card"> |
| <div class="chart-title">Confusion Matrix</div> |
| <div class="confusion-matrix-layout"> |
| <div class="matrix-ylabel">TRUE class</div> |
| <div class="matrix-canvas-container"> |
| <canvas id="matrixChart" width="300" height="300"></canvas> |
| </div> |
| <div class="matrix-xlabel">PREDICTED class</div> |
| </div> |
| </div> |
| <div class="chart-card"> |
| <div class="chart-title">Classifier Scores Distribution</div> |
| <div class="chart-container"><canvas id="scoresChart"></canvas></div> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <footer> |
| <a href="https://github.com/berangerthomas/SchoolOfStatistics" target="_blank" |
| rel="noopener noreferrer">Project's GitHub</a> |
| </footer> |
|
|
| <script src="src/js/common.js"></script> |
| <script src="src/js/inverse_classifier.js"></script> |
| </body> |
|
|
| </html> |