Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3

Insert excerpt
Clean Missing Values (Alpha Version)
Clean Missing Values (Alpha Version)
nopaneltrue

Overview

This is a Transform type Snap that performs K-fold Cross Validation on a classification dataset. Cross validation is a technique for evaluating ML algorithms by splitting the original dataset into K equally-sized chunks. K is the number of 'folds'. In each of the K iterations, K-1 chunks area used to train the model while the last chunk is used as a test set. The average accuracy and other statistics are computed to be used to select the most suitable algorithm for the dataset.

In the settings, you can select the algorithm, specify parameters, and number of folds. If you want to perform K-fold Cross Validation on regression dataset, please use the Cross Validator – Regression Snap instead. You can use this Snap to determine the most suitable algorithm for your dataset to train the ML model.

Image Modified

Input and Output

Expected input: A classification dataset is required as an input.

Expected output: The output from the Snap is a statistical information of the ML model depicting the chosen algorithms accuracy with the dataset.

Expected upstream Snap: Any Snap that generates a classification dataset document is usable as an upstream Snap. For example, CSV Generator, JSON Generator, XML Generator, Copy, and so on.

Expected downstream SnapCSV/JSON Formatter Snap and File Writer Snap can be used to write the output statistics to file.

Prerequisites

  • The data from upstream Snap must be in tabular format (no nested structure). 
  • This Snap automatically derives the schema (column names and types) from the first row. Therefore, the first row must not have any missing values.

Configuring Accounts

Accounts are not used with this Snap.

Configuring Views

Input

This Snap has exactly one document input view.
OutputThis Snap has exactly one document output view.
ErrorThis Snap has at most one document error view.

Troubleshooting

None.

Limitations and Known Issues

None.

Modes


Snap Settings


LabelRequired. The name for the Snap. Modify this to be more specific, especially if there are more than one of the same Snap in the pipeline.
Label field

Required. The label or output field in the dataset. This must be a categorical type represented as text (string data type). This is the field that the ML model will be trained to predict.

Default value: None

Example: $class

Algorithm

Required. The classification algorithm to be used to build the model. There are eight classification algorithms available currently:

  • Decision Tree
  • K-Nearest Neighbors
  • Logistic Regression
  • Naive Bayes
  • Support Vector Machines
  • Decision Stump
  • Random Forests
  • Multilayer Perceptron.

The implementations are from WEKA, an open source machine learning library in Java.

Default value: Decision Tree

Option

The parameters to be applied on the selected classification algorithm. Each algorithm has a different set of parameters to be configured in this field. If the field is left blank, the default values are applied for all the parameters. If specifying multiple parameters, separate them with a comma (,).

See Options for Algorithms section below for details.

Default value: None

Examples:

  • batch_size = 120
  • batch_size = 120, collapse_tree = true
Fold

Required. The number of folds.

.Minimum value: 2

Default value: 10

Use random seed

If selected, Random seed is applied to randomizer in order to get reproducible results

Default value: Selected

Random seed

RequiredNumber used as static seed for randomizer.

Default value: 12345


Options for Algorithms


Expand
titleOptions for algorithms

Insert excerpt
Trainer -- Classification (Alpha Version)
Trainer -- Classification (Alpha Version)
nopaneltrue




Snap History


Insert excerpt
ML Core Snap Pack
ML Core Snap Pack
nopaneltrue