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.