parent
ff669e8f56
commit
42c8d9c4e7
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,41 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<p><font-awesome-icon icon="balance-scale"/> Optimize Selection:<b-form-slider ref="basic1" v-model="basicValue" :min="0" :max="100" trigger-change-event @slide-start="slideStart" @slide-stop="slideStop" style="padding-right: 15px;padding-left:15px"></b-form-slider>{{ basicValue }}%</p> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import bFormSlider from 'vue-bootstrap-slider/es/form-slider'; |
||||||
|
import 'bootstrap-slider/dist/css/bootstrap-slider.css' |
||||||
|
import { EventBus } from '../main.js' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'BalancePredictions', |
||||||
|
data () { |
||||||
|
return { |
||||||
|
basicValue: 0, |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
slideStart () { |
||||||
|
}, |
||||||
|
slideStop () { |
||||||
|
//var basicValues = [] |
||||||
|
//EventBus.$emit('CallFactorsView', basicValues) |
||||||
|
}, |
||||||
|
}, |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style> |
||||||
|
p { |
||||||
|
margin: 0 !important; |
||||||
|
padding: 0 !important; |
||||||
|
} |
||||||
|
.slider.slider-horizontal { |
||||||
|
width: 150px !important; |
||||||
|
} |
||||||
|
.slider-handle { |
||||||
|
background: black; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,31 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<button |
||||||
|
id="Execute" |
||||||
|
v-on:click="execute"> |
||||||
|
<font-awesome-icon icon="play" /> |
||||||
|
{{ valueExecute }} |
||||||
|
</button> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
|
||||||
|
import { EventBus } from '../main.js' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'Controller', |
||||||
|
data () { |
||||||
|
return { |
||||||
|
value: 'Add to Stack', |
||||||
|
valueExecute: 'Execute Stacking Ensemble' |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
execute () { |
||||||
|
EventBus.$emit('PCPCallDB') |
||||||
|
//EventBus.$emit('InitializeEnsembleLearningEvent') |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,53 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<div id="CircleChart"></div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { EventBus } from '../main.js' |
||||||
|
import CirclePack from 'circlepack-chart'; |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'CurrentStack', |
||||||
|
data () { |
||||||
|
return { |
||||||
|
|
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
stack () { |
||||||
|
console.log('mpike') |
||||||
|
const CHILDREN_PROB_DECAY = 1; // per level |
||||||
|
const MAX_CHILDREN = 1000; |
||||||
|
const MAX_VALUE = 100; |
||||||
|
function genNode(name='root', probOfChildren=1) { |
||||||
|
if (Math.random() < probOfChildren) { |
||||||
|
return { |
||||||
|
name, |
||||||
|
children: [...Array(Math.round(Math.random() * MAX_CHILDREN))] |
||||||
|
.map((_, i) => genNode(i, probOfChildren - CHILDREN_PROB_DECAY)) |
||||||
|
} |
||||||
|
} else { |
||||||
|
return { |
||||||
|
name, |
||||||
|
value: Math.round(Math.random() * MAX_VALUE) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
const color = d3.scaleOrdinal(d3.schemePaired); |
||||||
|
CirclePack() |
||||||
|
.data(genNode()) |
||||||
|
.sort((a, b) => a.value - b.value) // sort ascending by size |
||||||
|
.color(d => color(d.name)) |
||||||
|
.showLabels(false) |
||||||
|
.excludeRoot(true) |
||||||
|
.tooltipContent((d, node) => `Size: <i>${node.value}</i>`) |
||||||
|
(document.getElementById('CircleChart')); |
||||||
|
}, |
||||||
|
mount () { |
||||||
|
this.stack() |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,127 @@ |
|||||||
|
<template> |
||||||
|
<div id="PerMetricBar" class="PerMetricBar"></div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import * as Plotly from 'plotly.js' |
||||||
|
import { EventBus } from '../main.js' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'PerMetricsBarChart', |
||||||
|
data () { |
||||||
|
return { |
||||||
|
barchartmetrics: '', |
||||||
|
representationDefault: 'bar' |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
LineBar () { |
||||||
|
var metricsPerModel = JSON.parse(this.barchartmetrics[9]) |
||||||
|
var vh = 80 |
||||||
|
|
||||||
|
if (this.representationDefault === 'bar'){ |
||||||
|
var type = 'bar'; |
||||||
|
} else if (this.representationDefault === 'line'){ |
||||||
|
var type = 'line'; |
||||||
|
} else { |
||||||
|
var type = 'difference'; |
||||||
|
} |
||||||
|
var difference = []; |
||||||
|
for (var i=0; i<metricsPerModel.length; i++){ |
||||||
|
difference.push(metricsPerModel[i] - metricsPerModel[i]); |
||||||
|
} |
||||||
|
|
||||||
|
if (type == 'difference'){ |
||||||
|
var trace = { |
||||||
|
x: kValuesLegend, |
||||||
|
y: difference, |
||||||
|
name: 'Delta(preservation)', |
||||||
|
showlegend: true, |
||||||
|
type: 'line', |
||||||
|
marker: { |
||||||
|
color: 'rgb(128,128,0)' |
||||||
|
} |
||||||
|
}; |
||||||
|
var LimitXaxis = Number(maxKNN) + 1; |
||||||
|
var data = [trace]; |
||||||
|
var layout = { |
||||||
|
barmode: 'group',autosize: false, |
||||||
|
width: 400, |
||||||
|
height: vh * 1.3, |
||||||
|
margin: { |
||||||
|
l: 50, |
||||||
|
r: 30, |
||||||
|
b: 30, |
||||||
|
t: 5, |
||||||
|
pad: 4 |
||||||
|
}, |
||||||
|
xaxis: {range: [0, LimitXaxis], |
||||||
|
title: 'Number of neighbors', |
||||||
|
titlefont: { |
||||||
|
size: 12, |
||||||
|
color: 'black' |
||||||
|
}}, |
||||||
|
yaxis: { |
||||||
|
title: '+/- Pres.', |
||||||
|
titlefont: { |
||||||
|
size: 12, |
||||||
|
color: 'black' |
||||||
|
}}}; |
||||||
|
|
||||||
|
Plotly.newPlot('PerMetricBar', data, layout, {displayModeBar:false}, {staticPlot: true}); |
||||||
|
} else{ |
||||||
|
var trace1 = { |
||||||
|
x: ['Acc','F1s','Pre','Rec','Jac'], |
||||||
|
y: metricsPerModel, |
||||||
|
name: 'Projection average', |
||||||
|
type: type, |
||||||
|
marker: { |
||||||
|
color: 'rgb(0,0,0)' |
||||||
|
} |
||||||
|
}; |
||||||
|
var trace2 = { |
||||||
|
x: ['Acc','F1s','Pre','Rec','Jac'], |
||||||
|
y: metricsPerModel, |
||||||
|
name: 'Selected points', |
||||||
|
type: type, |
||||||
|
marker: { |
||||||
|
color: 'rgb(0, 187, 187)' |
||||||
|
} |
||||||
|
}; |
||||||
|
var data = [trace1, trace2]; |
||||||
|
var layout = { |
||||||
|
barmode: 'group',autosize: false, |
||||||
|
width: 400, |
||||||
|
height: vh * 1.3, |
||||||
|
margin: { |
||||||
|
l: 50, |
||||||
|
r: 30, |
||||||
|
b: 30, |
||||||
|
t: 5, |
||||||
|
pad: 4 |
||||||
|
}, |
||||||
|
xaxis: { |
||||||
|
title: 'Performance Metrics', |
||||||
|
titlefont: { |
||||||
|
size: 12, |
||||||
|
color: 'black' |
||||||
|
}}, |
||||||
|
yaxis: { |
||||||
|
title: 'Performance', |
||||||
|
titlefont: { |
||||||
|
size: 12, |
||||||
|
color: 'black' |
||||||
|
}}}; |
||||||
|
|
||||||
|
Plotly.newPlot('PerMetricBar', data, layout, {displayModeBar:false}, {staticPlot: true}); |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
mounted () { |
||||||
|
EventBus.$on('InitializeMetricsBarChart', data => {this.barchartmetrics = data;}) |
||||||
|
EventBus.$on('InitializeMetricsBarChart', this.LineBar) |
||||||
|
EventBus.$on('RepresentationSelection', this.LineBar) |
||||||
|
EventBus.$on('RepresentationSelection', data => {this.representationDefault = data}) |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,40 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<div class="squares-container"> |
||||||
|
<canvas id="main-canvas"></canvas> |
||||||
|
<svg id="main-svg"></svg> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { EventBus } from '../main.js' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'Provenance', |
||||||
|
data () { |
||||||
|
return { |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
provenance () { |
||||||
|
var container = d3.select(".squares-container"); |
||||||
|
var vis = new SquaresVisualization(container.node()); |
||||||
|
loadData("mnist.csv", DATA => { |
||||||
|
vis.layout(); |
||||||
|
vis.setInstances(DATA.slice(0, 4000)); |
||||||
|
vis.setLayoutParameter({ |
||||||
|
y0: 10, |
||||||
|
numberBins: 10, |
||||||
|
squaresPerBin: 11, |
||||||
|
squareSize: 3, |
||||||
|
squareSpacing: 4, |
||||||
|
xSpacing: 88 |
||||||
|
}); |
||||||
|
}); |
||||||
|
} |
||||||
|
}, |
||||||
|
mount () { |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
Loading…
Reference in new issue