KolmogorovSmirnovSelection {ClassifyR} | R Documentation

## Selection of Differential Distributions with Kolmogorov-Smirnov Distance

### Description

Ranks features by largest Kolmogorov-Smirnov distance and chooses the features which have best resubstitution performance.

### Usage

      ## S4 method for signature 'matrix'
    KolmogorovSmirnovSelection(measurements, classes, ...)
      ## S4 method for signature 'DataFrame'
    KolmogorovSmirnovSelection(measurements, classes, datasetName,
                                       trainParams, predictParams, resubstituteParams, ...,
                                       selectionName = "Kolmogorov-Smirnov Test", verbose = 3)
      ## S4 method for signature 'MultiAssayExperiment'
    KolmogorovSmirnovSelection(measurements, targets = names(measurements), ...)

### Arguments

`measurements` | Either a `matrix`, `DataFrame` or `MultiAssayExperiment` containing the training data. For a `matrix`, the rows are features, and the columns are samples.
`classes` | Either a vector of class labels of class `factor` of the same length as the number of samples in `measurements` or if the measurements are of class `DataFrame` a character vector of length 1 containing the column name in `measurement` is also permitted. Not used if `measurements` is a `MultiAssayExperiment` object.
`targets` | If `measurements` is a `MultiAssayExperiment`, the names of the data tables to be used. `"clinical"` is also a valid value and specifies that numeric variables from the clinical data table will be used.
`...` | Variables not used by the `matrix` nor the `MultiAssayExperiment` method which are passed into and used by the `DataFrame` method or options which are accepted by the function `ks.test`.
`datasetName` | A name for the data set used. Stored in the result.
`trainParams` | A container of class `TrainParams` describing the classifier to use for training.
`predictParams` | A container of class `PredictParams` describing how prediction is to be done.
`resubstituteParams` | An object of class `ResubstituteParams` describing the performance measure to consider and the numbers of top features to try for resubstitution classification.
`selectionName` | A name to identify this selection method by. Stored in the result.
`verbose` | Default: 3. A number between 0 and 3 for the amount of progress messages to give. This function only prints progress messages if the value is 3.

### Details

Features are sorted in order of biggest distance to smallest. The top number of features is used in a classifier, to determine which number of features has the best resubstitution performance.

Data tables which consist entirely of non-numeric data cannot be analysed. If `measurements` is an object of class `MultiAssayExperiment`, the factor of sample classes must be stored in the DataFrame accessible by the `colData` function with column name `"class"`.

### Value

An object of class `SelectResult` or a list of such objects, if the classifier which was used for determining the specified performance metric made a number of prediction varieties.

### Author(s)

Dario Strbenac

### Examples

      # First 20 features have bimodal distribution for Poor class.
      # Other 80 features have normal distribution for both classes.
      set.seed(1984)
      genesMatrix <- sapply(1:25, function(sample)
                                  {
                                    randomMeans <- sample(c(8, 12), 20, replace = TRUE)
                                    c(rnorm(20, randomMeans, 1), rnorm(80, 10, 1))
                                  }
                           )
      genesMatrix <- cbind(genesMatrix, sapply(1:25, function(sample) rnorm(100, 10, 1)))
      rownames(genesMatrix) <- paste("Gene", 1:nrow(genesMatrix))
      classes <- factor(rep(c("Poor", "Good"), each = 25))

      resubstituteParams <- ResubstituteParams(nFeatures = seq(5, 25, 5),
                                               performanceType = "balanced error",
                                               better = "lower")
      selected <- KolmogorovSmirnovSelection(genesMatrix, classes, "Example",
                                 trainParams = TrainParams(naiveBayesKernel),
                                 predictParams = PredictParams(NULL),
                                 resubstituteParams = resubstituteParams)

      head(selected@chosenFeatures)
      plotFeatureClasses(genesMatrix, classes, "Gene 13", dotBinWidth = 0.25,
                         xAxisLabel = bquote(log[2]*'(expression)'))

[Package ClassifyR version 2.14.0 Index]