zoukankan      html  css  js  c++  java
  • GrideSearchCV 优化算法参数

    很多机器学习算法有参数,比如 linear_model.LogisticRegression()中有参数C.
    sklearn中的GrideSearchCV可方便调参过程.如下:

    import numpy as np
    from sklearn import linear_model
    from skearn.grid_search import GridSearchCV
    
    # read my data
    X_train, X_test, y_train, y_test=load_data(file='total_data.csv', X_start=2, X_end=37, y_position=64, classification=False)
    
    # 参数 C 的搜索空间
    Cs = np.logspace(-1, 1, num = 100)
    
    model = linear_model.LogisticRegression()
    grid = GridSearchCV(estimator=model, param_grid=dict(C=Cs))
    grid.fit(X_train, y_train)
    
    print grid
    print grid.best_score_
    print grid.best_estimator_
    

    输出:

    GridSearchCV(cv=None, error_score='raise',
           estimator=LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
              intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,
              penalty='l2', random_state=None, solver='liblinear', tol=0.0001,
              verbose=0, warm_start=False),
           fit_params={}, iid=True, n_jobs=1,
           param_grid={'C': array([  0.1    ,   0.10476, ...,   9.54548,  10.     ])},
           pre_dispatch='2*n_jobs', refit=True, scoring=None, verbose=0)
    0.694444444444
    LogisticRegression(C=0.23101297000831597, class_weight=None, dual=False,
              fit_intercept=True, intercept_scaling=1, max_iter=100,
              multi_class='ovr', n_jobs=1, penalty='l2', random_state=None,
              solver='liblinear', tol=0.0001, verbose=0, warm_start=False)
    

    要注意grid = GridSearchCV(estimator=model, param_grid=dict(C=Cs))的C, C必须是LogisticRegression的一个参数名字,否则报错.

  • 相关阅读:
    小能客服
    bootstrap 字体图标
    在线绘图(PS)(海报)
    UI教程
    免费在线设计网站
    测量史上首个易语言工程测量模块
    在ado.net中实现oracle存储过程调用两种方式
    VS一些快捷键
    解决Win10家庭版没有‘本地用户和组’问题
    参照示例搭建一个Quertz + Topshelf的一个作业调度服务(基础)
  • 原文地址:https://www.cnblogs.com/ZhongliangXiang/p/7753668.html
Copyright © 2011-2022 走看看