optimizer.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:stacker 作者: bamine 项目源码 文件源码
def score_cv(self, parameters):
        logger.info("Evaluating using %s-fold CV with parameters %s", self.task.kfold.n_folds, parameters)
        self.model.set_params(**parameters)
        scores = []
        fold_predictions = []
        for i, (train_index, test_index) in enumerate(self.task.kfold):
            logger.info("Starting fold %s ...", i)
            X_train, X_test = self.task.X[train_index], self.task.X[test_index]
            y_train, y_test = self.task.y[train_index], self.task.y[test_index]
            self.model.fit(X_train, y_train)
            logger.info("Training for fold %s done !", i)
            y_pred = self.get_prediction(self.model, X_test)
            fold_predictions.append(y_pred.tolist())
            score = self.scorer.scoring_function(y_test, y_pred)
            logger.info("Score %s", score)
            scores.append(score)
        logger.info("Cross validation done !")
        mean_score = np.mean(scores)
        logger.info("Mean Score = %s", mean_score)
        result = OptimizationResult(
            model=str(self.model),
            parameters=parameters,
            score=mean_score,
            scorer_name=self.scorer.name,
            validation_method=self.task.validation_method,
            predictions=fold_predictions,
            random_state=self.task.random_state)
        self.opt_logger.save(result)
        return {'loss': mean_score, 'status': STATUS_OK}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号