网页 | 文档 | 安装向导 | 教程
Optuna是一种自动超参数优化软件框架,专为机器学习而设计。 它具有一个命令式的、按运行方式定义的用户API。由于我们的运行API定义,使用Optuna编写的代码具有很高的模块性,Optuna的用户可以动态构建超参数的搜索空间。
Optuna具有如下现代化的功能:
并行分布式优化
修剪没有希望的试验
Web仪表板
我们使用的术语研究 和试验 如下:
研究:基于目标函数的优化
试验:单个执行目标函数
请参阅下面的示例代码。 研究 的目的是通过多次试验(例如,n_trials = 100)找出最佳的超参数值集(例如,分类器和svm_c)。 Optuna是一个专为自动化和加速优化研究 而设计的框架。
import ...
# Define an objective function to be minimized.def 
objective(trial):
    # Invoke suggest methods of a Trial object to generate hyperparameters.
    classifier_name = trial.suggest_categorical('classifier', ['SVC', 'RandomForest'])    
    if classifier_name == 'SVC':
        svc_c = trial.suggest_loguniform('svc_c', 1e-10, 1e10)
        classifier_obj = sklearn.svm.SVC(C=svc_c)    
    else:
        rf_max_depth = trial.suggest_int('rf_max_depth', 2, 32)
        classifier_obj = sklearn.ensemble.RandomForestClassifier(max_depth=rf_max_depth)
    iris = sklearn.datasets.load_iris()
    x, y = iris.data , iris.target
    score = sklearn.model_selection.cross_val_score(classifier_obj , x, y)
    accuracy = score.mean()    
    return 1.0 - accuracy  # A objective value linked with the Trial object.
    
study = optuna.create_study()  # Create a new study.
study.optimize(objective , n_trials=100)  # Invoke optimization of the objective function. 
   用以下的pip命令安装Optuna
$ pip install optuna 
   Optuna支持Python 2.7、Python 3.5或更新版本
欢迎任何对Optuna的贡献! 当您在发送拉取请求时,请按照贡献指南进行操作。
MIT License (查看 LICENSE).
【AI求职百题斩 - 每日一题】
赶紧来看看今天的题目吧!
想知道正确答案?
点击公众号菜单栏【每日一题】→【每日一题】或在公众号回复“0122”即可答题获取!
点击阅读原文,查看更多内容