INNER CODE UNIT · Python
generate_data
ankonzoid/LearningX · advanced_ML/tree_ensembles/tree_ensembles.py:17
def generate_data(func, x_range=(0, 10), N=100):
X = np.linspace(x_range[0], x_range[1], N)
y = np.vectorize(func)(X)
X = X[:, None]
return X, y
func = lambda x: (x-1)*(x-4)*(x-8)*(x-8)
X, y = generate_data(func, x_range=(0, 10), N=100)
# Tree ensemble models
from src.BaggedTrees import BaggedTreeRegressor
from src.RandomForest import RandomForestTreeRegressor
from src.GradientBoostedTree import GradientBoostedTreeRegressor
# Train and plot models (pdf + png)
def plot_model(tree_ensemble_model, X, y, plot_filename,
n_estimators_vec=[0, 10, 20], max_depth_vec=[1, 4, 8], name=""):
from sklearn.metrics import mean_absolute_error
print("Plotting '{}' model to '{}'...".format(name, plot_filename))