automl_blender.py 文件源码

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

项目:AutoML5 作者: djajetic 项目源码 文件源码
def blend3(x1,x2, x3, y, metric, task, x1valid, x2valid, x3valid, x1test, x2test, x3test):
    try:
        mm = no_transform()
        mbest_score = -2
        for w1 in np.arange(0.2, 1, 0.2):
            for w2 in np.arange(0.1, 0.6, 0.2):
                w3 = 1- w1 - w2
                if w3 > 0:
                    x = mm.fit_transform(x1)*w1  +  mm.fit_transform(x2)*w2 +  mm.fit_transform(x3)*w3
                    exec('score = libscores.'+ metric  + '(y, x, "' + task + '")')
                    try:
                        if score <= 0:
                            exec('CVscore_auc = libscores.auc_metric(y, x, "' + task + '")')
                            score += CVscore_auc/10
                    except:
                        pass
                    if score > mbest_score:
                        mbest_score = score
                        mbest_w1 = w1
                        mbest_w2 = w2

        mbest_w3 = 1- mbest_w1- mbest_w2
        xvalid = mm.fit_transform(x1valid) * mbest_w1 +  mm.fit_transform(x2valid)* mbest_w2 +  mm.fit_transform(x3valid)* mbest_w3
        xtest =  mm.fit_transform(x1test) * mbest_w1 +  mm.fit_transform(x2test) * mbest_w2 +  mm.fit_transform(x3test) * mbest_w3

        return mbest_score, xvalid, xtest
    except:
        return 0.01, x1valid, x1test
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号