diff --git a/css/boardFrame.css b/css/boardFrame.css index 57bf5ab6..1614a371 100644 --- a/css/boardFrame.css +++ b/css/boardFrame.css @@ -238,11 +238,11 @@ background-color: rgb(253, 177, 133); } .vp-block.machine_learning .vp-block-header { - background-color: rgb(249, 227, 214); + background-color: #E8ECD0; } .vp-block.machine_learning.vp-focus .vp-block-header, .vp-block.machine_learning.vp-focus-child .vp-block-header { - background-color: rgb(253, 177, 133); + background-color: #C6CE94; } .vp-block.logic-define .vp-block-header { background-color: rgb(213, 231, 222); diff --git a/css/component/instanceEditor.css b/css/component/instanceEditor.css index 922872b3..4f321f65 100644 --- a/css/component/instanceEditor.css +++ b/css/component/instanceEditor.css @@ -17,8 +17,8 @@ .vp-ins-select-container .vp-ins-search-icon { position: absolute; color: #C4C4C4; - right: 5px; - top: 5px; + right: 7px; + top: 7px; } .vp-ins-select-box { margin-top: 5px; @@ -74,6 +74,10 @@ .vp-ins-parameter-box { grid-column: 1/3; } +.vp-ins-parameter-box:empty::after { + content: '(Empty)'; + color: var(--gray-color); +} .vp-ins-parameter { width: 100% !important; } diff --git a/css/menuFrame.css b/css/menuFrame.css index 68303d1e..2e3bec6f 100644 --- a/css/menuFrame.css +++ b/css/menuFrame.css @@ -229,6 +229,15 @@ .vp-menuitem.apps.vp-color-apps4 { background: #E56139; } +.vp-menuitem.apps.vp-color-apps5 { + background: #BEB727; +} +.vp-menuitem.apps.vp-color-apps6 { + background: #91A541; +} +.vp-menuitem.apps.vp-color-apps7 { + background: #718E41; +} .vp-menuitem.apps.vp-color-preparing { background: var(--gray-color); } diff --git a/data/libraries.json b/data/libraries.json index d2e0cad9..c04ad2a8 100644 --- a/data/libraries.json +++ b/data/libraries.json @@ -3111,8 +3111,8 @@ "desc" : "Data sets for machine learning", "file" : "m_ml/DataSets", "apps" : { - "color": 1, - "icon": "apps/apps_white.svg" + "color": 5, + "icon": "apps/apps_dataset.svg" } }, { @@ -3125,8 +3125,8 @@ "desc" : "Data preparation for machine learning", "file" : "m_ml/DataPrep", "apps" : { - "color": 1, - "icon": "apps/apps_white.svg" + "color": 5, + "icon": "apps/apps_dataprep.svg" } }, { @@ -3139,7 +3139,7 @@ "desc" : "Data split for machine learning", "file" : "m_ml/dataSplit", "apps" : { - "color": 1, + "color": 5, "icon": "apps/apps_datasplit.svg" } }, @@ -3147,28 +3147,28 @@ "id" : "ml_regression", "type" : "function", "level": 1, - "name" : "Regression", + "name" : "Regressor", "tag" : "REGRESSION,MODEL,MACHINE LEARNING,ML", "path" : "visualpython - machine_learning - regression", "desc" : "Regression model for machine learning", "file" : "m_ml/Regression", "apps" : { - "color": 1, - "icon": "apps/apps_model.svg" + "color": 5, + "icon": "apps/apps_regression.svg" } }, { "id" : "ml_classification", "type" : "function", "level": 1, - "name" : "Classification", + "name" : "Classifier", "tag" : "CLASSIFICATION,MODEL,MACHINE LEARNING,ML", "path" : "visualpython - machine_learning - classification", "desc" : "Classification model for machine learning", "file" : "m_ml/Classification", "apps" : { - "color": 1, - "icon": "apps/apps_model.svg" + "color": 6, + "icon": "apps/apps_classification.svg" } }, { @@ -3181,22 +3181,22 @@ "desc" : "Clustering model for machine learning", "file" : "m_ml/Clustering", "apps" : { - "color": 1, - "icon": "apps/apps_model.svg" + "color": 6, + "icon": "apps/apps_clustering.svg" } }, { "id" : "ml_dimensionReduction", "type" : "function", "level": 1, - "name" : "Dimension Reduction", + "name" : "Dimension", "tag" : "DIMENSION REDUCTION,MODEL,MACHINE LEARNING,ML", "path" : "visualpython - machine_learning - dimension_reduction", "desc" : "Dimension reduction model for machine learning", "file" : "m_ml/DimensionReduction", "apps" : { - "color": 1, - "icon": "apps/apps_model.svg" + "color": 6, + "icon": "apps/apps_dimension.svg" } }, { @@ -3209,8 +3209,8 @@ "desc" : "AutoML model for machine learning", "file" : "m_ml/AutoML", "apps" : { - "color": 1, - "icon": "apps/apps_model.svg" + "color": 6, + "icon": "apps/apps_automl.svg" } }, { @@ -3223,7 +3223,7 @@ "desc" : "Performance evaluation for machine learning", "file" : "m_ml/evaluation", "apps" : { - "color": 1, + "color": 7, "icon": "apps/apps_evaluate.svg" } } diff --git a/data/m_ml/mlLibrary.js b/data/m_ml/mlLibrary.js index 6119e80a..df44f019 100644 --- a/data/m_ml/mlLibrary.js +++ b/data/m_ml/mlLibrary.js @@ -20,13 +20,118 @@ define([ * ] */ var ML_LIBRARIES = { + /** Data Sets */ + 'load_boston': { + name: 'load_boston', + import: 'from sklearn.datasets import load_boston', + code: 'load_boston()', + options: [ + + ] + }, + 'load_iris': { + name: 'load_iris', + import: 'from sklearn.datasets import load_iris', + code: 'load_iris()', + options: [ + + ] + }, + 'load_diabetes': { + name: 'load_diabetes', + import: 'from sklearn.datasets import load_diabetes', + code: 'load_diabetes()', + options: [ + + ] + }, + 'load_digits': { + name: 'load_digits', + import: 'from sklearn.datasets import load_digits', + code: 'load_digits(${n_class})', + options: [ + { name: 'n_class', component: ['input_number'], default: 10, usePair: true }, + ] + }, + 'load_linnerud': { + name: 'load_linnerud', + import: 'from sklearn.datasets import load_linnerud', + code: 'load_linnerud()', + options: [ + + ] + }, + 'load_wine': { + name: 'load_wine', + import: 'from sklearn.datasets import load_wine', + code: 'load_wine()', + options: [ + + ] + }, + 'load_breast_cancer': { + name: 'load_breast_cancer', + import: 'from sklearn.datasets import load_breast_cancer', + code: 'load_breast_cancer()', + options: [ + + ] + }, + 'make_classification': { + name: 'make_classification', + import: 'from sklearn.datasets import make_classification', + code: 'make_classification(${n_samples}${n_features}${n_repeated}${n_classes}${shuffle}${random_state}${etc})', + options: [ + { name: 'n_samples', component: ['input_number'], default: 100, usePair: true }, + { name: 'n_features', component: ['input_number'], default: 20, usePair: true }, + { name: 'n_repeated', component: ['input_number'], default: 0, usePair: true }, + { name: 'n_classes', component: ['input_number'], default: 2, usePair: true }, + { name: 'shuffle', component: ['bool_select'], default: 'True', usePair: true }, + { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } + ] + }, + 'make_blobs': { + name: 'make_blobs', + import: 'from sklearn.datasets import make_blobs', + code: 'make_blobs(${n_samples}${n_features}${shuffle}${random_state}${etc})', + options: [ + { name: 'n_samples', component: ['input_number'], default: 100, usePair: true }, + { name: 'n_features', component: ['input_number'], default: 20, usePair: true }, + { name: 'shuffle', component: ['bool_select'], default: 'True', usePair: true }, + { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } + ] + }, + 'make_circles': { + name: 'make_circles', + import: 'from sklearn.datasets import make_circles', + code: 'make_circles(${n_samples}${shuffle}${noise}${random_state}${factor}${etc})', + options: [ + { name: 'n_samples', component: ['input_number'], default: 100, usePair: true }, + { name: 'shuffle', component: ['bool_select'], default: 'True', usePair: true }, + { name: 'noise', component: ['input_number'], usePair: true }, + { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true }, + { name: 'factor', component: ['input_number'], default: 0.8, usePair: true } + ] + }, + 'make_moons': { + name: 'make_moons', + import: 'from sklearn.datasets import make_moons', + code: 'make_moons(${n_samples}${shuffle}${noise}${random_state}${etc})', + options: [ + { name: 'n_samples', component: ['input_number'], default: 100, usePair: true }, + { name: 'shuffle', component: ['bool_select'], default: 'True', usePair: true }, + { name: 'noise', component: ['input_number'], usePair: true }, + { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } + ] + }, /** Data Preparation - Encoding */ 'prep-onehot': { name: 'OneHotEncoder', import: 'from sklearn.preprocessing import OneHotEncoder', - code: 'OneHotEncoder()', + code: 'OneHotEncoder(${handle_unknown}${etc})', options: [ - + { name: 'handle_unknown', component: ['option_suggest'], usePair: true, + options: ['error', 'ignore'], default: 'error' }, ] }, 'prep-label': { @@ -40,66 +145,77 @@ define([ 'prep-ordinal': { name: 'OrdinalEncoder', import: 'from sklearn.preprocessing import OrdinalEncoder', - code: 'OrdinalEncoder()', + code: 'OrdinalEncoder(${handle_unknown}${unknown_values}${etc})', options: [ - + { name: 'handle_unknown', component: ['option_suggest'], usePair: true, + options: ['error', 'use_encoded_value'], default: 'error' }, + { name: 'unknown_values', component: ['input'], usePair: true } ] }, 'prep-target': { name: 'TargetEncoder', install: '!pip install category_encoders', import: 'from category_encoders.target_encoder import TargetEncoder', - code: 'TargetEncoder()', + code: 'TargetEncoder(${cols}${handle_missing}${handle_unknown}${smoothing}${etc})', options: [ - + { name: 'cols', component: ['var_suggest', '1darr'], usePair: true }, + { name: 'handle_missing', component: ['option_suggest'], usePair: true, + options: ['error', 'return_nan', 'value'], default: 'value' }, + { name: 'handle_unknown', component: ['option_suggest'], usePair: true, + options: ['error', 'return_nan', 'value'], default: 'value' }, + { name: 'smoothing', component: ['input_number'], default: 1.0, usePair: true } ] }, 'prep-smote': { name: 'SMOTE', install: '!pip install imblearn', - import: 'from imlearn.over_sampling import SMOTE', - code: 'SMOTE()', + import: 'from imblearn.over_sampling import SMOTE', + code: 'SMOTE(${random_state}${k_neighbors}${etc})', options: [ - + { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true }, + { name: 'k_neighbors', component: ['input_number'], default: 5, usePair: true } ] }, /** Data Preparation - Scaling */ 'prep-standard': { name: 'StandardScaler', import: 'from sklearn.preprocessing import StandardScaler', - code: 'StandardScaler()', + code: 'StandardScaler(${with_mean}${with_std}${etc})', options: [ - + { name: 'with_mean', component: ['bool_select'], default: 'True', usePair: true }, + { name: 'with_std', component: ['bool_select'], default: 'True', usePair: true } ] }, 'prep-robust': { name: 'RobustScaler', import: 'from sklearn.preprocessing import RobustScaler', - code: 'RobustScaler()', + code: 'RobustScaler(${with_centering}${with_scaling}${etc})', options: [ - + { name: 'with_centering', component: ['bool_select'], default: 'True', usePair: true }, + { name: 'with_scaling', component: ['bool_select'], default: 'True', usePair: true } ] }, 'prep-minmax': { name: 'MinMaxScaler', import: 'from sklearn.preprocessing import MinMaxScaler', - code: 'MinMaxScaler()', + code: 'MinMaxScaler(${feature_range}${etc})', options: [ - + { name: 'feature_range', component: ['input'], placeholder: '(min, max)', default: '(0, 1)', usePair: true } ] }, 'prep-normalizer': { name: 'Normalizer', import: 'from sklearn.preprocessing import Normalizer', - code: 'Normalizer()', + code: 'Normalizer(${norm}${etc})', options: [ - + { name: 'norm', component: ['option_suggest'], usePair: true, + options: ['l1', 'l2', 'max'], default: 'l2' }, ] }, 'prep-func-trsfrm-log': { name: 'Log Scaling', import: 'from sklearn.preprocessing import FunctionTransformer', - code: 'FunctionTransformer(np.log1p)', + code: 'FunctionTransformer(np.log1p${etc})', options: [ ] @@ -107,7 +223,15 @@ define([ 'prep-func-trsfrm-exp': { name: 'Exponential Scaling', import: 'from sklearn.preprocessing import FunctionTransformer', - code: 'FunctionTransformer(np.expm1)', + code: 'FunctionTransformer(np.expm1${etc})', + options: [ + + ] + }, + 'prep-poly-feat': { + name: 'Polynomial Features', + import: 'from sklearn.preprocessing import PolynomialFeatures', + code: 'PolynomialFeatures(${etc})', options: [ ] @@ -116,18 +240,42 @@ define([ 'ln-rgs': { name: 'LinearRegression', import: 'from sklearn.linear_model import LinearRegression', - code: 'LinearRegression(${fit_intercept})', + code: 'LinearRegression(${fit_intercept}${etc})', options: [ { name: 'fit_intercept', component: ['bool_select'], default: 'True', usePair: true } ] }, + 'ridge': { + name: 'Ridge', + import: 'from sklearn.linear_model import Ridge', + code: 'Ridge(${etc})', + options: [ + //TODO: + ] + }, + 'lasso': { + name: 'Lasso', + import: 'from sklearn.linear_model import Lasso', + code: 'Lasso(${etc})', + options: [ + //TODO: + ] + }, + 'elasticnet': { + name: 'ElasticNet', + import: 'from sklearn.linear_model import ElasticNet', + code: 'ElasticNet(${etc})', + options: [ + //TODO: + ] + }, 'sv-rgs': { name: 'SVR', import: 'from sklearn.svm import SVR', code: 'SVR(${C}${kernel}${gamma}${random_state}${etc})', options: [ { name: 'C', component: ['input_number'], placeholder: '1.0', usePair: true }, - { name: 'kernel', component: ['option_select'], default: 'rbf', type:'text', usePair: true, + { name: 'kernel', component: ['option_select'], type: 'text', default: 'rbf', type:'text', usePair: true, options: ['linear', 'poly', 'rbf', 'sigmoid', 'precomputed'] }, { name: 'gamma', component: ['option_suggest'], default: 'scale', type:'text', usePair: true, options: ['scale', 'auto'] }, @@ -139,7 +287,7 @@ define([ import: 'from sklearn.tree import DecisionTreeRegressor', code: 'DecisionTreeRegressor(${criterion}${max_depth}${min_samples_split}${random_state}${etc})', options: [ - { name: 'criterion', component: ['option_select'], default: 'squared_error', type:'text', + { name: 'criterion', component: ['option_select'], type: 'text', default: 'squared_error', type:'text', options: ['squared_error', 'friedman_mse', 'absolute_error', 'poisson'] }, { name: 'max_depth', component: ['input_number'], placeholder: 'None', usePair: true }, { name: 'min_samples_split', component: ['input_number'], default: 2, usePair: true }, @@ -152,7 +300,7 @@ define([ code: 'RandomForestRegressor(${n_estimators}${criterion}${max_depth}${min_samples_split}${n_jobs}${random_state}${etc})', options: [ { name: 'n_estimators', component: ['input_number'], default: 100, usePair: true }, - { name: 'criterion', component: ['option_select'], default: 'squared_error', type:'text', usePair: true, + { name: 'criterion', component: ['option_select'], type: 'text', default: 'squared_error', type:'text', usePair: true, options: ['squared_error', 'absolute_error', 'poisson'] }, { name: 'max_depth', component: ['input_number'], placeholder: 'None', usePair: true }, { name: 'min_samples_split', component: ['input_number'], default: 2, usePair: true }, @@ -165,11 +313,11 @@ define([ import: 'from sklearn.ensemble import GradientBoostingRegressor', code: 'GradientBoostingRegressor(${loss}${learning_rate}${n_estimators}${criterion}${random_state}${etc})', options: [ - { name: 'loss', component: ['option_select'], default: 'squared_error', type:'text', usePair: true, + { name: 'loss', component: ['option_select'], type: 'text', default: 'squared_error', type:'text', usePair: true, options: ['squared_error', 'absolute_error', 'huber', 'quantile'] }, { name: 'learning_rate', component: ['input_number'], default: 0.1, usePair: true }, { name: 'n_estimators', component: ['input_number'], default: 100, usePair: true }, - { name: 'criterion', component: ['option_select'], default: 'friedman_mse', type:'text', usePair: true, + { name: 'criterion', component: ['option_select'], type: 'text', default: 'friedman_mse', type:'text', usePair: true, options: ['friedman_mse', 'squared_error', 'mse', 'mae'] }, { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } ] @@ -193,7 +341,7 @@ define([ import: 'from lightgbm import LGBMRegressor', code: 'LGBMRegressor(${boosting_type}${max_depth}${learning_rate}${n_estimators}${random_state}${etc})', options: [ - { name: 'boosting_type', component: ['option_select'], default: 'gbdt', type: 'text', usePair: true, + { name: 'boosting_type', component: ['option_select'], type: 'text', default: 'gbdt', type: 'text', usePair: true, options: ['gbdt', 'dart', 'goss', 'rf']}, { name: 'max_depth', component: ['input_number'], placeholder: '-1', usePair: true }, { name: 'learning_rate', component: ['input_number'], default: 0.1, usePair: true }, @@ -208,9 +356,9 @@ define([ code: 'CatBoostRegressor(${learning_rate}${loss_function}${task_type}${max_depth}${n_estimators}${random_state}${etc})', options: [ { name: 'learning_rate', component: ['input_number'], placeholder: 'None', usePair: true }, - { name: 'loss_function', component: ['option_select'], default: 'RMSE', type:'text', usePair: true, + { name: 'loss_function', component: ['option_select'], type: 'text', default: 'RMSE', type:'text', usePair: true, options: ['RMSE', 'absolute_error', 'huber', 'quantile'] }, - { name: 'task_type', component: ['option_select'], default: 'CPU', usePair: true, + { name: 'task_type', component: ['option_select'], type: 'text', default: 'CPU', usePair: true, options: ['CPU', 'GPU'] }, { name: 'max_depth', component: ['input_number'], placeholder: 'None', usePair: true }, { name: 'n_estimators', component: ['input_number'], placeholder: 'None', usePair: true }, @@ -223,18 +371,42 @@ define([ import: 'from sklearn.linear_model import LogisticRegression', code: 'LogisticRegression(${penalty}${C}${random_state}${etc})', options: [ - { name: 'penalty', component: ['option_select'], default: 'l2', usePair: true, options: ['l1', 'l2', 'elasticnet', 'none']}, + { name: 'penalty', component: ['option_select'], type: 'text', default: 'l2', usePair: true, options: ['l1', 'l2', 'elasticnet', 'none']}, { name: 'C', component: ['input_number'], placeholder: '1.0', usePair: true }, { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } ] }, + 'bern-nb': { + name: 'BernoulliNB', + import: 'from sklearn.naive_bayes import BernoulliNB', + code: 'BernoulliNB(${etc})', + options: [ + //TODO: + ] + }, + 'mulnom-nb': { + name: 'MultinomialNB', + import: 'from sklearn.naive_bayes import MultinomialNB', + code: 'MultinomialNB(${etc})', + options: [ + //TODO: + ] + }, + 'gaus-nb': { + name: 'GaussianNB', + import: 'from sklearn.naive_bayes import GaussianNB', + code: 'GaussianNB(${etc})', + options: [ + //TODO: + ] + }, 'sv-clf': { name: 'SupportVectorClassifier', import: 'from sklearn.svm import SVC', code: 'SVC(${C}${kernel}${gamma}${random_state}${etc})', options: [ { name: 'C', component: ['input_number'], placeholder: '1.0', usePair: true }, - { name: 'kernel', component: ['option_select'], usePair: true, + { name: 'kernel', component: ['option_select'], type: 'text', usePair: true, options: ['linear', 'poly', 'rbf', 'sigmoid', 'precomputed'], default: 'rbf' }, { name: 'gamma', component: ['option_suggest'], usePair: true, options: ['scale', 'auto'], default: 'scale' }, @@ -246,7 +418,7 @@ define([ import: 'from sklearn.tree import DecisionTreeClassifier', code: 'DecisionTreeClassifier(${criterion}${max_depth}${min_samples_split}${random_state}${etc})', options: [ - { name: 'criterion', component: ['option_select'], default: 'squared_error', type:'text', + { name: 'criterion', component: ['option_select'], type: 'text', default: 'squared_error', type:'text', options: ['squared_error', 'friedman_mse', 'absolute_error', 'poisson'], usePair: true }, { name: 'max_depth', component: ['input_number'], placeholder: 'None', usePair: true }, { name: 'min_samples_split', component: ['input_number'], default: 2, usePair: true }, @@ -259,7 +431,7 @@ define([ code: 'RandomForestClassifier(${n_estimators}${criterion}${max_depth}${min_samples_split}${n_jobs}${random_state}${etc})', options: [ { name: 'n_estimators', component: ['input_number'], default: 100, usePair: true }, - { name: 'criterion', component: ['option_select'], default: 'gini', type:'text', usePair: true, + { name: 'criterion', component: ['option_select'], type: 'text', default: 'gini', type:'text', usePair: true, options: ['gini', 'entropy'] }, { name: 'max_depth', component: ['input_number'], placeholder: 'None', usePair: true }, { name: 'min_samples_split', component: ['input_number'], default: 2, usePair: true }, @@ -272,11 +444,11 @@ define([ import: 'from sklearn.ensemble import GradientBoostingClassifier', code: 'GradientBoostingClassifier(${loss}${learning_rate}${n_estimators}${criterion}${random_state}${etc})', options: [ - { name: 'loss', component: ['option_select'], default: 'deviance', type: 'text', usePair: true, + { name: 'loss', component: ['option_select'], type: 'text', default: 'deviance', type: 'text', usePair: true, options: ['deviance', 'exponential'] }, { name: 'learning_rate', component: ['input_number'], default: 0.1, usePair: true }, { name: 'n_estimators', component: ['input_number'], default: 100, usePair: true }, - { name: 'criterion', component: ['option_select'], default: 'friedman_mse', type:'text', usePair: true, + { name: 'criterion', component: ['option_select'], type: 'text', default: 'friedman_mse', type:'text', usePair: true, options: ['friedman_mse', 'squared_error', 'mse', 'mae'] }, { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } ] @@ -300,7 +472,7 @@ define([ import: 'from lightgbm import LGBMClassifier', code: 'LGBMClassifier(${boosting_type}${max_depth}${learning_rate}${n_estimators}${random_state}${etc})', options: [ - { name: 'boosting_type', component: ['option_select'], default: 'gbdt', type: 'text', usePair: true, + { name: 'boosting_type', component: ['option_select'], type: 'text', default: 'gbdt', type: 'text', usePair: true, options: ['gbdt', 'dart', 'goss', 'rf']}, { name: 'max_depth', component: ['input_number'], placeholder: '-1', usePair: true }, { name: 'learning_rate', component: ['input_number'], default: 0.1, usePair: true }, @@ -315,9 +487,9 @@ define([ code: 'CatBoostClassifier(${learning_rate}${loss_function}${task_type}${max_depth}${n_estimators}${random_state}${etc})', options: [ { name: 'learning_rate', component: ['input_number'], placeholder: 'None', usePair: true }, - { name: 'loss_function', component: ['option_select'], default: 'RMSE', type:'text', usePair: true, + { name: 'loss_function', component: ['option_select'], type: 'text', default: 'RMSE', type:'text', usePair: true, options: ['RMSE', 'absolute_error', 'huber', 'quantile'] }, - { name: 'task_type', component: ['option_select'], default: 'CPU', usePair: true, + { name: 'task_type', component: ['option_select'], type: 'text', default: 'CPU', usePair: true, options: ['CPU', 'GPU'] }, { name: 'max_depth', component: ['input_number'], placeholder: 'None', usePair: true }, { name: 'n_estimators', component: ['input_number'], placeholder: 'None', usePair: true }, @@ -325,8 +497,19 @@ define([ ] }, /** Auto ML */ + 'auto-sklearn-rgs': { + name: 'AutoSklearnRegressor (Linux only)', + install: '!pip install auto-sklearn', + import: 'from autosklearn.regression import AutoSklearnRegressor', + link: 'https://automl.github.io/auto-sklearn/master/api.html#regression', + code: 'AutoSklearnRegressor(${etc})', + options: [ + + ] + }, 'tpot-rgs': { name: 'TPOTRegressor', + install: '!pip install tpot', import: 'from tpot import TPOTRegressor', code: 'TPOTRegressor(${generation}${population_size}${cv}${random_state}${etc})', options: [ @@ -336,8 +519,19 @@ define([ { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } ] }, + 'auto-sklearn-clf': { + name: 'AutoSklearnClassifier (Linux only)', + install: '!pip install auto-sklearn', + import: 'from autosklearn.classification import AutoSklearnClassifier', + link: 'https://automl.github.io/auto-sklearn/master/api.html#classification', + code: 'AutoSklearnClassifier(${etc})', + options: [ + + ] + }, 'tpot-clf': { name: 'TPOTClassifier', + install: '!pip install tpot', import: 'from tpot import TPOTClassifier', code: 'TPOTClassifier(${generation}${population_size}${cv}${random_state}${etc})', options: [ @@ -386,7 +580,7 @@ define([ }, /** Dimension Reduction */ 'pca': { - name: 'Principal Component Analysis', + name: 'PCA(Principal Component Analysis)', import: 'from sklearn.decomposition import PCA', code: 'PCA(${n_components}${random_state}${etc})', options: [ @@ -395,7 +589,7 @@ define([ ] }, 'lda': { - name: 'Linear Discriminant Analysis', + name: 'LDA(Linear Discriminant Analysis)', import: 'from sklearn.discriminant_analysis import LinearDiscriminantAnalysis', code: 'LinearDiscriminantAnalysis(${n_components}${etc})', options: [ @@ -412,13 +606,23 @@ define([ ] }, 'nmf': { - name: 'Non-Negative Matrix Factorization', + name: 'NMF(Non-Negative Matrix Factorization)', import: 'from sklearn.decomposition import NMF', code: 'NMF(${n_components}${random_state}${etc})', options: [ { name: 'n_components', component: ['input_number'], placeholder: 'None', usePair: true }, { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } ] + }, + 'tsne': { + name: 'TSNE(T-distributed Stochastic Neighbor Embedding)', + import: 'from sklearn.manifold import TSNE', + code: 'TSNE(${n_components}${learning_rate}${random_state}${etc})', + options: [ + { name: 'n_components', component: ['input_number'], placeholder: 'None', usePair: true }, + { name: 'learning_rate', component: ['input_number'], default: 200.0, usePair: true }, + { name: 'random_state', component: ['input_number'], placeholder: '123', usePair: true } + ] } } diff --git a/html/m_ml/dataSets.html b/html/m_ml/dataSets.html new file mode 100644 index 00000000..5af731b8 --- /dev/null +++ b/html/m_ml/dataSets.html @@ -0,0 +1,19 @@ +
+