Class CrossValidation
Allows test metrics/scores to be calculated using cross validation.
Inherited Members
Namespace: BayesServer.Data
Assembly: BayesServer.Data.dll
Syntax
public static class CrossValidation
Methods
Combine(IEnumerable<ICrossValidationTestResult>, CrossValidationCombineMethod)
Provides standard ways of combining numeric test results from a number of partitions. These can be used in the combine each phase of k-fold cross validation.
Declaration
public static double Combine(IEnumerable<ICrossValidationTestResult> testResults, CrossValidationCombineMethod method)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<ICrossValidationTestResult> | testResults | The test results. Typically one for each test partitioning. |
CrossValidationCombineMethod | method | The method to be used to combine the test results. |
Returns
Type | Description |
---|---|
Double | The overall cross validation score, which can be used to compare models. |
kFold(Int32, Int32, Func<DataPartitioning, ICrossValidationNetwork>, Func<DataPartitioning, ICrossValidationNetwork, ICrossValidationTestResult[]>, Func<Int32, ICrossValidationTestResult[], ICrossValidationScore>)
Performs k-fold cross validation.
Declaration
public static ICrossValidationScore[] kFold(int partitionCount, int testMetricCount, Func<DataPartitioning, ICrossValidationNetwork> learn, Func<DataPartitioning, ICrossValidationNetwork, ICrossValidationTestResult[]> test, Func<int, ICrossValidationTestResult[], ICrossValidationScore> combine)
Parameters
Type | Name | Description |
---|---|---|
Int32 | partitionCount | The number of partitions to use. |
Int32 | testMetricCount | The number of test metrics being calculated. |
Func<DataPartitioning, ICrossValidationNetwork> | learn | A user supplied function to learn a network based on a training partitioning of the data. |
Func<DataPartitioning, ICrossValidationNetwork, ICrossValidationTestResult[]> | test | A user supplied function to test the network on a test partioning of the data. |
Func<Int32, ICrossValidationTestResult[], ICrossValidationScore> | combine | A user supplied function to combine the test results over multiple partitionings. |
Returns
Type | Description |
---|---|
ICrossValidationScore[] | A score for each test metric. |
kFoldList(Int32)
Gets a list of training and test DataPartitioning instances for each partition.
Declaration
public static IList<CrossValidationOutput> kFoldList(int partitionCount)
Parameters
Type | Name | Description |
---|---|---|
Int32 | partitionCount | The number of k-fold partitions. |
Returns
Type | Description |
---|---|
IList<CrossValidationOutput> | Training and test DataPartitioning instances for each partition. |
Remarks
This method is an alternative to the callback based BayesServer.Data.CrossValidation.kFold method.