title: Removing features with low variance using scikit-learn
body: <p>scikit-learn provides various methods to remove descriptors, a basic method for this purpose has been provided by the given tutorial below,  </p>
  
  <p><a href="http://scikit-learn.org/stable/modules/feature_selection.html" rel="noreferrer">http://scikit-learn.org/stable/modules/feature_selection.html</a></p>
  
  <p>but the tutorial does not provide any method or a way that can tell you the way to keep the list of features that either removed or kept. </p>
  
  <p>The code below has been taken from the tutorial. </p>
  
  <pre><code>    from sklearn.feature_selection import VarianceThreshold
      X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]
      sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
      sel.fit_transform(X)
  array([[0, 1],
         [1, 0],
         [0, 0],
         [1, 1],
         [1, 0],
         [1, 1]])
  </code></pre>
  
  <p>The given example code above depicts only two descriptors "shape(6, 2)", but in my case, I have a huge data frames with a shape of (rows 51, columns 9000). After finding a suitable model I want to keep the track of useful and useless features because I can save computational time during the computation of the features of test data set by calculating only useful features.</p>
  
  <p>For example, when you perform machine learning modeling with WEKA 6.0, it provided with remarkable flexibility over feature selection and after removing the useless feature you can get a list of a discarded features along with the useful features.</p>
  
  <p>thanks </p>