2
$\begingroup$

I have 100 datasets. All of them have varying number of features. There are around 20,000 samples in each of them. Every $i$-th sample in the 100 datasets has the same label ($0/1$). The data is highly imbalanced, so there are much fewer positive labels than 0 labels.

I want to give a score/weight to each dataset defining how successful it is in representing the labels. How can I do it?

$\endgroup$
4
  • 2
    $\begingroup$ I don't get the "every i-th sample" sentence. What is i? Are you just trying to say that every sample is labelled with either with 0 or 1 irrespectively of which data set it is form? $\endgroup$
    – Erik
    Commented Jan 7, 2014 at 15:12
  • $\begingroup$ Simple: make a classifier per data set and report its performance (accuracy, AUC, ...). $\endgroup$ Commented Jan 7, 2014 at 15:48
  • $\begingroup$ If I understand correctly: the nature of the observations (e.g. patient details) and the binary outcomes in all datasets are the same (e.g. Dead/Alive) but they can have different number of features (e.g. one dataset may have age, the other not). This is unusual. Can you clarify what you mean by the "every i-th sample" sentence, as @Erik has asked. $\endgroup$
    – Zhubarb
    Commented Jun 23, 2014 at 10:38
  • $\begingroup$ Perhaps you could find this nice answer and my recent answer relevant and helpful. $\endgroup$ Commented Jan 9, 2015 at 9:13

2 Answers 2

2
$\begingroup$

Build a model on each dataset and report your resampled evaluation metric.

Build it properly, using nested resampling, with an inner tuning loop and an outer testing loop.

In the case of the imbalance, you have to make some choices regarding resampling strategy parameters and stratification (i.e. at each resample at least one $1$ must be tested), evaluation metric (e.g. $AUC$ is more informative than accuracy in this case), etc.

$\endgroup$
0
$\begingroup$

In your case, I would very much like to try a method like The group lasso for logistic regression: collate your 100 data sets into one big data set X of size $20 000 \times p$, where $p$ is the total number of variables. Then apply the group lasso logistic regression on $(X,y)$, $y$ being the vector of classes (0s and 1s), and the groups being the 100 groups of variables.

A posteriori, you could sort the groups according to their importance in the model by considering the $\ell_2$-norm of their coefficients (normalized if the groups have very different sizes).

$\endgroup$
3
  • $\begingroup$ In this approach you build a model based on the concatenation of all data sets. It does not answer the OP's question which was to assign weights to each data set as a measure of informativeness. $\endgroup$ Commented Jan 7, 2014 at 15:50
  • $\begingroup$ Guys remember my dataset is highly unbalanced. I have very few of them are 1s not even 10 and like 19990 0s $\endgroup$
    – user34790
    Commented Jan 7, 2014 at 16:31
  • $\begingroup$ The importance of each group of variables can be measured through the $\ell_2$-norm of its coefficients. To address the fact that the classes are very very unbalanced (99% of zeros!!!!), I have to admit that the logistic regression may certainly not be a very wise choice... $\endgroup$ Commented Jan 7, 2014 at 16:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.