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.
38 lines
933 B
38 lines
933 B
/**
|
|
* Get fn wrapped with array/object attrs recognition
|
|
*
|
|
* @return {Function} Target function
|
|
*/
|
|
'use strict';
|
|
module.exports = function(fn){
|
|
return function (a) {
|
|
var args = arguments;
|
|
if (a instanceof Array) {
|
|
var result = new Array(a.length), slice;
|
|
for (var i = 0; i < a.length; i++){
|
|
slice = [];
|
|
for (var j = 0, l = args.length, val; j < l; j++){
|
|
val = args[j] instanceof Array ? args[j][i] : args[j];
|
|
slice.push(val);
|
|
}
|
|
result[i] = fn.apply(this, slice);
|
|
}
|
|
return result;
|
|
}
|
|
else if (typeof a === 'object') {
|
|
var result = {}, slice;
|
|
for (var i in a){
|
|
slice = [];
|
|
for (var j = 0, l = args.length, val; j < l; j++){
|
|
val = typeof args[j] === 'object' ? args[j][i] : args[j];
|
|
slice.push(val);
|
|
}
|
|
result[i] = fn.apply(this, slice);
|
|
}
|
|
return result;
|
|
}
|
|
else {
|
|
return fn.apply(this, args);
|
|
}
|
|
};
|
|
};
|
|
|