def test_drforest_smoke(): X, y = datasets.make_simulation1() forest = DimensionReductionForestRegressor(n_estimators=100, random_state=42, n_jobs=-1).fit(X, y) y_pred = forest.predict(X) assert y_pred.shape == (1000, ) imp = forest.local_subspace_importance(np.array([[-1.5, 1.5], [0.5, -0.5]])) assert imp.shape == (2, 2)
import pandas as pd from sklearn.ensemble import RandomForestRegressor from drforest.datasets import make_simulation1 from drforest.ensemble import DimensionReductionForestRegressor from drforest.ensemble import permutation_importance plt.rc('font', family='serif') fontsize = 14 n_samples = 2000 n_features = 5 X, y = make_simulation1(n_samples=n_samples, noise=1, n_features=n_features, random_state=1234) forest = DimensionReductionForestRegressor(n_estimators=500, store_X_y=True, n_jobs=-1, min_samples_leaf=3, max_features=None, random_state=42).fit(X, y) x0 = np.zeros(n_features) x0[:2] = np.array([-1.5, 1.5]) local_direc_x0 = forest.local_principal_direction(x0) local_direc_x0 *= np.sign(local_direc_x0[0]) x1 = np.zeros(n_features)