Bosques aleatorios en Python
Un ensamble de árboles, y las importancias de características que trae consigo.
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
X, y = load_iris(return_X_y=True)
X_entreno, X_prueba, y_entreno, y_prueba = train_test_split(
X, y, test_size=0.3, random_state=0)
bosque = RandomForestClassifier(
n_estimators=200, max_depth=4, random_state=0)
bosque.fit(X_entreno, y_entreno)
print(f"{bosque.score(X_prueba, y_prueba):.3f}")
for nombre, peso in zip(load_iris().feature_names,
bosque.feature_importances_):
print(f"{nombre:22} {peso:.3f}")
Cómo funciona
n_estimatorses cuántos árboles votan.feature_importances_clasifica las columnas en que se apoyó el bosque.- Los árboles no necesitan escalado, lo que los vuelve un buen primer modelo.
Palabras clave y builtins usados aquí
forprintzip
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 554
- Tokens
- 126
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 69 segundos.
Paso 1 de 4 en Modelos; paso 12 de 25 en Machine learning con scikit-learn.