Exemplo n.º 1
0
def construct_numpy_representation_with_ordered_pairs_of_rankings_and_features_and_weights(
        features: pd.DataFrame,
        performances: pd.DataFrame,
        max_pairs_per_instance=100,
        seed=1,
        order="asc",
        skip_value=None):
    """Get numpy representation of features, performances and rankings

    Arguments:
        features {pd.DataFrame} -- Feature values
        performances {pd.DataFrame} -- Performances of algorithms

    Returns:
        [type] -- Triple of numpy ndarrays, first stores the feature
        values, the second stores the algirhtm performances and the
        third stores the algorithm rankings
    """
    rankings, weights = sample_pairs(performances,
                                     pairs_per_instance=max_pairs_per_instance,
                                     seed=seed,
                                     skip_value=skip_value)
    joined = rankings.join(features).join(performances,
                                          lsuffix="_rank",
                                          rsuffix="_performance")
    np_features = joined[features.columns.values].values
    np_performances = joined[[x for x in performances.columns]].values
    np_rankings = joined[[x for x in rankings.columns]].values + 1
    np_performances = np_performances[
        np.arange(np_performances.shape[0])[:, np.newaxis], np_rankings - 1]
    max_len = len(performances.columns)
    print("performances", performances.head())
    print("labels", rankings.head())
    print("weight", weights.head())
    np_weights = weights.to_numpy()
    np_weights = np.amax(np_weights, axis=1)
    # print("np_weights", np_weights)
    np_weights = np.exp2(np_weights)
    # print("exp np_weights", np_weights)

    # TODO check for maximization problems
    if order == "desc":
        np_rankings = np.flip(np_rankings, axis=1)
        np_performances = np.flip(np_performances, axis=1)

    return np_features, np_performances, np_rankings, np_weights
Exemplo n.º 2
0
def test_exp2():
    fun = lambda x : 3.0 * np.exp2(x)
    d_fun = grad(fun)
    check_grads(fun, abs(npr.randn()))
    check_grads(d_fun, abs(npr.randn()))
Exemplo n.º 3
0
def test_exp2():
    fun = lambda x : 3.0 * np.exp2(x)
    d_fun = grad(fun)
    check_grads(fun, abs(npr.randn()))
    check_grads(d_fun, abs(npr.randn()))
Exemplo n.º 4
0
def test_exp2():
    fun = lambda x: 3.0 * np.exp2(x)
    check_grads(fun)(abs(npr.randn()))
Exemplo n.º 5
0
def test_exp2():
    fun = lambda x : 3.0 * np.exp2(x)
    check_grads(fun)(abs(npr.randn()))