1.安装hyperopt
pip install hyperopt
2.声明一个搜索空间
搜索空间的含义是说我们需要选择什么量作为作为求解对象
space = {
'units1': hp.choice('units1', [16, 32])
}
hp.choice(label, options)
其中options应是 python 列表或元组。含义是其中label的取值从options中选择。
hp.normal(label, mu, sigma)
其中mu和sigma分别是均值和标准差。含义是说label的取值满足均值为mu,标准差为sigma的分布,例子,hp.normal(‘test’, 0,1 ),我的理解是这个时候搜索空间更多地在0附近的位置寻找,优化时,这是一个无约束的变量。
hp.uniform(label, low, high)
其中low和high是范围的下限和上限。含义是label从[low,high]这个区间中取值。
3.需要最小化的函数
from sklearn.metrics import roc_auc_score
(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=max_feature)
train_data = preprocessing.sequence.pad_sequences(train_data, maxlen=max_len, truncating='post')
test_data