model_builder.py 文件源码

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

项目:karura 作者: icoxfog417 项目源码 文件源码
def build(self, dataset):
        evaluators = []
        cv = 5  # todo: have to adjust to dataset size

        if self.field_manager.target.is_categorizable():
            parameter_candidates = [
                {"kernel": ["linear"], "C": [1, 10, 100]},
                {"kernel": ["rbf"], "gamma": [1e-1, 1e-2, 1e-3, 1e-4], "C": [1, 10, 100]}
            ]
            # todo: have to think about scoring parameter (default is accuracy, so f1 related score may be appropriate)
            evaluator = GridSearchCV(
                SVC(C=1),
                parameter_candidates,
                cv=cv
            )
            evaluators.append(evaluator)
        else:

            evaluator1 = GridSearchCV(
                linear_model.ElasticNet(),
                {"alpha": [0.1, 0.5, 0.7, 1], "l1_ratio": [(r + 1) / 10 for r in range(10)]},
                cv=cv
            )

            parameter_candidates = [
                {"kernel": ["rbf"], "gamma": [1e-3, 1e-4], "C": [1, 10, 100]}
            ]

            # todo: have to think about scoring parameter (default is accuracy, so f1 related score may be appropriate)
            evaluator2 = GridSearchCV(
                SVR(C=1),
                parameter_candidates,
                cv=cv
            )
            evaluators.append(evaluator1)
            evaluators.append(evaluator2)

        self.model_score = 0
        self.model = None
        for e in evaluators:
            e.fit(dataset.data, dataset.target)
            if e.best_score_ > self.model_score:
                self.model_score = e.best_score_
                self.model = e.best_estimator_
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号