Revisamos de forma exhaustivamente cada una de las noticias en nuestra web con la meta de mostrarte siempre la información veraz y certera.
Solución:
Hay un par de puntos:
- Para ajustar el modelo, desea utilizar el conjunto de datos de entrenamiento (
X_train, y_train
), no todo el conjunto de datos (X, y
). - Puedes usar el
max_num_features
parámetro de laplot_importance()
función para mostrar solo la parte superiormax_num_features
características (por ejemplo, 10 principales).
Con las modificaciones anteriores a su código, con algunos datos generados aleatoriamente, el código y la salida son los siguientes:
import numpy as np
# generate some random data for demonstration purpose, use your original dataset here
X = np.random.rand(1000,100) # 1000 x 100 data
y = np.random.rand(1000).round() # 0, 1 labels
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
seed=0
test_size=0.30
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=test_size, random_state=seed)
from xgboost import XGBClassifier
model = XGBClassifier()
model.fit(X_train, y_train)
import matplotlib.pylab as plt
from matplotlib import pyplot
from xgboost import plot_importance
plot_importance(model, max_num_features=10) # top 10 most important features
plt.show()
Si entiendes que te ha resultado de provecho nuestro artículo, agradeceríamos que lo compartas con más entusiastas de la programación de esta manera contrubuyes a dar difusión a esta información.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)