GradientBoostClassifier(sklearn) takes very long time to train I'm using dataset with 61879 datapoints and 102 features. On this dataset Randomforest(sklearn) takes less than 90s to train for 100 estimators while GradientBoostClassifier(sklearn) is taking forever to train using same numbers of estimators. Is there any way to speedup the training process for GradientBoostClassifier?
 A: Might be a bit late... But.
1 - sklearn's Random Forest supports multithreading. GradientBoostingClassifier does not. This can be responsible for a 8 times speed up.
2 - sklearn's Random Forest works on a subset of the total number of features (at least, by default) whereas GradientBoostingClassifier uses all the features to grow each each tree.
If you set the argument max_features for GBC, you can observe a huge speed-up (but different results). From sklearn documentation :
max_features : int, float, string or None, optional (default=None)
The number of features to consider when looking for the best split:
If int, then consider max_features features at each split.
If float, then max_features is a percentage and int(max_features * 
n_features) features are considered at each split.
If “auto”, then max_features=sqrt(n_features).
If “sqrt”, then max_features=sqrt(n_features).
If “log2”, then max_features=log2(n_features).
If None, then max_features=n_features.

Choosing max_features < n_features leads to a reduction of variance and 
an increase in bias.

Option 2 is a matter of choice/performance. As for option 1, an implementation of GBC supporting multithreading is now available: xgboost, https://github.com/dmlc/xgboost. I used it with R, but the python implementation seems even easier to use.
Edit. Regarding the training time of various algorithm, you may be interested in learning more about complexities of machine learning methods.
