StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
6.7 KiB
2 lines
6.7 KiB
4 years ago
|
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Supercluster=e()}(this,function(){"use strict";function t(o,n,r,i,s,a){if(!(s-i<=r)){var p=i+s>>1;!function t(o,n,r,i,s,a){for(;s>i;){if(s-i>600){var p=s-i+1,u=r-i+1,h=Math.log(p),f=.5*Math.exp(2*h/3),d=.5*Math.sqrt(h*f*(p-f)/p)*(u-p/2<0?-1:1),l=Math.max(i,Math.floor(r-u*f/p+d)),c=Math.min(s,Math.floor(r+(p-u)*f/p+d));t(o,n,r,l,c,a)}var m=n[2*r+a],v=i,g=s;for(e(o,n,i,r),n[2*s+a]>m&&e(o,n,i,s);v<g;){for(e(o,n,v,g),v++,g--;n[2*v+a]<m;)v++;for(;n[2*g+a]>m;)g--}n[2*i+a]===m?e(o,n,i,g):e(o,n,++g,s),g<=r&&(i=g+1),r<=g&&(s=g-1)}}(o,n,p,i,s,a%2),t(o,n,r,i,p-1,a+1),t(o,n,r,p+1,s,a+1)}}function e(t,e,n,r){o(t,n,r),o(e,2*n,2*r),o(e,2*n+1,2*r+1)}function o(t,e,o){var n=t[e];t[e]=t[o],t[o]=n}function n(t,e,o,n){var r=t-o,i=e-n;return r*r+i*i}var r=function(t){return t[0]},i=function(t){return t[1]},s=function(e,o,n,s,a){void 0===o&&(o=r),void 0===n&&(n=i),void 0===s&&(s=64),void 0===a&&(a=Float64Array),this.nodeSize=s,this.points=e;for(var p=e.length<65536?Uint16Array:Uint32Array,u=this.ids=new p(e.length),h=this.coords=new a(2*e.length),f=0;f<e.length;f++)u[f]=f,h[2*f]=o(e[f]),h[2*f+1]=n(e[f]);t(u,h,s,0,u.length-1,0)};s.prototype.range=function(t,e,o,n){return function(t,e,o,n,r,i,s){for(var a,p,u=[0,t.length-1,0],h=[];u.length;){var f=u.pop(),d=u.pop(),l=u.pop();if(d-l<=s)for(var c=l;c<=d;c++)a=e[2*c],p=e[2*c+1],a>=o&&a<=r&&p>=n&&p<=i&&h.push(t[c]);else{var m=Math.floor((l+d)/2);a=e[2*m],p=e[2*m+1],a>=o&&a<=r&&p>=n&&p<=i&&h.push(t[m]);var v=(f+1)%2;(0===f?o<=a:n<=p)&&(u.push(l),u.push(m-1),u.push(v)),(0===f?r>=a:i>=p)&&(u.push(m+1),u.push(d),u.push(v))}}return h}(this.ids,this.coords,t,e,o,n,this.nodeSize)},s.prototype.within=function(t,e,o){return function(t,e,o,r,i,s){for(var a=[0,t.length-1,0],p=[],u=i*i;a.length;){var h=a.pop(),f=a.pop(),d=a.pop();if(f-d<=s)for(var l=d;l<=f;l++)n(e[2*l],e[2*l+1],o,r)<=u&&p.push(t[l]);else{var c=Math.floor((d+f)/2),m=e[2*c],v=e[2*c+1];n(m,v,o,r)<=u&&p.push(t[c]);var g=(h+1)%2;(0===h?o-i<=m:r-i<=v)&&(a.push(d),a.push(c-1),a.push(g)),(0===h?o+i>=m:r+i>=v)&&(a.push(c+1),a.push(f),a.push(g))}}return p}(this.ids,this.coords,t,e,o,this.nodeSize)};var a={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,map:function(t){return t}},p=function(t){this.options=m(Object.create(a),t),this.trees=new Array(this.options.maxZoom+1)};function u(t,e,o,n,r){return{x:t,y:e,zoom:1/0,id:o,parentId:-1,numPoints:n,properties:r}}function h(t,e){var o=t.geometry.coordinates,n=o[0],r=o[1];return{x:l(n),y:c(r),zoom:1/0,index:e,parentId:-1}}function f(t){return{type:"Feature",id:t.id,properties:d(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,o=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(o))/Math.PI-90)]}};var e,o,n}function d(t){var e=t.numPoints,o=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return m(m({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:o})}function l(t){return t/360+.5}function c(t){var e=Math.sin(t*Math.PI/180),o=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return o<0?0:o>1?1:o}function m(t,e){for(var o in e)t[o]=e[o];return t}function v(t){return t.x}function g(t){return t.y}return p.prototype.load=function(t){var e=this.options,o=e.log,n=e.minZoom,r=e.maxZoom,i=e.nodeSize;o&&console.time("total time");var a="prepare "+t.length+" points";o&&console.time(a),this.points=t;for(var p=[],u=0;u<t.length;u++)t[u].geometry&&p.push(h(t[u],u));this.trees[r+1]=new s(p,v,g,i,Float32Array),o&&console.timeEnd(a);for(var f=r;f>=n;f--){var d=+Date.now();p=this._cluster(p,f),this.trees[f]=new s(p,v,g,i,Float32Array),o&&console.log("z%d: %d clusters in %dms",f,p.length,+Date.now()-d)}return o&&console.timeEnd("total time"),this},p.prototype.getClusters=function(t,e){var o=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),r=180===t[2]?180:((t[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)o=-180,r=180;else if(o>r){var s=this.getClusters([o,n,180,i],e)
|