Importancia de los píxeles con un bosque paralelo de árboles

Este ejemplo muestra el uso de bosques de árboles para evaluar la importancia basada en impurezas de los píxeles en una tarea de clasificación de imágenes (rostros). Cuanto más caliente sea el píxel, más importante será.

El código que se muestra a continuación también ilustra cómo la construcción y el cálculo de las predicciones pueden paralelizarse en múltiples trabajos.

Pixel importances with forests of trees

Out:

Fitting ExtraTreesClassifier on faces data with 1 cores...
done in 1.527s

print(__doc__)

from time import time
import matplotlib.pyplot as plt

from sklearn.datasets import fetch_olivetti_faces
from sklearn.ensemble import ExtraTreesClassifier

# Number of cores to use to perform parallel fitting of the forest model
n_jobs = 1

# Load the faces dataset
data = fetch_olivetti_faces()
X, y = data.data, data.target

mask = y < 5  # Limit to 5 classes
X = X[mask]
y = y[mask]

# Build a forest and compute the pixel importances
print("Fitting ExtraTreesClassifier on faces data with %d cores..." % n_jobs)
t0 = time()
forest = ExtraTreesClassifier(n_estimators=1000,
                              max_features=128,
                              n_jobs=n_jobs,
                              random_state=0)

forest.fit(X, y)
print("done in %0.3fs" % (time() - t0))
importances = forest.feature_importances_
importances = importances.reshape(data.images[0].shape)

# Plot pixel importances
plt.matshow(importances, cmap=plt.cm.hot)
plt.title("Pixel importances with forests of trees")
plt.show()

Tiempo total de ejecución del script: ( 0 minutos 1.940 segundos)

Galería generada por Sphinx-Gallery