Speed up GaussianProcessClassifier in scikit-learn

Viewed 78

I am first time exploring GaussianProcessClassifier(...) in scikit-learn. My parameters grid for GridSearchCV(...) are

grid = [{'preprocessor__num__scaling': [StandardScaler()],
         'preprocessor__num__binning': [None],
         'preprocessor__num__poly': [None],
         'selector': [sfm],
         'selector__threshold': [f"{x/100}*median" for x in range(10, 31, 10)],
         'classifier__kernel': [1*RBF(),
                                1*DotProduct(),
                                1*Matern(),
                                1*RationalQuadratic(),
                                1*WhiteKernel()],
         'classifier__n_restarts_optimizer': [0],
         'classifier__max_iter_predict': [50, 100]
}]

My data contains 100 columns and only 8000 rows.

My computing time depending on the kernel for each fold/candidate is around

  • RBF() -> 20 min
  • DotProduct() -> 120 min
  • Matern() -> 180 min
  • RationalQuadratic() -> 270 min
  • WhiteKernel() -> still processing :)

Any idea how to speed that up? Am I missing a preprocessing step? I'd apreciate a hint and I also take good practical books as recommendations.

0 Answers
Related