不同超参数配置的分数值完全相同sklearn RandomizedSearchCV

时间:2018-08-17 15:34:28

标签: python scikit-learn random-forest hyperparameters

我正在尝试为定制的无监督模型的sklearn管道找到最佳的超参数配置,该配置将我的数据转换为矢量表示形式,然后将其用于随机森林分类器中以预测标签。但是,当我使用Sklearn的随机搜索时,我常常会得到不同的结果,因为即使HP组合不同,所有分组的训练/测试分数也完全相同。

enter image description here

当我仅在参数网格中仅给出很少的值时(例如对于n_estimators仅[1,10]而不是list(range(1,10))。),这不会发生令人困惑的事情。

我的网格如下:

param_grid = dict(n2vec__dim=list(range(16,266)),
              n2vec__p=[0.5,1,1.5,2],
              n2vec__path_length=list(range(1,26)),
              n2vec__num_paths=list(range(1,20)),
              n2vec__q=[0.5,1,1.5,2],
              randomforestclassifier__n_estimators=[5,10,20],
              randomforestclassifier__criterion=['gini','entropy'],
              randomforestclassifier__max_features=['auto',None,'log2'],
              randomforestclassifier__min_samples_split =[2,2,3,5,6,7,8,9],
              randomforestclassifier__min_samples_leaf =[1,5],
              randomforestclassifier__min_impurity_decrease =[0,1,20])


grid_search = RandomizedSearchCV(pipe, param_distributions=param_grid, n_iter=5, 
                             scoring='f1_micro',return_train_score=True, n_jobs=4) 

有人知道这可能是什么原因吗?

任何帮助将不胜感激。

0 个答案:

没有答案