INNER CODE UNIT · Python
main
ankonzoid/LearningX · advanced_ML/tree_ensembles/tree_ensembles.py:15
def main():
# Generate 1D polynomial data for trees to fit on
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=""):