mRMRe icon indicating copy to clipboard operation
mRMRe copied to clipboard

questions on mRMRe

Open ghost opened this issue 6 years ago • 2 comments

I am trying this code on a rather small data created by myself. The data consist of 10 covariates and 100 observations. The first three are correlated among themselves and the first 5 are associated with outcome. The outcome is a survival object created by Surv. The survival object is in the first place in the data. I am trying to use it and I have the following questions.

  1. I am mostly interested in mRMR.ensample with method=’bootstrap’. My understanding is that solution_count parameter will implicitly set the number of boostrap resampling done. Since the survival object is on the first place in the data the target_indices=1. At this point I am only asking for feature_count=3. The question is why does this code does not work for a solution count of 125. It works for 100 but not for 125.

b=mRMR.ensemble(data = mydd, target_indices = c(1),method='bootstrap',solution_count=100,feature_count = 3) b=mRMR.ensemble(data = mydd, target_indices = c(1),method='bootstrap',solution_count=125,feature_count = 3) Error in .local(.Object, ...) : user cannot request for more solutions than is possible given the data set

  1. It seems that once it chooses one solution it gets stuck with it. I f I ask for 10 solutions and I run it twice I get:

b=mRMR.ensemble(data = mydd, target_indices = c(1),method='bootstrap',solution_count=10,feature_count = 3) solutions(b) $1 [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 3 3 3 3 3 3 3 3 3 3 [2,] 5 5 5 5 5 5 5 5 5 5 [3,] 6 7 7 7 7 7 7 7 7 7 b=mRMR.ensemble(data = mydd, target_indices = c(1),method='bootstrap',solution_count=10,feature_count = 3) solutions(b) $1 [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 3 2 2 2 2 2 2 2 2 2 [2,] 5 5 5 5 5 5 5 5 5 5 [3,] 6 9 9 9 9 9 9 9 9 9 But if I run it asking for 20 solutions I get: b=mRMR.ensemble(data = mydd, target_indices = c(1),method='bootstrap',solution_count=20,feature_count = 3) solutions(b) $1 [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [1,] 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [2,] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [3,] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 I would have expected to get a mixture of the two in all three instances.

  1. Of a lesser importance is the following. When I run mRMR.classic and I am asking for more features than possible I obtain the outcome among the chosen features and it gets repeated until the number I asked for is filled. Here I have 10 covariates and I am asking for 13. Here it is what I get:

a=mRMR.classic(data = mydd, target_indices = c(1),feature_count = 13) solutions(a) $1 [,1] [1,] 3 [2,] 5 [3,] 6 [4,] 2 [5,] 8 [6,] 7 [7,] 4 [8,] 11 [9,] 10 [10,] 9 [11,] 1 [12,] 1 [13,] 1 This is not a problem in itself but it becomes one when one runs simulations and the process becomes automatic. I am just wondering if this can be fixed.

thank you

13 February 2018 Thank you for looking into this issue. I have tried and it seems that selection differs now from run to run.

  1. However the solution_count still has a limit on ow many i can ask: b=mRMR.ensemble(data = mydd, target_indices = c(1),solution_count=300,feature_count = 7) Error in .local(.Object, ...) : user cannot request for more solutions than is possible given the data set

  2. Also when the solution_count is above a certain number the first solutions contain only 1 which in my case is the outcome.

b=mRMR.ensemble(data = mydd, target_indices = c(1),solution_count=30,feature_count = 7) solutions(b) $1 [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [1,] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 9 10 [2,] 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 10 11 3 3 [3,] 1 1 1 1 1 1 1 1 1 1 5 6 5 3 2 3 3 3 3 3 5 5 [4,] 1 1 1 1 1 1 1 1 1 1 8 8 6 6 5 5 5 5 5 5 2 2 [5,] 1 1 1 1 1 1 1 1 1 1 6 2 2 4 3 2 2 2 2 2 6 6 [6,] 1 1 1 1 1 1 1 1 1 1 7 11 8 8 9 6 6 8 6 6 8 8 [7,] 1 1 1 1 1 1 1 1 1 1 4 10 10 2 10 10 7 6 8 8 4 11 [,23] [,24] [,25] [,26] [,27] [,28] [,29] [,30] [1,] 8 11 7 6 5 4 2 3 [2,] 3 3 3 2 6 5 5 5 [3,] 5 5 5 11 8 6 6 6 [4,] 2 2 2 3 3 3 8 2 [5,] 7 7 6 5 7 8 4 8 [6,] 10 6 10 8 10 7 3 7 [7,] 4 8 4 4 2 10 10 4

Thank you again. Sorry for being so insistent but I think this function has a lot of potential to help me. Best regards. Melania

ghost avatar Dec 21 '17 16:12 ghost