def test_balance_weights():
    weights = _balance_weights([0, 0, 1, 1])
    assert_array_equal(weights, [1., 1., 1., 1.])

    weights = _balance_weights([0, 1, 1, 1, 1])
    assert_array_equal(weights, [1., 0.25, 0.25, 0.25, 0.25])

    weights = _balance_weights([0, 0])
    assert_array_equal(weights, [1., 1.])
Exemple #2
0
def test_unbalanced_iris():
    """Check class rebalancing."""
    unbalanced_X = iris.data[:125]
    unbalanced_y = iris.target[:125]
    sample_weight = _balance_weights(unbalanced_y)

    for name, TreeClassifier in CLF_TREES.items():
        clf = TreeClassifier(random_state=0)
        clf.fit(unbalanced_X, unbalanced_y, sample_weight=sample_weight)
        assert_almost_equal(clf.predict(unbalanced_X), unbalanced_y)
Exemple #3
0
def test_unbalanced_iris():
    """Check class rebalancing."""
    unbalanced_X = iris.data[:125]
    unbalanced_y = iris.target[:125]
    sample_weight = _balance_weights(unbalanced_y)

    for name, TreeClassifier in CLF_TREES.items():
        clf = TreeClassifier(random_state=0)
        clf.fit(unbalanced_X, unbalanced_y, sample_weight=sample_weight)
        assert_almost_equal(clf.predict(unbalanced_X), unbalanced_y)
def create_and_train_rf(criterion,num_trees,train_predictors,train_responses, test_predictors):
    # print(type(train_predictors))
    sample_weight = _weights._balance_weights(train_responses)
    print '\t\tcreating random forest'

    rf = RandomForestClassifier(n_estimators=num_trees, criterion=criterion, class_weight='auto', max_depth=10,
                                n_jobs=4)
    print '\t\trandom forest created successfully'

    print '\t\ttraining random forest'
    fit = rf.fit(train_predictors, train_responses, sample_weight=sample_weight)
    print "RF Fitted"
    #score = rf.score(train_predictors, train_responses)

    #prob_pos = rf.predict_proba(test_predictors)

    print '\t\trandom forest successfully trained'

    return rf
def main():
    _weights._balance_weights()