Machine Learning - Arboles - Python
Machine Learning - Arboles - Python
"""treeBOSTONregreLM.ipynb
# Tratamiento de datos
# ------------------------------------------------------------------------------
import numpy as np
import pandas as pd
# Gráficos
# ------------------------------------------------------------------------------
import matplotlib.pyplot as plt
# Preprocesado y modelado
# ------------------------------------------------------------------------------
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeRegressor
from sklearn.tree import plot_tree
from sklearn.tree import export_graphviz
from sklearn.tree import export_text
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import mean_squared_error
# Configuración warnings
# ------------------------------------------------------------------------------
import warnings
warnings.filterwarnings('once')
datos.info()
# Cargando los datos desde el computador(FORMA-2)
datos = pd.read_csv("housingBOSTON-2.csv")
datos.head(3)
dataset = datos.values
# split into input (X) and output (Y) variables
X = dataset[:,0:13]
y = dataset[:,13]
plot = plot_tree(
decision_tree = modelo,
feature_names = datos.drop(columns = "MEDV").columns,
class_names = 'MEDV',
filled = True,
impurity = False,
fontsize = 10,
precision = 2,
ax = ax
)
texto_modelo = export_text(
decision_tree = modelo,
feature_names = list(datos.drop(columns = "MEDV").columns)
)
print(texto_modelo)
importancia_predictores = pd.DataFrame(
{'predictor': datos.drop(columns = "MEDV").columns,
'importancia': modelo.feature_importances_}
)
print("Importancia de los predictores en el modelo")
print("-------------------------------------------")
importancia_predictores.sort_values('importancia', ascending=False)
grid.fit(X_train, y_train)
rmse = mean_squared_error(
y_true = y_test,
y_pred = predicciones,
squared = False
)
print(f"El error (rmse) de test es: {rmse}")
rmse = mean_squared_error(
y_true = y_test,
y_pred = predicciones,
squared = False
)
print(f"El error (rmse) de test es: {rmse}")