def score_train_test_split(self, parameters):
logger.info("Evaluating with test size %s with parameters %s", self.task.test_size, parameters)
logger.info("Training model ...")
self.model.set_params(**parameters)
self.model.fit(self.task.X_train, self.task.y_train)
logger.info("Training model done !")
y_pred = self.get_prediction(self.model, self.task.X_test)
score = self.scorer.scoring_function(self.task.y_test, y_pred)
logger.info("Score = %s", score)
result = OptimizationResult(
task=self.task.name,
model=str(self.model),
parameters=parameters,
score=score,
scorer_name=self.scorer.name,
validation_method=self.task.validation_method,
predictions=y_pred.tolist(),
random_state=self.task.random_state)
self.opt_logger.save(result)
return {'loss': score, 'status': STATUS_OK}
评论列表
文章目录