- Notifications
You must be signed in to change notification settings - Fork 849
/
Copy pathOML4Py -5- AutoML.dsnb
executable file
·1 lines (1 loc) · 47.8 KB
/
OML4Py -5- AutoML.dsnb
1
[{"layout":null,"template":null,"templateConfig":null,"name":"OML4Py -5- AutoML","description":null,"readOnly":false,"type":"low","paragraphs":[{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":null,"title":null,"message":["%md"," "],"enabled":true,"result":{"startTime":1714163399699,"interpreter":"md.low","endTime":1714163399847,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":true,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","# Oracle Machine Learning for Python (OML4Py)","","***Oracle Machine Learning for Python*** (OML4Py) makes the open source Python scripting language and environment ready for the enterprise and big data. Designed for problems involving both large and small data volumes, OML4Py integrates Python with Oracle Autonomous Database, allowing users to run Python commands and scripts for statistical, machine learning, and visualization analyses on database tables and views using Python syntax. Many familiar Python functions are overloaded that translate Python behavior into SQL for running in-database, as well as new automated machine learning (AutoML) features.","","In this notebook, we highlight the AutoML workflow using OML4Py:","","* Automated algorithm selection - identify the most appropriate algorithm","* Automated feature selection - select the features (predictors) that best support that algorithm","* Automated model tuning - tune the model using algorithm hyperparameters and the selected features","","Using the WINE dataset form scikit-learn, we use AutoML for classification on the 'target' column, and for regression on the 'proline' column. ","","Copyright (c) 2024 Oracle Corporation ","###### <a href=\"https://oss.oracle.com/licenses/upl/\" onclick=\"return ! window.open('https://oss.oracle.com/licenses/upl/');\">The Universal Permissive License (UPL), Version 1.0<\/a>","---"],"enabled":true,"result":{"startTime":1714163399921,"interpreter":"md.low","endTime":1714163400016,"results":[{"message":"<h1 id=\"oracle-machine-learning-for-python-oml4py\">Oracle Machine Learning for Python (OML4Py)<\/h1>\n<p><em><strong>Oracle Machine Learning for Python<\/strong><\/em> (OML4Py) makes the open source Python scripting language and environment ready for the enterprise and big data. Designed for problems involving both large and small data volumes, OML4Py integrates Python with Oracle Autonomous Database, allowing users to run Python commands and scripts for statistical, machine learning, and visualization analyses on database tables and views using Python syntax. Many familiar Python functions are overloaded that translate Python behavior into SQL for running in-database, as well as new automated machine learning (AutoML) features.<\/p>\n<p>In this notebook, we highlight the AutoML workflow using OML4Py:<\/p>\n<ul>\n<li>Automated algorithm selection - identify the most appropriate algorithm<\/li>\n<li>Automated feature selection - select the features (predictors) that best support that algorithm<\/li>\n<li>Automated model tuning - tune the model using algorithm hyperparameters and the selected features<\/li>\n<\/ul>\n<p>Using the WINE dataset form scikit-learn, we use AutoML for classification on the 'target' column, and for regression on the 'proline' column.<\/p>\n<p>Copyright (c) 2024 Oracle Corporation<\/p>\n<h6 id=\"the-universal-permissive-license-upl-version-10\"><a href=\"https://oss.oracle.com/licenses/upl/\" onclick=\"return ! window.open('https://oss.oracle.com/licenses/upl/');\">The Universal Permissive License (UPL), Version 1.0<\/a><\/h6>\n<hr />\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Import libraries supporting OML4Py ","message":["%md","","To use OML4Py, first import the package ***oml***. ","","Users can get online help using Python's help function and specifying the function of interest."],"enabled":true,"result":{"startTime":1714163400100,"interpreter":"md.low","endTime":1714163400200,"results":[{"message":"<p>To use OML4Py, first import the package <em><strong>oml<\/strong><\/em>.<\/p>\n<p>Users can get online help using Python's help function and specifying the function of interest.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%python","","import warnings","warnings.filterwarnings('ignore')","","import pandas as pd","import oml","from oml import automl"],"enabled":true,"result":{"startTime":1714163400274,"interpreter":"python.low","endTime":1714163402371,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Create data sets as Pandas DataFrame and load into Oracle Database","message":["%md","","In this example, we load the **wine** and **iris** data sets, combining target and predictors into a single DataFrame that matches the form the data would have as a database table. These DataFrame objects can then be loaded into Oracle Database using the ***create*** function."],"enabled":true,"result":{"startTime":1714163402460,"interpreter":"md.low","endTime":1714163402523,"results":[{"message":"<p>In this example, we load the <strong>wine<\/strong> and <strong>iris<\/strong> data sets, combining target and predictors into a single DataFrame that matches the form the data would have as a database table. These DataFrame objects can then be loaded into Oracle Database using the <em><strong>create<\/strong><\/em> function.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Create WINE data table","message":["%python","","from sklearn.datasets import load_wine","","wine = load_wine()","x = pd.DataFrame(wine.data, columns = wine[\"feature_names\"])","y = pd.DataFrame(list(map(lambda x: {0:'class_0', 1: 'class_1', 2:'class_2'}[x], wine.target)), "," columns = ['target'])","","wine_df = pd.concat([x,y], axis=1)","","try:"," oml.drop(table=\"WINE\")","except:"," pass","WINE = oml.create(wine_df, table=\"WINE\")","print(WINE.shape)","print(WINE.dtypes)"],"enabled":true,"result":{"startTime":1714163402594,"interpreter":"python.low","endTime":1714163403093,"results":[{"message":"(178, 14)\nalcohol <class 'oml.core.float.Float'>\nmalic_acid <class 'oml.core.float.Float'>\nash <class 'oml.core.float.Float'>\nalcalinity_of_ash <class 'oml.core.float.Float'>\nmagnesium <class 'oml.core.float.Float'>\ntotal_phenols <class 'oml.core.float.Float'>\nflavanoids <class 'oml.core.float.Float'>\nnonflavanoid_phenols <class 'oml.core.float.Float'>\nproanthocyanins <class 'oml.core.float.Float'>\ncolor_intensity <class 'oml.core.float.Float'>\nhue <class 'oml.core.float.Float'>\nod280/od315_of_diluted_wines <class 'oml.core.float.Float'>\nproline <class 'oml.core.float.Float'>\ntarget <class 'oml.core.string.String'>\ndtype: object\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"View the first 20 rows","message":["%python","","z.show(WINE.head(20))"],"enabled":true,"result":{"startTime":1714163403210,"interpreter":"python.low","endTime":1714163403306,"results":[{"message":"alcohol\tmalic_acid\tash\talcalinity_of_ash\tmagnesium\ttotal_phenols\tflavanoids\tnonflavanoid_phenols\tproanthocyanins\tcolor_intensity\thue\tod280/od315_of_diluted_wines\tproline\ttarget\n14.23\t1.71\t2.43\t15.6\t127\t2.8\t3.06\t0.28\t2.29\t5.64\t1.04\t3.92\t1065\tclass_0\n13.2\t1.78\t2.14\t11.2\t100\t2.65\t2.76\t0.26\t1.28\t4.38\t1.05\t3.4\t1050\tclass_0\n13.16\t2.36\t2.67\t18.6\t101\t2.8\t3.24\t0.3\t2.81\t5.68\t1.03\t3.17\t1185\tclass_0\n14.37\t1.95\t2.5\t16.8\t113\t3.85\t3.49\t0.24\t2.18\t7.8\t0.86\t3.45\t1480\tclass_0\n13.24\t2.59\t2.87\t21.0\t118\t2.8\t2.69\t0.39\t1.82\t4.32\t1.04\t2.93\t735\tclass_0\n14.2\t1.76\t2.45\t15.2\t112\t3.27\t3.39\t0.34\t1.97\t6.75\t1.05\t2.85\t1450\tclass_0\n14.39\t1.87\t2.45\t14.6\t96\t2.5\t2.52\t0.3\t1.98\t5.25\t1.02\t3.58\t1290\tclass_0\n14.06\t2.15\t2.61\t17.6\t121\t2.6\t2.51\t0.31\t1.25\t5.05\t1.06\t3.58\t1295\tclass_0\n14.83\t1.64\t2.17\t14.0\t97\t2.8\t2.98\t0.29\t1.98\t5.2\t1.08\t2.85\t1045\tclass_0\n13.86\t1.35\t2.27\t16.0\t98\t2.98\t3.15\t0.22\t1.85\t7.22\t1.01\t3.55\t1045\tclass_0\n14.1\t2.16\t2.3\t18.0\t105\t2.95\t3.32\t0.22\t2.38\t5.75\t1.25\t3.17\t1510\tclass_0\n14.12\t1.48\t2.32\t16.8\t95\t2.2\t2.43\t0.26\t1.57\t5.0\t1.17\t2.82\t1280\tclass_0\n13.75\t1.73\t2.41\t16.0\t89\t2.6\t2.76\t0.29\t1.81\t5.6\t1.15\t2.9\t1320\tclass_0\n14.75\t1.73\t2.39\t11.4\t91\t3.1\t3.69\t0.43\t2.81\t5.4\t1.25\t2.73\t1150\tclass_0\n14.38\t1.87\t2.38\t12.0\t102\t3.3\t3.64\t0.29\t2.96\t7.5\t1.2\t3.0\t1547\tclass_0\n13.63\t1.81\t2.7\t17.2\t112\t2.85\t2.91\t0.3\t1.46\t7.3\t1.28\t2.88\t1310\tclass_0\n14.3\t1.92\t2.72\t20.0\t120\t2.8\t3.14\t0.33\t1.97\t6.2\t1.07\t2.65\t1280\tclass_0\n13.83\t1.57\t2.62\t20.0\t115\t2.95\t3.4\t0.4\t1.72\t6.6\t1.13\t2.57\t1130\tclass_0\n14.19\t1.59\t2.48\t16.5\t108\t3.3\t3.93\t0.32\t1.86\t8.7\t1.23\t2.82\t1680\tclass_0\n13.64\t3.1\t2.56\t15.2\t116\t2.7\t3.03\t0.17\t1.66\t5.1\t0.96\t3.36\t845\tclass_0\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","## Automated Machine Learning (AutoML)","The AutoML workflow consists of ","","- identify the most appropriate algorithm ","- select the features (predictors) that best support that algorithm","- tune the model using algorithm hyperparameters and the selected features","","### Automated Algorithm Selection","","Which algorithm is best to predict my target among those available with OML4Py?","","- Classification: Decision Tree, Generalized Linear Model, Na?ve Bayes, Neural Network, RandomForest, Support Vector Machine","- Regression: Generalized Linear Model, Neural Network, Support Vector Machine","","To use AutoML algorithm selection, we create an ***AlgorithmSelection*** object, here with the 'accuracy' score metric. Then, we invoke ***select*** to get the top 4 predicted algorithms by setting k=4. Automated algorithm selection ranks the algorithms from the set of supported in-database algorithms likely to produce better models using characteristics of the data set and technique. Algorithm Selection itself uses advanced machine learning and ***meta-learning*** techniques.","","Users can select from a variety of ***score_metric*** options:","","- binary classification \u2013 accuracy (default), f1, precision, recall, roc_auc, f1_micro, f1_macro, f1_weighted, recall_micro, recall_macro, recall_weighted, precision_micro, precision_macro, precision_weighted","- multiclass classification \u2013 accuracy (default), f1_micro, f1_macro, f1_weighted, recall_micro, recall_macro, recall_weighted, precision_micro, precision_macro, precision_weighted","- regression \u2013 r2 (default), neg_mean_squared_error, neg_mean_absolute_error, neg_mean_squared_log_error, neg_median_absolute_error"],"enabled":true,"result":{"startTime":1714163418391,"interpreter":"md.low","endTime":1714163418467,"results":[{"message":"<h2 id=\"automated-machine-learning-automl\">Automated Machine Learning (AutoML)<\/h2>\n<p>The AutoML workflow consists of<\/p>\n<ul>\n<li>identify the most appropriate algorithm<\/li>\n<li>select the features (predictors) that best support that algorithm<\/li>\n<li>tune the model using algorithm hyperparameters and the selected features<\/li>\n<\/ul>\n<h3 id=\"automated-algorithm-selection\">Automated Algorithm Selection<\/h3>\n<p>Which algorithm is best to predict my target among those available with OML4Py?<\/p>\n<ul>\n<li>Classification: Decision Tree, Generalized Linear Model, Na?ve Bayes, Neural Network, RandomForest, Support Vector Machine<\/li>\n<li>Regression: Generalized Linear Model, Neural Network, Support Vector Machine<\/li>\n<\/ul>\n<p>To use AutoML algorithm selection, we create an <em><strong>AlgorithmSelection<\/strong><\/em> object, here with the 'accuracy' score metric. Then, we invoke <em><strong>select<\/strong><\/em> to get the top 4 predicted algorithms by setting k=4. Automated algorithm selection ranks the algorithms from the set of supported in-database algorithms likely to produce better models using characteristics of the data set and technique. Algorithm Selection itself uses advanced machine learning and <em><strong>meta-learning<\/strong><\/em> techniques.<\/p>\n<p>Users can select from a variety of <em><strong>score_metric<\/strong><\/em> options:<\/p>\n<ul>\n<li>binary classification \u2013 accuracy (default), f1, precision, recall, roc_auc, f1_micro, f1_macro, f1_weighted, recall_micro, recall_macro, recall_weighted, precision_micro, precision_macro, precision_weighted<\/li>\n<li>multiclass classification \u2013 accuracy (default), f1_micro, f1_macro, f1_weighted, recall_micro, recall_macro, recall_weighted, precision_micro, precision_macro, precision_weighted<\/li>\n<li>regression \u2013 r2 (default), neg_mean_squared_error, neg_mean_absolute_error, neg_mean_squared_log_error, neg_median_absolute_error<\/li>\n<\/ul>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Prepare WINE classification data","message":["%python","","WINE_X_cl,WINE_y_cl = WINE.drop('target'), WINE['target']"],"enabled":true,"result":{"startTime":1714163403517,"interpreter":"python.low","endTime":1714163403589,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"Prepare WINE regression data","message":["%python","","WINE_X_reg,WINE_y_reg = WINE.drop('proline'), WINE['proline']"],"enabled":true,"result":{"startTime":1714163403660,"interpreter":"python.low","endTime":1714163403732,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Rank classification algorithms for WINE data","message":["%python","","as_wine_cl = automl.AlgorithmSelection(mining_function='classification', "," score_metric='accuracy', parallel=2)","","wine_alg_ranking_cl = as_wine_cl.select(WINE_X_cl, WINE_y_cl, k=4) ","","print(\"Ranked algorithms:\\n\", wine_alg_ranking_cl)","","selected_wine_alg_cl = next(iter(dict(wine_alg_ranking_cl).keys()))","print(\"Best algorithm: \", selected_wine_alg_cl)"],"enabled":true,"result":{"startTime":1714163403800,"interpreter":"python.low","endTime":1714163433729,"results":[{"message":"Ranked algorithms:\n [('svm_linear', 0.9830065359477125), ('svm_gaussian', 0.981992337164751), ('nn', 0.9644515277375317), ('rf', 0.9461170675166619)]\nBest algorithm: svm_linear\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Rank regression algorithms for WINE data","message":["%python","","as_wine_reg = automl.AlgorithmSelection(mining_function='regression', "," score_metric='r2', parallel=2)","","wine_alg_ranking_reg = as_wine_reg.select(WINE_X_reg, WINE_y_reg, k=4) ","","print(\"Ranked algorithms:\\n\", wine_alg_ranking_reg)","","selected_wine_alg_reg = next(iter(dict(wine_alg_ranking_reg).keys()))","print(\"Best algorithm: \", selected_wine_alg_reg)"],"enabled":true,"result":{"startTime":1714163433804,"interpreter":"python.low","endTime":1714163458963,"results":[{"message":"Ranked algorithms:\n [('svm_gaussian', 0.7233656799402366), ('svm_linear', 0.690595088776105), ('glm_ridge', 0.6839975942592191), ('glm', 0.683944877749971)]\nBest algorithm: svm_gaussian\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Automated Feature Selection","","Next, we determine the features that best support the selected algorithm. We first define a ***FeatureSelection*** object with score metric 'accuracy' and invoke ***reduce*** specifying the desired algorithm determined above and the train and test data set proxy objects. ","","We see the set of selected columns. Try other algorithms, e.g., svm_linear, to see if different columns are selected."],"enabled":true,"result":{"startTime":1714163499374,"interpreter":"md.low","endTime":1714163499434,"results":[{"message":"<h3 id=\"automated-feature-selection\">Automated Feature Selection<\/h3>\n<p>Next, we determine the features that best support the selected algorithm. We first define a <em><strong>FeatureSelection<\/strong><\/em> object with score metric 'accuracy' and invoke <em><strong>reduce<\/strong><\/em> specifying the desired algorithm determined above and the train and test data set proxy objects.<\/p>\n<p>We see the set of selected columns. Try other algorithms, e.g., svm_linear, to see if different columns are selected.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Classification Feature Selection","message":["%python","","","fs_wine_cl = automl.FeatureSelection(mining_function = 'classification', "," score_metric = 'accuracy', parallel=2)","","selected_wine_features_cl = fs_wine_cl.reduce(selected_wine_alg_cl, "," WINE_X_cl, WINE_y_cl)","","WINE_X_reduced_cl = WINE_X_cl[:,selected_wine_features_cl]","","print(\"Selected columns:\", WINE_X_reduced_cl.columns)","print(\"Number of columns:\")","\"{} reduced to {}\".format(len(WINE_X_cl.columns), len(selected_wine_features_cl))"],"enabled":true,"result":{"startTime":1714163459172,"interpreter":"python.low","endTime":1714163499316,"results":[{"message":"Selected columns: ['alcohol', 'malic_acid', 'ash', 'alcalinity_of_ash', 'total_phenols', 'flavanoids', 'nonflavanoid_phenols', 'color_intensity', 'hue', 'od280/od315_of_diluted_wines', 'proline']\nNumber of columns:\n'13 reduced to 11'\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Regression Feature Selection","message":["%python","","","fs_wine_reg = automl.FeatureSelection(mining_function = 'regression', "," score_metric = 'r2', parallel=2)","","selected_wine_features_reg = fs_wine_reg.reduce(selected_wine_alg_reg, "," WINE_X_reg, WINE_y_reg)","","WINE_X_reduced_reg = WINE_X_reg[:,selected_wine_features_reg]","","print(\"Selected columns:\",WINE_X_reduced_reg.columns)","print(\"Number of columns:\")","\"{} reduced to {}\".format(len(WINE_X_reg.columns), len(selected_wine_features_reg))"],"enabled":true,"result":{"startTime":1714163499477,"interpreter":"python.low","endTime":1714163548626,"results":[{"message":"Selected columns: ['alcohol', 'malic_acid', 'ash', 'alcalinity_of_ash', 'magnesium', 'total_phenols', 'flavanoids', 'nonflavanoid_phenols', 'proanthocyanins', 'color_intensity', 'hue', 'od280/od315_of_diluted_wines', 'target']\nNumber of columns:\n'13 reduced to 13'\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Automated Model Tuning","","At this point, we're ready to build and tune the models we want to use. First, we define a ***ModelTuning*** object for classification. ","We then invoke ***tune*** to produce the tuned model using the algorithm selected above and the reduced column data. ","","The result of model tuning is a dictionary with the 'best model' and 'all evals', which contains a list of all hyperparameter choices tried and their corresponding score.","","When an in-database model is created without a specific name, it is viewed as temporary, such that when the database connection terminates (or Notebook session closes) the models are dropped from the user schema. Models associated with proxy objects will not be dropped if the proxy object is stored in a datastore or if the model is assinged an explicit name. ","","Assigning an explicit name after a model is created can be accomplished by assigning a name to the `model_name` property. For example, a model proxy object referenced by variable `my_model` could be assigned a name using: ",""," my_model.model_name = 'MY_MODEL'"," "],"enabled":true,"result":{"startTime":1714163548701,"interpreter":"md.low","endTime":1714163548763,"results":[{"message":"<h4 id=\"automated-model-tuning\">Automated Model Tuning<\/h4>\n<p>At this point, we're ready to build and tune the models we want to use. First, we define a <em><strong>ModelTuning<\/strong><\/em> object for classification.\nWe then invoke <em><strong>tune<\/strong><\/em> to produce the tuned model using the algorithm selected above and the reduced column data.<\/p>\n<p>The result of model tuning is a dictionary with the 'best model' and 'all evals', which contains a list of all hyperparameter choices tried and their corresponding score.<\/p>\n<p>When an in-database model is created without a specific name, it is viewed as temporary, such that when the database connection terminates (or Notebook session closes) the models are dropped from the user schema. Models associated with proxy objects will not be dropped if the proxy object is stored in a datastore or if the model is assinged an explicit name.<\/p>\n<p>Assigning an explicit name after a model is created can be accomplished by assigning a name to the <code>model_name<\/code> property. For example, a model proxy object referenced by variable <code>my_model<\/code> could be assigned a name using:<\/p>\n<pre><code>my_model.model_name = 'MY_MODEL'\n<\/code><\/pre>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Classification Model Tuning","message":["%python","","","mt_wine_cl = automl.ModelTuning(mining_function = 'classification', parallel=2)","","results_cl = mt_wine_cl.tune(selected_wine_alg_cl, WINE_X_reduced_cl, WINE_y_cl)","tuned_model_cl = results_cl['best_model']","tuned_model_cl"],"enabled":true,"result":{"startTime":1714163548837,"interpreter":"python.low","endTime":1714163586572,"results":[{"message":"\nAlgorithm Name: Support Vector Machine\n\nMining Function: CLASSIFICATION\n\nTarget: target\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_SUPPORT_VECTOR_MACHINES\n1 CLAS_WEIGHTS_BALANCED OFF\n2 ODMS_DETAILS ODMS_ENABLE\n3 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n4 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n5 PREP_AUTO ON\n6 SVMS_COMPLEXITY_FACTOR 10\n7 SVMS_CONV_TOLERANCE .0001\n8 SVMS_KERNEL_FUNCTION SVMS_LINEAR\n9 SVMS_SOLVER SVMS_SOLVER_IPM\n\nComputed Settings: \n setting name setting value\n0 SVMS_NUM_ITERATIONS 30\n\nGlobal Statistics: \n attribute name attribute value\n0 CONVERGED YES\n1 ITERATIONS 15\n2 NUM_ROWS 178\n\nAttributes: \nalcalinity_of_ash\nalcohol\nash\ncolor_intensity\nflavanoids\nhue\nmalic_acid\nnonflavanoid_phenols\nod280/od315_of_diluted_wines\nproline\ntotal_phenols\n\nPartition: NO\n\nCOEFFICIENTS: \n\n TARGET_VALUE ATTRIBUTE_NAME ... ATTRIBUTE_VALUE COEF\n0 class_0 alcalinity_of_ash ... None -1.0241\n1 class_0 alcohol ... None 0.9540\n2 class_0 ash ... None 0.7172\n3 class_0 color_intensity ... None -0.1460\n4 class_0 flavanoids ... None 0.6934\n5 class_0 hue ... None -0.0126\n6 class_0 malic_acid ... None 0.3877\n7 class_0 nonflavanoid_phenols ... None 0.0100\n8 class_0 od280/od315_of_diluted_wines ... None 0.5115\n9 class_0 proline ... None 1.1391\n10 class_0 total_phenols ... None 0.2301\n11 class_0 None ... None -0.8932\n12 class_1 alcalinity_of_ash ... None 0.8536\n13 class_1 alcohol ... None -1.0057\n14 class_1 ash ... None -1.1235\n15 class_1 color_intensity ... None -3.0848\n16 class_1 flavanoids ... None 0.9363\n17 class_1 hue ... None 0.7513\n18 class_1 malic_acid ... None -0.6123\n19 class_1 nonflavanoid_phenols ... None 0.6385\n20 class_1 od280/od315_of_diluted_wines ... None -0.1823\n21 class_1 proline ... None -2.5648\n22 class_1 total_phenols ... None 0.0292\n23 class_1 None ... None -1.8943\n24 class_2 alcalinity_of_ash ... None -0.0291\n25 class_2 alcohol ... None 0.8029\n26 class_2 ash ... None 0.4917\n27 class_2 color_intensity ... None 1.0072\n28 class_2 flavanoids ... None -1.6001\n29 class_2 hue ... None -0.7076\n30 class_2 malic_acid ... None 0.0608\n31 class_2 nonflavanoid_phenols ... None -0.3188\n32 class_2 od280/od315_of_diluted_wines ... None -0.7787\n33 class_2 proline ... None 0.0669\n34 class_2 total_phenols ... None 0.1863\n35 class_2 None ... None -1.7603\n\n[36 rows x 5 columns]\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Regression Model Tuning","message":["%python","","","mt_wine_reg = automl.ModelTuning(mining_function = 'regression', parallel=2)","","results_reg = mt_wine_reg.tune(selected_wine_alg_reg, WINE_X_reduced_reg, WINE_y_reg)","tuned_model_reg = results_reg['best_model']","tuned_model_reg"],"enabled":true,"result":{"startTime":1714163586674,"interpreter":"python.low","endTime":1714163704299,"results":[{"message":"\nAlgorithm Name: Support Vector Machine\n\nMining Function: REGRESSION\n\nTarget: proline\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_SUPPORT_VECTOR_MACHINES\n1 ODMS_DETAILS ODMS_ENABLE\n2 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n3 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n4 PREP_AUTO ON\n5 SVMS_COMPLEXITY_FACTOR 3\n6 SVMS_CONV_TOLERANCE .0001\n7 SVMS_EPSILON 0.33367165666666665\n8 SVMS_KERNEL_FUNCTION SVMS_GAUSSIAN\n9 SVMS_NUM_PIVOTS 200\n10 SVMS_STD_DEV 2.5495097567963922\n\nComputed Settings: \n setting name setting value\n0 SVMS_NUM_ITERATIONS 30\n1 SVMS_SOLVER SVMS_SOLVER_IPM\n\nGlobal Statistics: \n attribute name attribute value\n0 CONVERGED YES\n1 ITERATIONS 12\n2 NUM_ROWS 178\n\nAttributes: \nalcalinity_of_ash\nalcohol\nash\ncolor_intensity\nflavanoids\nhue\nmagnesium\nmalic_acid\nnonflavanoid_phenols\nod280/od315_of_diluted_wines\nproanthocyanins\ntarget\ntotal_phenols\n\nPartition: NO\n\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Specify a model tuning search space","","Explicitly indicate the search space you want to explore for model building using the ***param_space*** argument to the ***tune*** function. Below, we show using parameters for the Random Forest algorithm for classification and Neural Network for regression. "],"enabled":true,"result":{"startTime":1714163704423,"interpreter":"md.low","endTime":1714163704480,"results":[{"message":"<h3 id=\"specify-a-model-tuning-search-space\">Specify a model tuning search space<\/h3>\n<p>Explicitly indicate the search space you want to explore for model building using the <em><strong>param_space<\/strong><\/em> argument to the <em><strong>tune<\/strong><\/em> function. Below, we show using parameters for the Random Forest algorithm for classification and Neural Network for regression.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Classification model tuning using search space","message":["%python","","","search_space={"," 'RFOR_SAMPLING_RATIO': {"," 'type': 'continuous', 'range': [0.05, 0.5]}, "," 'RFOR_NUM_TREES': {"," 'type': 'discrete', "," 'range': [50, 55]}, "," 'TREE_IMPURITY_METRIC': {"," 'type': 'categorical', "," 'range': ['TREE_IMPURITY_ENTROPY', 'TREE_IMPURITY_GINI']},"," }"," ","at_wine2_cl = automl.ModelTuning(mining_function='classification', "," score_metric='f1_macro', parallel=2)","results2_cl = at_wine2_cl.tune('rf', WINE_X_cl, WINE_y_cl, "," param_space=search_space)","score2_cl, params2_cl = results2_cl['all_evals'][0]","\"{:.2}\".format(score2_cl)","","tuned_model2_cl = results2_cl['best_model']","tuned_model2_cl"],"enabled":true,"result":{"startTime":1714163704658,"interpreter":"python.low","endTime":1714163763322,"results":[{"message":"\nAlgorithm Name: Random Forest\n\nMining Function: CLASSIFICATION\n\nTarget: target\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_RANDOM_FOREST\n1 CLAS_MAX_SUP_BINS 32\n2 CLAS_WEIGHTS_BALANCED OFF\n3 ODMS_DETAILS ODMS_ENABLE\n4 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n5 ODMS_RANDOM_SEED 0\n6 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n7 PREP_AUTO ON\n8 RFOR_NUM_TREES 50\n9 RFOR_SAMPLING_RATIO 0.35\n10 TREE_IMPURITY_METRIC TREE_IMPURITY_GINI\n11 TREE_TERM_MAX_DEPTH 16\n12 TREE_TERM_MINPCT_NODE .05\n13 TREE_TERM_MINPCT_SPLIT .1\n14 TREE_TERM_MINREC_NODE 10\n15 TREE_TERM_MINREC_SPLIT 20\n\nComputed Settings: \n setting name setting value\n0 RFOR_MTRY 6\n\nGlobal Statistics: \n attribute name attribute value\n0 AVG_DEPTH 3.74\n1 AVG_NODECOUNT 7.88\n2 MAX_DEPTH 5\n3 MAX_NODECOUNT 11\n4 MIN_DEPTH 4\n5 MIN_NODECOUNT 5\n6 NUM_ROWS 178\n\nAttributes: \nalcalinity_of_ash\nalcohol\nash\ncolor_intensity\nflavanoids\nhue\nmagnesium\nmalic_acid\nnonflavanoid_phenols\nod280/od315_of_diluted_wines\nproanthocyanins\nproline\ntotal_phenols\n\nPartition: NO\n\nImportance: \n\n ATTRIBUTE_NAME ATTRIBUTE_SUBNAME ATTRIBUTE_IMPORTANCE\n0 alcalinity_of_ash None 0.087762\n1 alcohol None 0.269680\n2 ash None 0.045137\n3 color_intensity None 0.407622\n4 flavanoids None 0.294175\n5 hue None 0.138300\n6 magnesium None 0.027684\n7 malic_acid None 0.045442\n8 nonflavanoid_phenols None 0.027490\n9 od280/od315_of_diluted_wines None 0.149391\n10 proanthocyanins None 0.008828\n11 proline None 0.223896\n12 total_phenols None 0.024040\n\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Regression model tuning using search space","message":["%python","","search_space={"," 'NNET_REGULARIZER': {"," 'range': ['NNET_REGULARIZER_HELDASIDE', 'NNET_REGULARIZER_L2', 'NNET_REGULARIZER_NONE'],"," 'type': 'categorical',},"," 'NNET_ALL_ACTIVATIONS': {"," 'range': ['NNET_ACTIVATIONS_LOG_SIG', 'NNET_ACTIVATIONS_LINEAR', 'NNET_ACTIVATIONS_BIPOLAR_SIG'],"," 'type': 'categorical',},"," 'NNET_HIDDEN_LAYERS': {"," 'range': [1, 2],"," 'type': 'discrete',},"," 'NNET_NODES': {"," 'range': [10, 20],"," 'type': 'discrete',},"," }","","at_wine2_reg = automl.ModelTuning(mining_function='regression', "," score_metric='r2', parallel=2)","results2_reg = at_wine2_reg.tune('nn', WINE_X_reg, WINE_y_reg,"," param_space=search_space)","score2_reg, params2_reg = results2_reg['all_evals'][0]","\"{:.2}\".format(score2_reg)","","tuned_model2_reg = results2_reg['best_model']","tuned_model2_reg"],"enabled":true,"result":{"startTime":1714163763410,"interpreter":"python.low","endTime":1714163810357,"results":[{"message":"\nAlgorithm Name: Neural Network\n\nMining Function: REGRESSION\n\nTarget: proline\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_NEURAL_NETWORK\n1 LBFGS_GRADIENT_TOLERANCE .000000001\n2 LBFGS_HISTORY_DEPTH 20\n3 LBFGS_SCALE_HESSIAN LBFGS_SCALE_HESSIAN_ENABLE\n4 NNET_ACTIVATIONS 'NNET_ACTIVATIONS_BIPOLAR_SIG'\n5 NNET_HELDASIDE_MAX_FAIL 6\n6 NNET_HELDASIDE_RATIO .25\n7 NNET_HIDDEN_LAYERS 1\n8 NNET_ITERATIONS 100\n9 NNET_NODES_PER_LAYER 50\n10 NNET_REGULARIZER NNET_REGULARIZER_HELDASIDE\n11 NNET_TOLERANCE .000001\n12 ODMS_DETAILS ODMS_ENABLE\n13 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n14 ODMS_RANDOM_SEED 0\n15 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n16 PREP_AUTO ON\n\nGlobal Statistics: \n attribute name attribute value\n0 CONVERGED YES\n1 ITERATIONS 25\n2 LOSS_VALUE 0.158361\n3 NUM_ROWS 178\n\nAttributes: \nalcalinity_of_ash\nalcohol\nash\ncolor_intensity\nflavanoids\nhue\nmagnesium\nmalic_acid\nnonflavanoid_phenols\nod280/od315_of_diluted_wines\nproanthocyanins\ntarget\ntotal_phenols\n\nPartition: NO\n\nTopology: \n\n HIDDEN_LAYER_ID NUM_NODE ACTIVATION_FUNCTION\n0 0 50 NNET_ACTIVATIONS_BIPOLAR_SIG\n\nWeights: \n\n LAYER IDX_FROM IDX_TO ... ATTRIBUTE_VALUE TARGET_VALUE WEIGHT\n0 0 0.0 0 ... None None -0.214998\n1 0 0.0 1 ... None None 0.142397\n2 0 0.0 2 ... None None -0.220107\n3 0 0.0 3 ... None None 0.113885\n4 0 0.0 4 ... None None 0.214632\n.. ... ... ... ... ... ... ...\n846 1 46.0 0 ... None None 0.079437\n847 1 47.0 0 ... None None -0.129681\n848 1 48.0 0 ... None None 0.391486\n849 1 49.0 0 ... None None 0.018201\n850 1 NaN 0 ... None None -0.055256\n\n[851 rows x 8 columns]\n\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Automated Model Selection","As a short cut, users may go directly to model selection on the training data. Automated model selection chooses the best algorithm (using Algorithm Selection)","from the set of supported algorithms, then builds, tunes and returns the model."],"enabled":true,"result":{"startTime":1714163852780,"interpreter":"md.low","endTime":1714163852840,"results":[{"message":"<h3 id=\"automated-model-selection\">Automated Model Selection<\/h3>\n<p>As a short cut, users may go directly to model selection on the training data. Automated model selection chooses the best algorithm (using Algorithm Selection)\nfrom the set of supported algorithms, then builds, tunes and returns the model.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Classification Model Selection","message":["%python","","","ms_wine = automl.ModelSelection(mining_function = 'classification', parallel=2)","","best_model = ms_wine.select(WINE_X_cl, WINE_y_cl, k=1, cv=2)","best_model"],"enabled":true,"result":{"startTime":1714163810594,"interpreter":"python.low","endTime":1714163852736,"results":[{"message":"(\nAlgorithm Name: Support Vector Machine\n\nMining Function: CLASSIFICATION\n\nTarget: target\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_SUPPORT_VECTOR_MACHINES\n1 CLAS_WEIGHTS_BALANCED OFF\n2 ODMS_DETAILS ODMS_ENABLE\n3 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n4 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n5 PREP_AUTO ON\n6 SVMS_COMPLEXITY_FACTOR 10\n7 SVMS_CONV_TOLERANCE .0001\n8 SVMS_KERNEL_FUNCTION SVMS_GAUSSIAN\n9 SVMS_NUM_PIVOTS 200\n10 SVMS_STD_DEV 2.5495097567963922\n\nComputed Settings: \n setting name setting value\n0 SVMS_NUM_ITERATIONS 30\n1 SVMS_SOLVER SVMS_SOLVER_IPM\n\nGlobal Statistics: \n attribute name attribute value\n0 CONVERGED YES\n1 ITERATIONS 13\n2 NUM_ROWS 178\n\nAttributes: \nalcalinity_of_ash\nalcohol\nash\ncolor_intensity\nflavanoids\nhue\nmagnesium\nmalic_acid\nnonflavanoid_phenols\nod280/od315_of_diluted_wines\nproanthocyanins\nproline\ntotal_phenols\n\nPartition: NO\n\n, 'svm_gaussian')\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"raw\":{\"height\":300,\"lastColumns\":[],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"raw","title":"Regression Model Selection","message":["%python","","","ms_wine_reg = automl.ModelSelection(mining_function = 'regression', parallel=2)","","best_model_reg = ms_wine_reg.select(WINE_X_reg, WINE_y_reg, k=1, cv=2)","best_model_reg"],"enabled":true,"result":{"startTime":1714163852881,"interpreter":"python.low","endTime":1714163904038,"results":[{"message":"(\nAlgorithm Name: Support Vector Machine\n\nMining Function: REGRESSION\n\nTarget: proline\n\nSettings: \n setting name setting value\n0 ALGO_NAME ALGO_SUPPORT_VECTOR_MACHINES\n1 ODMS_DETAILS ODMS_ENABLE\n2 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO\n3 ODMS_SAMPLING ODMS_SAMPLING_DISABLE\n4 PREP_AUTO ON\n5 SVMS_COMPLEXITY_FACTOR 0.82624875\n6 SVMS_CONV_TOLERANCE .0001\n7 SVMS_EPSILON 0.1\n8 SVMS_KERNEL_FUNCTION SVMS_GAUSSIAN\n9 SVMS_NUM_PIVOTS 200\n10 SVMS_STD_DEV 2.5495097567963922\n\nComputed Settings: \n setting name setting value\n0 SVMS_NUM_ITERATIONS 30\n1 SVMS_SOLVER SVMS_SOLVER_IPM\n\nGlobal Statistics: \n attribute name attribute value\n0 CONVERGED YES\n1 ITERATIONS 10\n2 NUM_ROWS 178\n\nAttributes: \nalcalinity_of_ash\nalcohol\nash\ncolor_intensity\nflavanoids\nhue\nmagnesium\nmalic_acid\nnonflavanoid_phenols\nod280/od315_of_diluted_wines\nproanthocyanins\ntarget\ntotal_phenols\n\nPartition: NO\n\n, 'svm_gaussian')\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","## End of Script"],"enabled":true,"result":{"startTime":1714163862022,"interpreter":"md.low","endTime":1714163862082,"results":[{"message":"<h2 id=\"end-of-script\">End of Script<\/h2>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md"],"enabled":true,"result":{"startTime":1714163904261,"interpreter":"md.low","endTime":1714163904322,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":true,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"}],"version":"6","snapshot":false,"tags":null}]