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.
- 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
- 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.
- 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.
-
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
-
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
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.
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.
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
Also when the solution_count is above a certain number the first solutions contain only 1 which in my case is the outcome.
Thank you again. Sorry for being so insistent but I think this function has a lot of potential to help me.
Best regards.
Melania