Fork me on GitHub

classify-samples: Train and test a cross-validated supervised learning classifier.ΒΆ

Docstring:

Usage: qiime sample-classifier classify-samples [OPTIONS]

  Predicts a categorical sample metadata column using a supervised learning
  classifier. Splits input data into training and test sets. The training
  set is used to train and test the estimator using a stratified k-fold
  cross-validation scheme. This includes optional steps for automated
  feature extraction and hyperparameter optimization. The test set validates
  classification accuracy of the optimized estimator. Outputs classification
  results for test set. For more details on the learning algorithm, see
  http://scikit-learn.org/stable/supervised_learning.html

Inputs:
  --i-table ARTIFACT FeatureTable[Frequency]
                       Feature table containing all features that should be
                       used for target prediction.                  [required]
Parameters:
  --m-metadata-file METADATA
  --m-metadata-column COLUMN  MetadataColumn[Categorical]
                       Categorical metadata column to use as prediction
                       target.                                      [required]
  --p-test-size PROPORTION Range(0.0, 1.0, inclusive_start=False)
                       Fraction of input samples to exclude from training set
                       and use for classifier testing.          [default: 0.2]
  --p-step PROPORTION Range(0.0, 1.0, inclusive_start=False)
                       If optimize-feature-selection is True, step is the
                       percentage of features to remove at each iteration.
                                                               [default: 0.05]
  --p-cv INTEGER       Number of k-fold cross-validations to perform.
    Range(1, None)                                                [default: 5]
  --p-random-state INTEGER
                       Seed used by random number generator.        [optional]
  --p-n-jobs INTEGER   Number of jobs to run in parallel.         [default: 1]
  --p-n-estimators INTEGER
    Range(1, None)     Number of trees to grow for estimation. More trees
                       will improve predictive accuracy up to a threshold
                       level, but will also increase time and memory
                       requirements. This parameter only affects ensemble
                       estimators, such as Random Forest, AdaBoost,
                       ExtraTrees, and GradientBoosting.        [default: 100]
  --p-estimator TEXT Choices('RandomForestClassifier',
    'ExtraTreesClassifier', 'GradientBoostingClassifier',
    'AdaBoostClassifier', 'KNeighborsClassifier', 'LinearSVC', 'SVC')
                       Estimator method to use for sample prediction.
                                           [default: 'RandomForestClassifier']
  --p-optimize-feature-selection / --p-no-optimize-feature-selection
                       Automatically optimize input feature selection using
                       recursive feature elimination.         [default: False]
  --p-parameter-tuning / --p-no-parameter-tuning
                       Automatically tune hyperparameters using random grid
                       search.                                [default: False]
  --p-palette TEXT Choices('YellowOrangeBrown', 'YellowOrangeRed',
    'OrangeRed', 'PurpleRed', 'RedPurple', 'BluePurple', 'GreenBlue',
    'PurpleBlue', 'YellowGreen', 'summer', 'copper', 'viridis', 'plasma',
    'inferno', 'magma', 'sirocco', 'drifting', 'melancholy', 'enigma', 'eros',
    'spectre', 'ambition', 'mysteriousstains', 'daydream', 'solano',
    'navarro', 'dandelions', 'deepblue', 'verve', 'greyscale')
                       The color palette to use for plotting.
                                                          [default: 'sirocco']
  --p-missing-samples TEXT Choices('error', 'ignore')
                       How to handle missing samples in metadata. "error"
                       will fail if missing samples are detected. "ignore"
                       will cause the feature table and metadata to be
                       filtered, so that only samples found in both files are
                       retained.                            [default: 'error']
Outputs:
  --o-sample-estimator ARTIFACT SampleEstimator[Classifier]
                       Trained sample estimator.                    [required]
  --o-feature-importance ARTIFACT FeatureData[Importance]
                       Importance of each input feature to model accuracy.
                                                                    [required]
  --o-predictions ARTIFACT SampleData[ClassifierPredictions]
                       Predicted target values for each input sample.
                                                                    [required]
  --o-model-summary VISUALIZATION
                       Summarized parameter and (if enabled) feature
                       selection information for the trained estimator.
                                                                    [required]
  --o-accuracy-results VISUALIZATION
                       Accuracy results visualization.              [required]
