regression_stump.py 文件源码

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

项目:skboost 作者: hbldh 项目源码 文件源码
def _fit_regressor_stump_c_ext_threaded(X, y, sample_weight, argsorted_X=None):
    if c_classifiers is None:
        return _fit_regressor_stump_threaded(X, y, sample_weight, argsorted_X)

    Y = y.flatten()

    if sample_weight is None:
        sample_weight = np.ones(shape=(X.shape[0],), dtype='float') / (X.shape[0],)
    else:
        sample_weight /= np.sum(sample_weight)

    classifier_result = []

    with cfut.ThreadPoolExecutor(max_workers=psutil.cpu_count()) as tpe:
        futures = []
        if argsorted_X is not None:
            for dim in six.moves.range(X.shape[1]):
                futures.append(
                    tpe.submit(_regressor_c_learn_one_dimension, dim, X[:, dim], Y, sample_weight, argsorted_X[:, dim]))
        else:
            for dim in six.moves.range(X.shape[1]):
                futures.append(tpe.submit(_regressor_c_learn_one_dimension, dim, X[:, dim], Y, sample_weight))
        for future in cfut.as_completed(futures):
            classifier_result.append(future.result())

    # Sort the returned data after lowest error.
    classifier_result = sorted(classifier_result, key=itemgetter(1))
    best_result = classifier_result[0]

    return {
        'best_dim': int(best_result[0]),
        'min_value': float(best_result[1]),
        'threshold': float(best_result[2]),
        'coefficient': float(best_result[3]),
        'constant': float(best_result[4]),
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号