INNER CODE UNIT · Python

plot_model

ankonzoid/LearningX · advanced_ML/tree_ensembles/tree_ensembles.py:31

    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))
        Ni, Nj = len(max_depth_vec), len(n_estimators_vec)
        plt.figure(figsize=(16, 10))
        for i in range(len(max_depth_vec)):
            for j in range(len(n_estimators_vec)):
                # Train model
                model = tree_ensemble_model(n_estimators=n_estimators_vec[j], max_depth=max_depth_vec[i])
                model.fit(X, y)
                y_pred = model.predict(X)
                err = mean_absolute_error(y, y_pred)
                print(" -> n_estimators = {}, max_depth = {} -> err = {:.6f}".format(
                    n_estimators_vec[j], max_depth_vec[i], err))
                # Plot
                plt.subplot(int("{}{}{}".format(Ni, Nj, i*Ni + j + 1)))
                X_flatten = X.reshape((-1,))

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…