{"title":"SMOTE","nodeType":"Manipulator","id":"*YznaX_v45d3OzPEV","factoryName":"org.knime.base.node.mine.smote.SmoteNodeFactory","factoryId":"org.knime.base.node.mine.smote.SmoteNodeFactory","path":["Manipulation","Column","Transform"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>This node oversamples the input data (i.e. adds artificial rows) to enrich the training data. The applied technique is called <a href=\"http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume16/chawla02a.pdf\" rel=\"ugc nofollow noopener noreferrer\"> SMOTE (Synthetic Minority Over-sampling Technique)</a> by Chawla et al.</p>\n             \n            <p>Some supervised learning algorithms (such as decision trees and neural nets) require an equal class distribution to generalize well, i.e. to get good classification performance. In case of unbalanced input data, for instance there are only few objects of the &#34;active&#34; but many of the &#34;inactive&#34; class, this node adjusts the class distribution by adding artificial rows (in the example by adding rows for the &#34;active&#34; class).</p>\n             \n            <p>The algorithm works roughly as follows: It creates synthetic rows by extrapolating between a real object of a given class (in the above example &#34;active&#34;) and one of its nearest neighbors (of the same class). It then picks a point along the line between these two objects and determines the attributes (cell values) of the new object based on this randomly chosen point.</p>\n            \n        \n        ","shortDescription":"Adds artificial data to improve the learning quality using the SMOTE algorithm","keywords":[],"deprecated":false,"streamable":false,"tags":["Manipulation","Column","Transform"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowYjM2YWM5Ny01ZWJhLTQwZTctOTE4OS1iYmU4ZDdkMGYyNGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUQ0RTg2RjQxODM0MTFFNTgxM0FFMEQwQTc0Qzg5QTIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTRBMDBEMzQxODM0MTFFNTgxM0FFMEQwQTc0Qzg5QTIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZTBmYzg4ZC1kNjkyLTQ5NDEtOTZiOC03ODIxMjliYWZkYWIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MGIzNmFjOTctNWViYS00MGU3LTkxODktYmJlOGQ3ZDBmMjRlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+eCpCVwAAAKVJREFUeNqcUgEOwjAIhGZ/MNHP1r86o69gxVEk7VW7XcK6sQMOKBORkD5EmE4gXS+3KSIz52Ji59c/q0CD46fFUNKXqGJUqeDenDu/BH8yr68Ho0paxfydKlfQAFZCwWTyRU0d7uyJ2WaVK68aaqFLENtqh51QxWh/2wItDOWillACqfZjJs45uwXndEMMFwpupR30MvoxC1dwBM/3Ol7jUWwCDABKVY85sJoz7QAAAABJRU5ErkJggg==","views":[],"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Input data","description":"Table containing labeled data for oversampling."}],"outPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Oversampled data","description":"Oversampled data (input table with appended rows)."}],"dynInPorts":[],"dynOutPorts":[],"additionalSiteInformation":{"url":"https://update.knime.com/analytics-platform/5.12","trusted":true,"enabledByDefault":true,"name":"KNIME Analytics Platform 5.12 Update Site","version":"5.12.0"},"dialog":[{"sectionName":"Options","fields":[{"name":"Class column","description":"Pick the column that contains the class information.","optional":false},{"name":"# Nearest neighbor","description":"An option that determines how many nearest neighbors shall be considered. The algorithm picks an object from the target class, randomly selects one of its neighbors and draws the new synthetic example along the line between the sample and the neighbor.","optional":false},{"name":"Oversampling method","description":"Select the oversampling method.\n<ul><li><b>Rate</b> : This option oversamples each class equally.</li><li><b>Minority classes</b> : This option adds synthetic examples to all classes that are not the majority class. The output contains the same number of rows for each of the possible classes.</li></ul>","optional":false},{"name":"Oversampling rate","description":"Specify how much synthetic data is introduced, e.g. a value of 2 will introduce two more portions for each class (if there are 50 rows in the input table labeled as &#34;A&#34;; the output will contain 150 rows belonging to &#34;A&#34;).","optional":false},{"name":"Enable static seed","description":"Check this option if you want to use a seed for the random number generator. This will cause consecutive runs of the node to produce the same output data. If unchecked, each run of the node generates a new seed.","optional":false},{"name":"Random seed","description":"The seed value for the random number generator.","optional":false},{"name":"New","description":"Generate a random seed and set it in the Random seed input above for reproducible runs.","optional":false}]}],"links":[],"kudos":[{"accountId":"account:user:9ecb9e5a-9e53-4149-84ad-9545ef21a5ed","user":"wisnupo","date":"2024-05-21T15:38:25+00:00"},{"accountId":"account:user:a09020ad-cb24-4947-81d8-e5d76f27226a","user":"jujupr","date":"2024-10-02T10:17:06+00:00"}],"kudosCount":2,"bundleInformation":{"bundleVersion":"5.12.0.v202606261225","bundleName":"KNIME Base Nodes","bundleSymbolicName":"org.knime.base","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.base","featureName":"KNIME Base nodes","featureVersion":"5.12.0.v202606261225","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*bjR3r1yWOznPIEXS"},"frequentSuccessors":[{"id":"*T0AhxSe0Yi42rQK8","factoryName":"org.knime.base.node.preproc.partition.PartitionNodeFactory","probability":0.09694793536804308},{"id":"*T2WZJU7jOfyFDtl6","factoryName":"org.knime.base.node.mine.decisiontree2.learner2.DecisionTreeLearnerNodeFactory3","probability":0.08976660682226212},{"id":"*cB9KE6SSG6RhNZNp","factoryName":"org.knime.base.node.preproc.valcount.ValueCounterNodeFactory","probability":0.04129263913824058},{"id":"*2hhbyPN8yXaMD1YU","factoryName":"org.knime.base.node.mine.treeensemble2.node.randomforest.learner.classification.RandomForestClassificationLearnerNodeFactory2","probability":0.03949730700179533},{"id":"*wt9xSBS5UvbLqiFe","factoryName":"org.knime.base.node.mine.neural.rprop.RPropNodeFactory2","probability":0.03770197486535009},{"id":"*fGDUJ4TVqiyH7ChW","factoryName":"org.knime.base.node.mine.treeensemble2.node.randomforest.learner.classification.RandomForestClassificationLearnerNodeFactory","probability":0.03231597845601436},{"id":"*BKpS2Ow-rnvw2TSf","factoryName":"org.knime.base.node.meta.xvalidation.XValidatePartitionerFactory","probability":0.02872531418312388},{"id":"*OQlWyEt6N59f0jmF","factoryName":"org.knime.base.node.viz.property.color.ColorManager2NodeFactory","probability":0.026929982046678635},{"id":"*DOkyMaii62U05xZ1","factoryName":"org.knime.base.node.preproc.filter.column.DataColumnSpecFilterNodeFactory","probability":0.025134649910233394},{"id":"*Oy714gpoifm4PiOZ","factoryName":"org.knime.base.node.io.csvwriter.CSVWriterNodeFactory","probability":0.02154398563734291}]}
