citrus.thresholdCVs: Calculate model error rates

View source: R/citrus.model.R

citrus.thresholdCVsR Documentation

Calculate model error rates

Description

Calculate model error rates at different regularization thresholds.

Usage

citrus.thresholdCVs.quick.classification(modelType, features, labels,
  regularizationThresholds, nCVFolds = 10, ...)

citrus.thresholdCVs.quick.continuous(modelType, features, labels,
  regularizationThresholds, nCVFolds = 10, ...)

citrus.thresholdCVs(modelType, foldFeatures, labels, regularizationThresholds,
  family, folds, foldModels, leftoutFeatures, ...)

citrus.thresholdCVs.quick(modelType, features, labels, regularizationThresholds,
  family, nCVFolds = 10, ...)

Arguments

modelType

Type of model to be constructed. Valid options are: pamr and glmnet.

features

Features calculated from a clustering of all samples.

labels

Endpoint labels of clustered samples.

regularizationThresholds

Thresholds for model regularization.

nCVFolds

Number of folds for quick cross-validation.

...

Other parameters passsed to model-fitting methods.

foldFeatures

List of features with each entry containing features from an independent clustering.

family

Model family. Valid options are classification and continuous.

folds

List of fold indices

foldModels

Models constructed from each fold of features.

leftoutFeatures

Features calculated for leftout samples mapped to clustered data space.

Details

If independent fold-clustering and fold-features are calculated, use citrus.thresholdCVs. If features are derived from a clustering of all samples together, use citrus.thresholdCVs.quick. See examples.

Value

Matrix of model error rates, standard error of error estimates, and false discovery rates (if possible) at supplied regularization thresholds.

Author(s)

Robert Bruggner

Examples

########################################
# Example of citrus.thresholdCVs.quick
########################################
# Where the data lives
dataDirectory = file.path(system.file(package = "citrus"),"extdata","example1")

# Create list of files to be analyzed
fileList = data.frame("unstim"=list.files(dataDirectory,pattern=".fcs"))

# Read the data
citrus.combinedFCSSet = citrus.readFCSSet(dataDirectory,fileList)

# List of columns to be used for clustering
clusteringColumns = c("Red","Blue")

# Cluster data
citrus.clustering = citrus.cluster(citrus.combinedFCSSet,clusteringColumns)

# Large enough clusters
largeEnoughClusters = citrus.selectClusters(citrus.clustering)

# Build features
abundanceFeatures = citrus.calculateFeatures(citrus.combinedFCSSet,clusterAssignments=citrus.clustering$clusterMembership,clusterIds=largeEnoughClusters)

# List disease group of each sample
labels = factor(rep(c("Healthy","Diseased"),each=10))

# Calculate regularization thresholds
regularizationThresholds = citrus.generateRegularizationThresholds.classification(abundanceFeatures,labels,modelType="pamr")

# Calculate CV Error rates
thresholdCVRates = citrus.thresholdCVs.quick("pamr",abundanceFeatures,labels,regularizationThresholds,family="classification")

########################################
# Example of citrus.thresholdCVs
########################################
# Where the data lives
dataDirectory = file.path(system.file(package = "citrus"),"extdata","example1")

# Create list of files to be analyzed
fileList = data.frame("unstim"=list.files(dataDirectory,pattern=".fcs"))

# Read the data
citrus.combinedFCSSet = citrus.readFCSSet(dataDirectory,fileList)

# List disease group of each sample
labels = factor(rep(c("Healthy","Diseased"),each=10))

# List of columns to be used for clustering
clusteringColumns = c("Red","Blue")

# Cluster each fold
citrus.foldClustering = citrus.clusterAndMapFolds(citrus.combinedFCSSet,clusteringColumns,labels,nFolds=4)

# Build fold features and leftout features
citrus.foldFeatureSet = citrus.calculateFoldFeatureSet(citrus.foldClustering,citrus.combinedFCSSet)

# Build fold models
citrus.foldModels = citrus.buildFoldsEndpointModels(type="pamr",citrus.foldFeatureSet,labels)

citrus.thresholdCVs(modelType="pamr",
                    foldFeatures=citrus.foldFeatureSet$foldFeatures,
                    labels=labels,
                    regularizationThresholds=citrus.foldModels[[1]]$regularizationThresholds,
                    family="classification",
                    folds=citrus.foldFeatureSet$folds,
                    foldModels=citrus.foldModels,
                    leftoutFeatures=citrus.foldFeatureSet$leftoutFeatures)

nolanlab/citrus documentation built on April 19, 2024, 6:49 p.m.