本文整理汇总了Python中hyperopt.Trials.statuses方法的典型用法代码示例。如果您正苦于以下问题:Python Trials.statuses方法的具体用法?Python Trials.statuses怎么用?Python Trials.statuses使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hyperopt.Trials
的用法示例。
在下文中一共展示了Trials.statuses方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: optimize_model_parameter_split
# 需要导入模块: from hyperopt import Trials [as 别名]
# 或者: from hyperopt.Trials import statuses [as 别名]
def optimize_model_parameter_split(x, y, model_name=None, loss_function="accuracy", parameter=None, max_evals=100, n_folds=5, isWrite=True, times=1, problem_pattern="classification"):
"""
hyperopt model turning
"""
if model_name == None and parameter == None:
print "you must set parameter or model_name"
return None
elif parameter != None:
param = parameter
elif model_name != None:
param = parameter_dictionary[model_name]
else:
return None
x_trains = []
x_tests = []
y_trains = []
y_tests = []
for time in xrange(times):
x_train, x_test, y_train, y_test = cross_validation.train_test_split(
x, y, test_size=0.0125)
x_trains.append(x_train)
x_tests.append(x_test)
y_trains.append(y_train)
y_tests.append(y_test)
trials = Trials()
function = lambda param: optimize_model_function_split(
param, x_trains, x_tests, y_trains, y_tests, loss_function)
print param
print "========================================================================"
best_param = fmin(function, param,
algo=tpe.suggest, max_evals=max_evals, trials=trials)
print "========================================================================"
print "write result to csv files"
# write the csv file
if isWrite:
datas = []
for trial_data in trials.trials:
print trial_data
trial_parameter_dictionary = {}
trial_parameter_dictionary['model'] = model_name
trial_parameter_dictionary['tid'] = trial_data['misc']['tid']
for key, value in trial_data['misc']['vals'].items():
print key, value[0]
trial_parameter_dictionary[key] = value[0]
trial_parameter_dictionary['loss'] = trial_data['result']['loss']
trial_parameter_dictionary[
'status'] = trial_data['result']['status']
datas.append(trial_parameter_dictionary)
filename = str(time.time()) + ".csv"
dictionary_in_list_convert_to_csv(datas, filename)
print trials.statuses()
return best_param
示例2: optimize_model_parameter_validation
# 需要导入模块: from hyperopt import Trials [as 别名]
# 或者: from hyperopt.Trials import statuses [as 别名]
def optimize_model_parameter_validation(x, y, model_name=None, loss_function="accuracy", parameter=None, max_evals=100, n_folds=5, isWrite=True, problem_pattern="classification"):
"""
hyperopt model turning
"""
if model_name == None and parameter == None:
print "you must set parameter or model_name"
return None
elif parameter != None:
param = parameter
elif model_name != None:
param = parameter_dictionary[model_name]
else:
return None
validation_indexs = []
if problem_pattern == "classification":
for train_index, test_index in cross_validation.StratifiedKFold(y, n_folds=n_folds):
validation_indexs.append((train_index, test_index))
else:
for train_index, test_index in cross_validation.KFold(len(y), n_folds=n_folds):
validation_indexs.append((train_index, test_index))
trials = Trials()
function = lambda param: optimize_model_function(
param, x, y, validation_indexs, loss_function)
print param
print "========================================================================"
best_param = fmin(function, param,
algo=tpe.suggest, max_evals=max_evals, trials=trials)
print "========================================================================"
print "write result to csv files"
# write the csv file
if isWrite:
datas = []
for trial_data in trials.trials:
print trial_data
trial_parameter_dictionary = {}
trial_parameter_dictionary['model'] = model_name
trial_parameter_dictionary['tid'] = trial_data['misc']['tid']
for key, value in trial_data['misc']['vals'].items():
print key, value[0]
trial_parameter_dictionary[key] = value[0]
trial_parameter_dictionary['loss'] = trial_data['result']['loss']
trial_parameter_dictionary[
'status'] = trial_data['result']['status']
datas.append(trial_parameter_dictionary)
filename = str(time.time()) + ".csv"
dictionary_in_list_convert_to_csv(datas, filename)
print trials.statuses()
return best_param
def model_evaluation(clf, x, y, evaluate_function_name, labeled_type, label_convert_type="normal"):
if evaluate_function_name == "accuracy":
y_pred = clf.predict(x)
score = evaluate_function(
y, y_pred, evaluate_function_name)
score = -score
elif evaluate_function_name == "logloss":
y_pred = clf.predict(x)
score = evaluate_function(
y, y_pred, evaluate_function_name)
train_score = -score
elif evaluate_function_name == "mean_squared_error":
y_pred = clf.predict(x)
score = evaluate_function(
y, y_pred, evaluate_function_name)
elif evaluate_function_name == "gini":
y_pred = clf.predict(x)
score = evaluate_function(
y, y_pred, evaluate_function_name)
score = -score
train_score = -train_score
elif evaluate_function_name == "rmsle":
y_pred = clf.predict(x)
score = evaluate_function(
y, y_pred, evaluate_function_name)
elif evaluate_function_name == "auc":
if params['model'] == "XGBREGLOGISTIC":
y_pred = clf.predict_proba(x_test)
else:
y_pred = clf.predict_proba(x_test)[:, 1]
train_score = evaluate_function(
y_train, train_y_pred, evaluate_function_name)
score = evaluate_function(y_test, y_pred, evaluate_function_name)
score = -score
train_score = -train_score
elif evaluate_function_name == "rmspe":
y_pred = clf.predict(x)
score = evaluate_function(
y, y_pred, evaluate_function_name)
score = score
return score
示例3: Trials
# 需要导入模块: from hyperopt import Trials [as 别名]
# 或者: from hyperopt.Trials import statuses [as 别名]
# why does hp.randint('x', 10) always return same number?
# works without space=____
trials = Trials()
best = fmin(objective,
space=space,
# space=hp.quniform('x', -10, 10, .00001),
algo=tpe.suggest,
max_evals=10,
trials=trials)
# why is this red? where is the syntax error?
print best
print hyperopt.space_eval(space, best)
# always prints all the floats, regardless of status
print trials.losses()
print trials.statuses()
print trials.results
# here it's not red..
print best
# msg = trials.trial_attachments(trials.trials[5])['time_module']
# time_module = pickle.loads(msg)
# print time_module
# print msg
space = hp.choice('a',
[
('case 1', 1 + hp.randint('c1', 10)),
('case 2', hp.uniform('c2', -10, 10))
]),