Skip to content

Commit 9dce53b

Browse files
author
minjk-bl
committed
ML > Data Prep options changed
1 parent bc17e8c commit 9dce53b

13 files changed

+225
-76
lines changed

data/m_ml/mlLibrary.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,9 @@ define([
128128
'prep-onehot': {
129129
name: 'OneHotEncoder',
130130
import: 'from sklearn.preprocessing import OneHotEncoder',
131-
code: 'OneHotEncoder(${handle_unknown}${etc})',
131+
code: 'OneHotEncoder(${sparse}${handle_unknown}${etc})',
132132
options: [
133+
{ name: 'sparse', component: ['bool_select'], default: 'False', usePair: true },
133134
{ name: 'handle_unknown', component: ['option_suggest'], usePair: true,
134135
options: ['error', 'ignore'], default: 'error' },
135136
]
@@ -236,6 +237,26 @@ define([
236237

237238
]
238239
},
240+
'prep-kbins-discretizer': {
241+
name: 'KBins Discretizer',
242+
import: 'from sklearn.preprocessing import KBinsDiscretizer',
243+
code: 'KBinsDiscretizer(${n_bins}${strategy}${encode}${etc})',
244+
options: [
245+
{ name: 'n_bins', component: ['input_number'], default: 5, usePair: true },
246+
{ name: 'strategy', component: ['option_select'], type: 'text', default: 'quantile', usePair: true,
247+
options: ['uniform', 'quantiile', 'kmeans'] },
248+
{ name: 'encode', component: ['option_select'], type: 'text', default: 'onehot', usePair: true,
249+
options: ['onehot', 'onehot-dense', 'ordinal'] }
250+
]
251+
},
252+
'make-column-transformer': {
253+
name: 'Make Column Transformer',
254+
import: 'from sklearn.compose import make_column_transformer',
255+
code: 'make_column_transformer(${mct_code})',
256+
options: [
257+
258+
]
259+
},
239260
/** Regression */
240261
'ln-rgs': {
241262
name: 'LinearRegression',

js/com/com_Config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,9 @@ define([
501501
/** Encoding */
502502
'OneHotEncoder', 'LabelEncoder', 'OrdinalEncoder', 'TargetEncoder', 'SMOTE',
503503
/** Scaling */
504-
'StandardScaler', 'RobustScaler', 'MinMaxScaler', 'Normalizer', 'FunctionTransformer', 'PolynomialFeatures'
504+
'StandardScaler', 'RobustScaler', 'MinMaxScaler', 'Normalizer', 'FunctionTransformer', 'PolynomialFeatures', 'KBinsDiscretizer',
505+
/** ETC */
506+
'ColumnTransformer'
505507
]
506508
};
507509

js/com/com_generatorV2.js

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,11 @@ define([
214214
let content = '';
215215
let value = state[obj.name];
216216
if (value == undefined) {
217-
value = '';
217+
if (obj.default != undefined) {
218+
value = obj.default;
219+
} else {
220+
value = '';
221+
}
218222
} else {
219223
obj.value = value;
220224
}
@@ -269,6 +273,13 @@ define([
269273
'selected':'selected'
270274
});
271275
}
276+
} else {
277+
// set default value
278+
if (value == opt.default) {
279+
$(option).attr({
280+
'selected':'selected'
281+
});
282+
}
272283
}
273284
optSlct.append(option);
274285
});
@@ -306,27 +317,19 @@ define([
306317
break;
307318
case 'option_suggest':
308319
// suggest input tag
309-
var tag = $('<input/>').attr({
310-
'type': 'text',
311-
'id': obj.name,
312-
'class': 'vp-input vp-state'
313-
});
314320
// 1. Target Variable
315321
var suggestInput = new SuggestInput();
316322
suggestInput.setComponentID(obj.name);
317323
suggestInput.addClass('vp-input vp-state');
318324
suggestInput.setSuggestList(function() { return obj.options; });
319-
suggestInput.setNormalFilter(false);
325+
suggestInput.setNormalFilter(true);
320326
suggestInput.setValue(value);
321327
suggestInput.setSelectEvent(function(selectedValue) {
322328
// trigger change
323329
$(pageThis.wrapSelector('#' + obj.name)).val(selectedValue);
324330
$(pageThis.wrapSelector('#' + obj.name)).trigger('change');
325331
});
326-
$(pageThis.wrapSelector('#' + obj.name)).replaceWith(function() {
327-
return suggestInput.toTagString();
328-
});
329-
content = tag;
332+
content = $(suggestInput.toTagString());
330333
break;
331334
case 'var_select':
332335
// suggest input tag
@@ -419,6 +422,9 @@ define([
419422
var vp_generateVarSuggestInput = function(divTag, obj) {
420423
var types = obj.var_type;
421424
var defaultValue = obj.value;
425+
if (obj.value == undefined && obj.default != undefined) {
426+
defaultValue = obj.default;
427+
}
422428

423429
if (types == undefined) {
424430
types = [];
@@ -539,7 +545,6 @@ define([
539545
value = value.substr(0, value.length-1);
540546
break;
541547
case 'input_multi':
542-
case 'input_number':
543548
case 'option_suggest':
544549
case 'bool_select':
545550
case 'var_select':
@@ -551,6 +556,7 @@ define([
551556
case 'table':
552557
case 'file':
553558
case 'option_select':
559+
case 'input_number':
554560
default:
555561
var input = $(pageThis.wrapSelector('#'+obj.name)).val();
556562
// same as default
@@ -577,7 +583,7 @@ define([
577583
val = vp_getTagValue(pageThis, v);
578584
}
579585
var id = '${' + v.name + '}';
580-
if (val == undefined || val.trim() == ''){
586+
if (val == undefined || val.trim() == '') {
581587
if (v.required == true) {
582588
// throw new Error("'" + v.label + "' is required.");
583589
}

0 commit comments

Comments
 (0)