美文网首页每天五行代码
Python 机器学习-网格搜索

Python 机器学习-网格搜索

作者: 废柴社 | 来源:发表于2017-12-18 23:54 被阅读9次

    解决:机器学习模型中的调参选择(替代循环方法)
    如何解决:将需要调整的参数整理成一个字典列表,传进GridSearchCV过程

    以随机森林为例如下:

    #网格搜索
    from sklearn.grid_search import GridSearchCV
    param_test1 ={'n_estimators':[500,520,530],
    'max_features':[0.74,0.75,0.77],
    'min_samples_leaf':[2,3,4],}
    gsearch1= GridSearchCV(estimator = RandomForestClassifier(bootstrap=True
    , lass_weight=None,criterion='gini',max_depth=7
    ,max_leaf_nodes=None,min_impurity_split=1e-07,
                    min_samples_split=2, min_weight_fraction_leaf=0.0,
                    n_jobs=1, oob_score= True, random_state=None,
                    verbose=0, warm_start=False),   
                           param_grid =param_test1,scoring='roc_auc',cv=5)  
    gsearch1.fit(X,y)  
    gsearch1.grid_scores_, gsearch1.best_params_, gsearch1.best_score_  
    

    其中:
    param_test1 中存储需要搜索的参数名、参数区间;
    GridSearchCV 中包括使用什么算法、不需调整的参数及值+需要调整的参数即param_grid = param_test1

    搜索会返回如下结果(示例) 每组参数对应的评分值(可选准确率、roc等),最优参数。

    网格搜索结果示例

    相关文章

      网友评论

        本文标题:Python 机器学习-网格搜索

        本文链接:https://www.haomeiwen.com/subject/uubvwxtx.html