Advertisement
Guest User

Untitled

a guest
Aug 4th, 2015
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. def selectKImportance(model, X, k=5):
  2. return X[:,model.feature_importances_.argsort()[::-1][:k]]
  3.  
  4. class ImportanceSelect(BaseEstimator, TransformerMixin):
  5. def __init__(self, model, n=1):
  6. self.model = model
  7. self.n = n
  8. def fit(self, *args, **kwargs):
  9. self.model.fit(*args, **kwargs)
  10. return self
  11. def transform(self, X):
  12. return X[:,self.model.feature_importances_.argsort()[::-1][:self.n]]
  13.  
  14. >>> from sklearn.datasets import load_iris
  15. >>> from sklearn.ensemble import RandomForestClassifier
  16. >>> iris = load_iris()
  17. >>> X = iris.data
  18. >>> y = iris.target
  19. >>>
  20. >>> model = RandomForestClassifier()
  21. >>> model.fit(X,y)
  22. RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
  23. max_depth=None, max_features='auto', max_leaf_nodes=None,
  24. min_samples_leaf=1, min_samples_split=2,
  25. min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,
  26. oob_score=False, random_state=None, verbose=0,
  27. warm_start=False)
  28. >>>
  29. >>> newX = selectKImportance(model,X,2)
  30. >>> newX.shape
  31. (150, 2)
  32. >>> X.shape
  33. (150, 4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement