Commit
·
a50b139
1
Parent(s):
9e66e53
Live update while moving cursors and cursor order update
Browse files- inverse_classifier.html +13 -13
- src/js/inverse_classifier.js +6 -4
inverse_classifier.html
CHANGED
|
@@ -16,18 +16,6 @@
|
|
| 16 |
<div class="floating-controls" id="floatingControls">
|
| 17 |
<div class="controls-title" id="controlsTitle">🎛️ Result Controls</div>
|
| 18 |
<div class="matrix-grid">
|
| 19 |
-
<div class="control-group">
|
| 20 |
-
<div class="control-label">True Negatives (TN) <span class="lock-toggle" data-param="tn">🔓</span>
|
| 21 |
-
</div>
|
| 22 |
-
<input type="range" min="0" max="200" value="80" class="slider" id="tnSlider">
|
| 23 |
-
<div class="slider-value" id="tnValue">80</div>
|
| 24 |
-
</div>
|
| 25 |
-
<div class="control-group">
|
| 26 |
-
<div class="control-label">False Positives (FP) <span class="lock-toggle" data-param="fp">🔓</span>
|
| 27 |
-
</div>
|
| 28 |
-
<input type="range" min="0" max="200" value="20" class="slider" id="fpSlider">
|
| 29 |
-
<div class="slider-value" id="fpValue">20</div>
|
| 30 |
-
</div>
|
| 31 |
<div class="control-group">
|
| 32 |
<div class="control-label">False Negatives (FN) <span class="lock-toggle" data-param="fn">🔓</span>
|
| 33 |
</div>
|
|
@@ -40,6 +28,18 @@
|
|
| 40 |
<input type="range" min="0" max="200" value="70" class="slider" id="tpSlider">
|
| 41 |
<div class="slider-value" id="tpValue">70</div>
|
| 42 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
</div>
|
| 44 |
</div>
|
| 45 |
|
|
@@ -78,4 +78,4 @@
|
|
| 78 |
<script src="src/js/inverse_classifier.js"></script>
|
| 79 |
</body>
|
| 80 |
|
| 81 |
-
</html>
|
|
|
|
| 16 |
<div class="floating-controls" id="floatingControls">
|
| 17 |
<div class="controls-title" id="controlsTitle">🎛️ Result Controls</div>
|
| 18 |
<div class="matrix-grid">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
<div class="control-group">
|
| 20 |
<div class="control-label">False Negatives (FN) <span class="lock-toggle" data-param="fn">🔓</span>
|
| 21 |
</div>
|
|
|
|
| 28 |
<input type="range" min="0" max="200" value="70" class="slider" id="tpSlider">
|
| 29 |
<div class="slider-value" id="tpValue">70</div>
|
| 30 |
</div>
|
| 31 |
+
<div class="control-group">
|
| 32 |
+
<div class="control-label">True Negatives (TN) <span class="lock-toggle" data-param="tn">🔓</span>
|
| 33 |
+
</div>
|
| 34 |
+
<input type="range" min="0" max="200" value="80" class="slider" id="tnSlider">
|
| 35 |
+
<div class="slider-value" id="tnValue">80</div>
|
| 36 |
+
</div>
|
| 37 |
+
<div class="control-group">
|
| 38 |
+
<div class="control-label">False Positives (FP) <span class="lock-toggle" data-param="fp">🔓</span>
|
| 39 |
+
</div>
|
| 40 |
+
<input type="range" min="0" max="200" value="20" class="slider" id="fpSlider">
|
| 41 |
+
<div class="slider-value" id="fpValue">20</div>
|
| 42 |
+
</div>
|
| 43 |
</div>
|
| 44 |
</div>
|
| 45 |
|
|
|
|
| 78 |
<script src="src/js/inverse_classifier.js"></script>
|
| 79 |
</body>
|
| 80 |
|
| 81 |
+
</html>
|
src/js/inverse_classifier.js
CHANGED
|
@@ -33,8 +33,8 @@ const metricExplanations = {
|
|
| 33 |
}
|
| 34 |
};
|
| 35 |
let lockState = { tp: false, fp: false, tn: false, fn: false };
|
| 36 |
-
let currentState = { tp:
|
| 37 |
-
const TOTAL_SAMPLES =
|
| 38 |
|
| 39 |
// --- SIMULATION & CALCULATIONS ---
|
| 40 |
function randomGaussian(mean = 0, stdDev = 1) {
|
|
@@ -271,8 +271,10 @@ window.addEventListener('load', function () {
|
|
| 271 |
initCharts();
|
| 272 |
Object.keys(currentState).forEach(param => {
|
| 273 |
const slider = document.getElementById(`${param}Slider`);
|
| 274 |
-
slider.addEventListener('input', () =>
|
| 275 |
-
|
|
|
|
|
|
|
| 276 |
});
|
| 277 |
document.querySelectorAll('.lock-toggle').forEach(lock => {
|
| 278 |
lock.addEventListener('click', function () {
|
|
|
|
| 33 |
}
|
| 34 |
};
|
| 35 |
let lockState = { tp: false, fp: false, tn: false, fn: false };
|
| 36 |
+
let currentState = { tp: 40, fp: 10, tn: 45, fn: 5 };
|
| 37 |
+
const TOTAL_SAMPLES = 100;
|
| 38 |
|
| 39 |
// --- SIMULATION & CALCULATIONS ---
|
| 40 |
function randomGaussian(mean = 0, stdDev = 1) {
|
|
|
|
| 271 |
initCharts();
|
| 272 |
Object.keys(currentState).forEach(param => {
|
| 273 |
const slider = document.getElementById(`${param}Slider`);
|
| 274 |
+
slider.addEventListener('input', () => {
|
| 275 |
+
document.getElementById(`${param}Value`).textContent = slider.value;
|
| 276 |
+
adjustValues(param, parseInt(slider.value));
|
| 277 |
+
});
|
| 278 |
});
|
| 279 |
document.querySelectorAll('.lock-toggle').forEach(lock => {
|
| 280 |
lock.addEventListener('click', function () {
|