def test_random_oversample(): # float X_new, y_new = resreg.random_oversample(X, y, relevance=relevance, relevance_threshold=0.5, over=0.75, random_state=0) assert round(np.sum(y_new), 3) == 4.971 # balance X_new, y_new = resreg.random_oversample(X, y, relevance=relevance, relevance_threshold=0.5, over='balance', random_state=0) assert round(np.sum(y_new), 3) == 5.090 # extreme X_new, y_new = resreg.random_oversample(X, y, relevance=relevance, relevance_threshold=0.5, over='extreme', random_state=0) assert round(np.sum(y_new), 3) == -49.722 # average X_new, y_new = resreg.random_oversample(X, y, relevance=relevance, relevance_threshold=0.5, over='average', random_state=0) assert round(np.sum(y_new), 3) == -41.166 # errors with pytest.raises(Exception): X_new, y_new = resreg.random_oversample(X, y, relevance=relevance, relevance_threshold=0.5, over=2)
bin_test_size=70, verbose=False, random_state=rrr) X_train, y_train = X[train_indices, :], y[train_indices] X_test, y_test = X[test_indices, :], y[test_indices] # Unpack hyperparameters, resample training data, and fit regressors reg = DecisionTreeRegressor(random_state=rrr) if 'REBAGG' in strategy else \ RandomForestRegressor(n_estimators=10, n_jobs=-1, random_state=rrr) if strategy == 'RO': cl, ch, sample_method = param relevance = resreg.sigmoid_relevance(y_train, cl=cl, ch=ch) X_train, y_train = resreg.random_oversample(X_train, y_train, relevance, relevance_threshold=0.5, over=sample_method, random_state=rrr) reg.fit(X_train, y_train) elif strategy == 'SMOTER': cl, ch, sample_method, k = param relevance = resreg.sigmoid_relevance(y_train, cl=cl, ch=ch) X_train, y_train = resreg.smoter(X_train, y_train, relevance, relevance_threshold=0.5, k=k, over=sample_method, random_state=rrr) reg.fit(X_train, y_train)
random_state=0) X_train, y_train = X[train_indices, :], y[train_indices] if strategy == 'None': sns.kdeplot(y_train, bw=7, linewidth=lw, linestyle=style1, color='black', label='TOME') elif strategy == 'RO': relevance = resreg.sigmoid_relevance(y_train, cl=None, ch=60) X_train, y_train = resreg.random_oversample(X_train, y_train, relevance=relevance, relevance_threshold=0.5, over='balance', random_state=0) sns.kdeplot(y_train, bw=7, linewidth=lw, label=strategy, color='blue', linestyle=style2) elif strategy == 'SMOTER': relevance = resreg.sigmoid_relevance(y_train, cl=None, ch=60) X_train, y_train = resreg.smoter(X_train, y_train, relevance=relevance, relevance_threshold=0.5,