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.])
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 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()