Miscellaneous:
  --output-dir PATH    Output unspecified results to a directory
  --verbose / --quiet  Display verbose output to stdout and/or stderr during
                       execution of this action. Or silence output if
                       execution is successful (silence is golden).
  --citations          Show citations and exit.
  --help               Show this message and exit.

Import:

from qiime2.plugins.sample_classifier.pipelines import classify_samples

Docstring:

Train and test a cross-validated supervised learning classifier.

Predicts a categorical sample metadata column using a supervised learning
classifier. Splits input data into training and test sets. The training set
is used to train and test the estimator using a stratified k-fold cross-
validation scheme. This includes optional steps for automated feature
extraction and hyperparameter optimization. The test set validates
classification accuracy of the optimized estimator. Outputs classification
results for test set. For more details on the learning algorithm, see
http://scikit-learn.org/stable/supervised_learning.html

Parameters
----------
table : FeatureTable[Frequency]
    Feature table containing all features that should be used for target
    prediction.
metadata : MetadataColumn[Categorical]
    Categorical metadata column to use as prediction target.
test_size : Float % Range(0.0, 1.0, inclusive_start=False), optional
    Fraction of input samples to exclude from training set and use for
    classifier testing.
step : Float % Range(0.0, 1.0, inclusive_start=False), optional
    If optimize_feature_selection is True, step is the percentage of
    features to remove at each iteration.
cv : Int % Range(1, None), optional
    Number of k-fold cross-validations to perform.
random_state : Int, optional
    Seed used by random number generator.
n_jobs : Int, optional
    Number of jobs to run in parallel.
n_estimators : Int % Range(1, None), optional
    Number of trees to grow for estimation. More trees will improve
    predictive accuracy up to a threshold level, but will also increase
    time and memory requirements. This parameter only affects ensemble
    estimators, such as Random Forest, AdaBoost, ExtraTrees, and
    GradientBoosting.
estimator : Str % Choices('RandomForestClassifier', 'ExtraTreesClassifier', 'GradientBoostingClassifier', 'AdaBoostClassifier', 'KNeighborsClassifier', 'LinearSVC', 'SVC'), optional
    Estimator method to use for sample prediction.
optimize_feature_selection : Bool, optional
    Automatically optimize input feature selection using recursive feature
    elimination.
parameter_tuning : Bool, optional
    Automatically tune hyperparameters using random grid search.
palette : Str % Choices('YellowOrangeBrown', 'YellowOrangeRed', 'OrangeRed', 'PurpleRed', 'RedPurple', 'BluePurple', 'GreenBlue', 'PurpleBlue', 'YellowGreen', 'summer', 'copper', 'viridis', 'plasma', 'inferno', 'magma', 'sirocco', 'drifting', 'melancholy', 'enigma', 'eros', 'spectre', 'ambition', 'mysteriousstains', 'daydream', 'solano', 'navarro', 'dandelions', 'deepblue', 'verve', 'greyscale'), optional
    The color palette to use for plotting.
missing_samples : Str % Choices('error', 'ignore'), optional
    How to handle missing samples in metadata. "error" will fail if missing
    samples are detected. "ignore" will cause the feature table and
    metadata to be filtered, so that only samples found in both files are
    retained.

Returns
-------
sample_estimator : SampleEstimator[Classifier]
    Trained sample estimator.
feature_importance : FeatureData[Importance]
    Importance of each input feature to model accuracy.
predictions : SampleData[ClassifierPredictions]
    Predicted target values for each input sample.
model_summary : Visualization
    Summarized parameter and (if enabled) feature selection information for
    the trained estimator.
accuracy_results : Visualization
    Accuracy results visualization.