{"title":"ROC Curve (JavaScript) (legacy)","nodeType":"Visualizer","id":"*OKRvXgFKIQmsm76N","factoryName":"org.knime.js.base.node.viz.plotter.roc.ROCCurveNodeFactory","factoryId":"org.knime.js.base.node.viz.plotter.roc.ROCCurveNodeFactory","path":["Views","JavaScript"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>This node draws ROC curves for two-class classification problems. The input table must contain a column with the real class values (including all class values as possible values) and a second column with the probabilities that an item (&#61;row) will be classified as being from the selected class. Therefore only learners/predictors that output class probabilities can be used.</p>\n                        \n            <p>In order to create a ROC curve for a model, the input table is first sorted by the class probabilities for the positive class i.e. rows for which the model is certain that it belongs to the positive class are sorted to front. Then the sorted rows are checked if the real class value is the actually the positive class. If so, the ROC curve goes up one step, if not it goes one step to the right. Ideally, all positive rows are sorted to front, so you have a line going up to 100% first and then going straight to right. As a rule of thumb, the greater the area under the curve, the better is the model.</p>\n                        \n            <p>You may compare the ROC curves of several trained models by first joining the class probability columns from the different predictors into one table and then selecting several column in the column filter panel.</p>\n                        \n            <p>The black diagonal line in the diagram is the random line which is the worst possible performance a model can achieve.</p>\n                \t    \n            <p>Additionally a static SVG image can be rendered, which is then made available at the first output port.</p>\n                        \n            <p>Note, this node is currently under development. Future versions of the node might have more or changed functionality.</p>\n                        \n            <p>The node supports custom CSS styling. You can simply put CSS rules into a single string and set it as a flow variable &#39;customCSS&#39; in the node configuration dialog. You will find the list of available classes and their description on our <a href=\"https://knime.com/css-styling\" rel=\"ugc nofollow noopener noreferrer\">documentation page</a> .</p>\n            \t\t\n        \n        ","shortDescription":"A ROC curve plot using a JavaScript based charting library.","keywords":[],"deprecated":false,"streamable":false,"tags":["Views","JavaScript"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABEElEQVQ4jZWTsY3CMBSGf7ijoXkSEmVEShqUEdyk9wiMkBFyG2QEvEGKDMAIticIMg2dIxb4rzkihXCS85VP+j49W/YKAEkihWEY4JyDcw4hBJRlie8UyRgDYwy891BKYb/fY7PZ4HQ6AX8bzIgxsq5rigi11mzbliQZQmDXdQwh8LX6TLbWsigKKqXY9/04f5c/Bqy1FBE2TTOZf5JngRgjRYSXyyVJngW01tRaJ8uTwPV6pYgwxpgsTwLn85lVVS2SJwERGW88VR4D1loeDofFMkmuAeB2uyHPc9zvd3jvURQFsixLet5fAH6OxyN2ux222+0iGQDWAPB8PvF4PBbLL2itTT7zOysAaX/5H34B2OpVVbWmgasAAAAASUVORK5CYII=","views":[],"interactiveView":{"name":"ROC Curve","description":"Displays a ROC curve visualization of the input data."},"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Display data","description":"Data table with data to display."},{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":true,"name":"Color info","description":"A table with one column that contains column names as rows. The color of each row is used in the plot. If this port is not connected, default colors are used."}],"outPorts":[{"objectClass":"org.knime.core.node.port.image.ImagePortObject","color":"41be78","dataType":"Image","optional":false,"name":"Image","description":"SVG image rendered by the JavaScript implementation of the ROC curve."},{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Area under curve","description":"The areas under the ROC curves."}],"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":"ROC Curve Settings","fields":[{"name":"Class column","description":"Select the column that contains the two classes that the model was trained on.","optional":false},{"name":"Positive class value","description":"Select the value from the class column that stands for the &#34;positive&#34; class, i.e. the value high probabilities in the probability column (see below) are assigned to.","optional":false},{"name":"Limit data points for each curve to","description":"By default each curve shows at most 2,000 different data points regardless how may rows are in the input. If you want to see more or less points in the curve, adjust this value. Lower values make rendering the curves faster but this is only an issue if you have many different curves. A value of -1 disables the limit and shows all input data points.","optional":false},{"name":"Columns containing the positive class probabilities","description":"Select the column(s) that contain the probabilities for the a row being from the positive class.","optional":false},{"name":"Ignore missing values","description":"If checked, the missing values in Class or Positive Class Probabilities columns will be ignored without a corresponding warning message. Otherwise, missing values in the Class Column will be treated as incorrect predictions; missing values in the Positive Class Probabilities columns will be sorted to the end (low probability) of the curves. A corresponding warning message will be raised.","optional":false}]},{"sectionName":"General Plot Options","fields":[{"name":"Create image at outport","description":"If an image is supposed to be rendered during execute for the upper outport. Disable this option if image is not needed or creation is too time consuming.","optional":false},{"name":"Chart title","description":"The width of the generated SVG image.","optional":false},{"name":"Chart subtitle","description":"The width of the generated SVG image.","optional":false},{"name":"Width of image (in px)","description":"The width of the generated SVG image.","optional":false},{"name":"Height of image (in px)","description":"The height of the generated SVG image.","optional":false},{"name":"Line width (in px)","description":"The width of the shown lines.","optional":false},{"name":"Show area under curve","description":"If set, the plot displays the size of the area under the curves","optional":false},{"name":"Resize view to fill window","description":"Setting this option resizes the view to the available area of the window. If disabled the view size is static according to the set width and height.","optional":false},{"name":"Display full screen button","description":"Displays a button enabling full screen mode.","optional":false},{"name":"Background color","description":"The color of the background of the image.","optional":false},{"name":"Data area color","description":"The background color of the data area, within the axes.","optional":false},{"name":"Show grid","description":"If an additional grid is being rendered at the axes tick positions.","optional":false},{"name":"Grid color","description":"The color of the grid.","optional":false},{"name":"Show warnings in view","description":"If checked, warning messages will be displayed in the view when they occur.","optional":false}]},{"sectionName":"Axis Configuration","fields":[{"name":"Label for x axis","description":"The text shown under the x axis","optional":false},{"name":"Label for y axis","description":"The text shown next to the y axis","optional":false},{"name":"Show color legend","description":"Whether to show a legend explaining the meaning of the lines in the plot.","optional":false}]},{"sectionName":"View Controls","fields":[{"name":"Enable view edit controls","description":"If checked, the user can modify view parameters directly.","optional":false},{"name":"Enable title edit controls","description":"If checked, the user can edit the view title in the view.","optional":false},{"name":"Enable subtitle edit controls","description":"If checked, the user can edit the view subtitle in the view.","optional":false},{"name":"Enable label edit for x axis","description":"If checked, the user can edit the label of the x axis in the view.","optional":false},{"name":"Enable label edit for y axis","description":"If checked, the user can edit the label of the y axis in the view.","optional":false}]}],"links":[],"kudos":[],"kudosCount":0,"bundleInformation":{"bundleVersion":"5.12.0.v202605041104","bundleName":"KNIME JavaScript Base Views","bundleSymbolicName":"org.knime.js.views","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.js.views","featureName":"KNIME JavaScript Views","featureVersion":"5.12.0.v202605041104","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*0qveOxOA3751S6Vx"},"frequentSuccessors":[{"id":"*kxEZaYvXuRyXSnCE","factoryName":"org.knime.base.node.image.writeimage.WriteImageNodeFactory","probability":0.09580838323353294},{"id":"*e3rnMYIl5BZphzl1","factoryName":"org.knime.base.node.viz.roc.ROCNodeFactory","probability":0.0718562874251497},{"id":"*UJSesR7RLSlocCzM","factoryName":"org.knime.base.node.image.ImageToTableNodeFactory","probability":0.0718562874251497},{"id":"*OKRvXgFKIQmsm76N","factoryName":"org.knime.js.base.node.viz.plotter.roc.ROCCurveNodeFactory","probability":0.0658682634730539},{"id":"*OFhUBYYlMMQ7ZM3F","factoryName":"org.knime.base.node.flowvariable.tablerowtovariable.TableToVariableNodeFactory","probability":0.0658682634730539},{"id":"*6jI6GPZYQlWirx9J","factoryName":"org.knime.base.node.viz.table.TableNodeFactory","probability":0.05389221556886228},{"id":"*IpO39g1LT_bEbVll","factoryName":"org.knime.js.base.node.output.image.ImageOutputNodeFactory","probability":0.04790419161676647},{"id":"*ZgYyOm1P9VJVBE9e","factoryName":"org.knime.base.node.preproc.joiner.Joiner2NodeFactory","probability":0.041916167664670656},{"id":"*_zMUh-EpYjdvFKW9","factoryName":"org.knime.base.node.preproc.columnappend.ColumnAppenderNodeFactory","probability":0.029940119760479042},{"id":"*SMkaasH0Wn3tKqfo","factoryName":"org.knime.base.node.mine.scorer.accuracy.AccuracyScorerNodeFactory","probability":0.029940119760479042}]}
