

def check_oob_score(name, X, y, n_estimators=20):
    est = FOREST_ESTIMATORS[name](oob_score=True, random_state=0, n_estimators=n_estimators, bootstrap=True)
    n_samples = X.shape[0]
    est.fit(X[:(n_samples // 2), :], y[:(n_samples // 2)])
    test_score = est.score(X[(n_samples // 2):, :], y[(y // 2):])
    if (name in FOREST_CLASSIFIERS):
        assert_less(abs((test_score - est.oob_score_)), 0.1)
    else:
        assert_greater(test_score, est.oob_score_)
        assert_greater(est.oob_score_, 0.8)
    with np.errstate(divide='ignore', invalid='ignore'):
        est = FOREST_ESTIMATORS[name](oob_score=True, random_state=0, n_estimators=1, bootstrap=True)
        assert_warns(UserWarning, est.fit, X, y)

dataset/ETHPy150Open scikit-learn/scikit-learn/sklearn/ensemble/tests/test_forest.py check_oob_score/VarMisuse@99/123 `n_samples`->`y`