diff options
author | Calvin <calvin@EESI> | 2013-03-25 16:10:06 -0400 |
---|---|---|
committer | Calvin <calvin@EESI> | 2013-03-25 16:10:06 -0400 |
commit | cc8970858d15f4596f3f0726d92b494b1e34bd42 (patch) | |
tree | e21702c1ae959bb328538f9cd4cb9fc8d521b97c | |
parent | 308c5ffba14dc5211689e7afd90c5d58d9c5d581 (diff) |
modified C files to return the output array
-rw-r--r-- | FEAST/FEAST/FSToolbox/BetaGamma.c | 3 | ||||
-rw-r--r-- | FEAST/FEAST/FSToolbox/CMIM.c | 3 | ||||
-rw-r--r-- | FEAST/FEAST/FSToolbox/CondMI.c | 4 | ||||
-rw-r--r-- | FEAST/FEAST/FSToolbox/DISR.c | 3 | ||||
-rw-r--r-- | FEAST/FEAST/FSToolbox/FSAlgorithms.h | 14 | ||||
-rw-r--r-- | FEAST/FEAST/FSToolbox/ICAP.c | 4 | ||||
-rw-r--r-- | FEAST/FEAST/FSToolbox/JMI.c | 5 | ||||
-rw-r--r-- | FEAST/FEAST/FSToolbox/mRMR_D.c | 3 |
8 files changed, 24 insertions, 15 deletions
diff --git a/FEAST/FEAST/FSToolbox/BetaGamma.c b/FEAST/FEAST/FSToolbox/BetaGamma.c index d500752..925ef8b 100644 --- a/FEAST/FEAST/FSToolbox/BetaGamma.c +++ b/FEAST/FEAST/FSToolbox/BetaGamma.c @@ -57,7 +57,7 @@ /* MIToolbox includes */ #include "MutualInformation.h" -void BetaGamma(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures, double betaParam, double gammaParam) +double* BetaGamma(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures, double betaParam, double gammaParam) { double **feature2D = (double **) CALLOC_FUNC(noOfFeatures,sizeof(double *)); @@ -183,5 +183,6 @@ void BetaGamma(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, outputFeatures[i] += 1; /*C++ indexes from 0 not 1*/ }/*for number of selected features*/ + return outputFeatures; }/*BetaGamma(int,int,int,double[][],double[],double[],double,double)*/ diff --git a/FEAST/FEAST/FSToolbox/CMIM.c b/FEAST/FEAST/FSToolbox/CMIM.c index 8815644..9ef21ad 100644 --- a/FEAST/FEAST/FSToolbox/CMIM.c +++ b/FEAST/FEAST/FSToolbox/CMIM.c @@ -53,7 +53,7 @@ /* MIToolbox includes */ #include "MutualInformation.h" -void CMIM(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) +double* CMIM(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) { /*holds the class MI values **the class MI doubles as the partial score from the CMIM paper @@ -137,5 +137,6 @@ void CMIM(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, doubl lastUsedFeature = NULL; feature2D = NULL; + return outputFeatures; }/*CMIM(int,int,int,double[][],double[],double[])*/ diff --git a/FEAST/FEAST/FSToolbox/CondMI.c b/FEAST/FEAST/FSToolbox/CondMI.c index e1f746a..ea6f8ee 100644 --- a/FEAST/FEAST/FSToolbox/CondMI.c +++ b/FEAST/FEAST/FSToolbox/CondMI.c @@ -52,7 +52,7 @@ #include "MutualInformation.h" #include "ArrayOperations.h" -void CondMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) +double* CondMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) { /*holds the class MI values*/ double *classMI = (double *)CALLOC_FUNC(noOfFeatures,sizeof(double)); @@ -160,5 +160,7 @@ void CondMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, dou feature2D = NULL; featureMIMatrix = NULL; selectedFeatures = NULL; + + return outputFeatures; }/*CondMI(int,int,int,double[][],double[],double[])*/ diff --git a/FEAST/FEAST/FSToolbox/DISR.c b/FEAST/FEAST/FSToolbox/DISR.c index f8b19e6..3ec7676 100644 --- a/FEAST/FEAST/FSToolbox/DISR.c +++ b/FEAST/FEAST/FSToolbox/DISR.c @@ -53,7 +53,7 @@ #include "Entropy.h" #include "ArrayOperations.h" -void DISR(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) +double* DISR(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) { /*holds the class MI values*/ double *classMI = (double *)CALLOC_FUNC(noOfFeatures,sizeof(double)); @@ -177,5 +177,6 @@ void DISR(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, doubl featureMIMatrix = NULL; selectedFeatures = NULL; + return outputFeatures; }/*DISR(int,int,int,double[][],double[],double[])*/ diff --git a/FEAST/FEAST/FSToolbox/FSAlgorithms.h b/FEAST/FEAST/FSToolbox/FSAlgorithms.h index f53990c..e6ddba8 100644 --- a/FEAST/FEAST/FSToolbox/FSAlgorithms.h +++ b/FEAST/FEAST/FSToolbox/FSAlgorithms.h @@ -76,7 +76,7 @@ ** "Feature Selection Based on Mutual Information: Criteria of Max-Dependency, Max-Relevance, and Min-Redundancy" ** H. Peng et al. IEEE Pattern Analysis and Machine Intelligence (PAMI) (2005) *******************************************************************************/ -void mRMR_D(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); +double* mRMR_D(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); /******************************************************************************* ** CMIM() implements a discrete version of the @@ -86,7 +86,7 @@ void mRMR_D(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, dou ** "Fast Binary Feature Selection using Conditional Mutual Information Maximisation" ** F. Fleuret, JMLR (2004) *******************************************************************************/ -void CMIM(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); +double* CMIM(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); /******************************************************************************* ** JMI() implements the JMI criterion from @@ -94,7 +94,7 @@ void CMIM(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, doubl ** "Data Visualization and Feature Selection: New Algorithms for Nongaussian Data" ** H. Yang and J. Moody, NIPS (1999) *******************************************************************************/ -void JMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); +double* JMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); /******************************************************************************* ** DISR() implements the Double Input Symmetrical Relevance criterion @@ -103,7 +103,7 @@ void JMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double ** "On the Use of Variable Complementarity for Feature Selection in Cancer Classification" ** P. Meyer and G. Bontempi, (2006) *******************************************************************************/ -void DISR(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); +double* DISR(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); /******************************************************************************* ** ICAP() implements the Interaction Capping criterion from @@ -111,12 +111,12 @@ void DISR(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, doubl ** "Machine Learning Based on Attribute Interactions" ** A. Jakulin, PhD Thesis (2005) *******************************************************************************/ -void ICAP(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); +double* ICAP(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); /******************************************************************************* ** CondMI() implements the CMI criterion using a greedy forward search *******************************************************************************/ -void CondMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); +double* CondMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures); /******************************************************************************* ** betaGamma() implements the Beta-Gamma space from Brown (2009). @@ -133,6 +133,6 @@ void CondMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, dou ** G. Brown, A. Pocock, M.-J. Zhao, M. Lujan ** Journal of Machine Learning Research (JMLR), 2011 *******************************************************************************/ -void BetaGamma(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures, double beta, double gamma); +double* BetaGamma(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures, double beta, double gamma); #endif diff --git a/FEAST/FEAST/FSToolbox/ICAP.c b/FEAST/FEAST/FSToolbox/ICAP.c index 8f1e260..00953a7 100644 --- a/FEAST/FEAST/FSToolbox/ICAP.c +++ b/FEAST/FEAST/FSToolbox/ICAP.c @@ -51,7 +51,7 @@ /* MIToolbox includes */ #include "MutualInformation.h" -void ICAP(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) +double* ICAP(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) { /*holds the class MI values*/ double *classMI = (double *)CALLOC_FUNC(noOfFeatures,sizeof(double)); @@ -178,5 +178,7 @@ void ICAP(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, doubl featureMIMatrix = NULL; featureCMIMatrix = NULL; selectedFeatures = NULL; + + return outputFeatures; }/*ICAP(int,int,int,double[][],double[],double[])*/ diff --git a/FEAST/FEAST/FSToolbox/JMI.c b/FEAST/FEAST/FSToolbox/JMI.c index 64f8807..30ef1bc 100644 --- a/FEAST/FEAST/FSToolbox/JMI.c +++ b/FEAST/FEAST/FSToolbox/JMI.c @@ -52,7 +52,7 @@ #include "MutualInformation.h" #include "ArrayOperations.h" -void JMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) +double* JMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) { /*holds the class MI values*/ double *classMI = (double *)CALLOC_FUNC(noOfFeatures,sizeof(double)); @@ -156,7 +156,6 @@ void JMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double for (i = 0; i < k; i++) { - printf("%f\n", outputFeatures[i]); outputFeatures[i] += 1; /*C indexes from 0 not 1*/ }/*for number of selected features*/ @@ -172,5 +171,7 @@ void JMI(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double mergedVector = NULL; selectedFeatures = NULL; + return outputFeatures; + }/*JMI(int,int,int,double[][],double[],double[])*/ diff --git a/FEAST/FEAST/FSToolbox/mRMR_D.c b/FEAST/FEAST/FSToolbox/mRMR_D.c index 6710866..3eeb2a4 100644 --- a/FEAST/FEAST/FSToolbox/mRMR_D.c +++ b/FEAST/FEAST/FSToolbox/mRMR_D.c @@ -52,7 +52,7 @@ /* MIToolbox includes */ #include "MutualInformation.h" -void mRMR_D(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) +double* mRMR_D(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, double *classColumn, double *outputFeatures) { double **feature2D = (double**) CALLOC_FUNC(noOfFeatures,sizeof(double*)); /*holds the class MI values*/ @@ -165,5 +165,6 @@ void mRMR_D(int k, int noOfSamples, int noOfFeatures, double *featureMatrix, dou featureMIMatrix = NULL; selectedFeatures = NULL; + return outputFeatures; }/*mRMR(int,int,int,double[][],double[],double[])*/ |