{"cells":[{"metadata":{},"cell_type":"markdown","source":"###### Finally found some time - and wanted to share with you something new, that I use extensivelly both in my work and on Kaggle.\n###### What is KNIME?:\n* it is open source/free, heavy lifting DS/DE platform/framework (Java based, allows for out-of-memory datasets to be processed)\n* it allows for complete DS/ML pipelines to be created, mostly in visual manner\n* it packs also (pretty much) every existing ML framework/library out there\n* it also has full Python and R integrations and allows to freely mix those in the same pipeline  \n\nSmall disclaimer before we continue: This is NOT and AD, I don't work for KNIME, nor they are paying me. It is just something that I like and find extremely usefull - and wanted to share with you."},{"metadata":{},"cell_type":"markdown","source":"Download, unpack and configure KNIME runtime.\nMove the unpacked workflow (pipeline) from knime-cat-publ datasource to the workspace directory.\nIf you want to see/edit the workflow - need to download KNIME Analytics Platform from their website (it is standalone, portable java application) - and then import cat_publ.knwf (provided with the source) into your local workspace (from the GUI).  "},{"metadata":{"_kg_hide-output":true,"trusted":true},"cell_type":"code","source":"# download runtime and unpack\n!wget https://download.knime.org/analytics-platform/linux/knime_4.1.2.linux.gtk.x86_64.tar.gz\n!tar xvzf knime_4.1.2.linux.gtk.x86_64.tar.gz\n!rm knime_4.1.2.linux.gtk.x86_64.tar.gz\n!unzip ./knime_4.1.2/knime-workspace.zip -d ./knime_4.1.2/knime-workspace/\n!rm ./knime_4.1.2/knime-workspace.zip\n# copy the workflow\n!cp -R /kaggle/input/knime-cat-publ ./knime_4.1.2/knime-workspace/\n# set memory settings for the runtime\n!sed -i 's/Xmx2048m/Xmx10240m/g' ./knime_4.1.2/knime.ini\n# install runtime extensions - python and H2O integrations\n!./knime_4.1.2/knime -application org.eclipse.equinox.p2.director -nosplash -consolelog -r 'http://update.knime.com/analytics-platform/4.1,http://update.knime.com/community-contributions/4.1,http://update.knime.com/community-contributions/trusted/4.1,http://update.knime.com/partner/4.1' -i 'org.knime.features.python2.feature.group,org.knime.features.ext.h2o.feature.group,org.knime.features.datageneration.feature.group' -d ./knime_4.1.2/\n# install the wrapper python package\n!pip install knime\n# used in the workflow\n!pip install dfply","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Import and set variables"},{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport knime\n\n# Any results you write to the current directory are saved as output.\nknime.executable_path = \"./knime_4.1.2/knime\"\nworkspace = \"./knime_4.1.2/knime-workspace\"\nworkflow = \"knime-cat-publ/cat_publ/cat_publ\"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Import and visualize the workflow (pipeline)"},{"metadata":{"trusted":true},"cell_type":"code","source":"knime.Workflow(workflow_path=workflow,workspace_path=workspace)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"What happens here:\n* source files are read in data_in metanode and concatenated after (vertically)\n* labeling is performed in lbl metanode\n* one hot encoding in ohe (see example below)\n* target encoding in tgt_enc node - using code from this great kernel (please upvote): https://www.kaggle.com/caesarlupum/2020-20-lines-target-encoding\n* Z-score normalization in prep\n* H2O GLM + LGB models - blended in subm_blend  \n\nOf course there is a lot of functionality inside the metanodes. Here is an example of how ohe metanode looks like under the hood:"},{"metadata":{},"cell_type":"markdown","source":"![image.png](attachment:image.png)","attachments":{"image.png":{"image/png":"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"}}},{"metadata":{},"cell_type":"markdown","source":"What happens here (ohe metanode internals):\n* low cardinality features selected (only)\n* missing values imputed\n* columns one hot encoded\n* low variance columns removed\n* correlation matrix computed and highly correlated features removed (the extra instance)"},{"metadata":{},"cell_type":"markdown","source":"Finally - run the workflow"},{"metadata":{"trusted":true},"cell_type":"code","source":"with knime.Workflow(workflow_path=workflow,workspace_path=workspace) as wf:\n    wf.execute()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Alternatively wf can be executed through the command-line processor directly (instead of Python wrapper - you'll get more detailed output)\n#!./knime_4.1.2/knime -nosplash -application org.knime.product.KNIME_BATCH_APPLICATION -workflowDir=\"./knime_4.1.2/knime-workspace/knime-cat-publ/cat_publ\"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Cleanup"},{"metadata":{"trusted":true},"cell_type":"code","source":"rm -rf knime_4.1.2","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Hopefully you liked it (please upvote) - and saw something new today. Let me know if you have any questions in the comments :)"}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}