Genere importancia de la característica utilizando el aprendizaje de Scikit, el bosque aleatorio
Aprenda un concepto básico para usar un bosque aleatorio aplicado a sus proyectos y comparar el resultado entre diferentes métodos

El algoritmo de bosque aleatorio se ha aplicado en varias industrias, lo que les permite tomar mejores decisiones comerciales. Algunos casos de uso incluyen análisis de alto riesgo de crédito y recomendación de productos para fines de venta cruzada.
En esta pieza, le guiaría brevemente a través de varios métodos para generar importancia de características mediante el uso de un conjunto de datos de validador de calidad de vino tinto clásico. Al final de este capítulo, puede tener un concepto básico para usar un bosque aleatorio aplicado a sus proyectos y comparar el resultado entre métodos diferentes.
Tabla de contenido: Genere la importancia de la característica del objeto usando el aprendizaje de SciKit y el bosque aleatorio en el aprendizaje automático
- se divide en el conjunto de datos de vinos tintos y el entrenamiento de datos
- importancia de características incorporadas con scikit-learn </li >
- método incorporado scikit-learn con una característica aleatoria < < /li>
- importancia de la permutación
- importancia del bosque aleatorio con SNAP
- importancia de la ruta del bosque aleatorio
- scripts de python completos del generador de importancia de la característica
conjunto de datos de vino tinto y entrenamiento de datos dividido
Para cualquier modelo de aprendizaje automático, obtener un conjunto de datos adecuado o preprocesar los datos es crítico. Kaggle es una de las plataformas más populares para que busque un conjunto de datos adecuado. Aquí está el enlace para el proyecto de calidad del vino tinto.
https://www.kaggle.com/datasets/uciml/red-wine-quality-cortez-et-al-2009
Lo primero, procesar los datos utilizando pandas y sklearn train_test_split es el primer paso.
url = "" Winequality-Red.csv ""
wine_data = Pd . read_csv ( url , sep = "" ; "" )
x = Wine_data . drop ( 'calidad' , <// span> eje = 1 )
y = Wine_data [ 'calidad' style = ""Font-Weight: 400;"">]
x_train , x_test , y_train , y_test = train_test_split ( x , y , test_size = 0.5 , random_state style = ""font-weight: 400;""> = 50 ) <// span>
Importancia de característica incorporada con scikit-learn
Scikit-Learn proporciona un método de importancia de característica incorporada para modelos de bosques aleatorios. Según la documentación, este método se basa en la disminución de la impureza de nodo.
En un bosque aleatorio, las preguntas son como las características en el modelo. Algunas preguntas lo ayudan a eliminar más posibilidades que otras. La suposición es que las características que lo ayudan a eliminar más posibilidades son más importantes porque lo ayudan a acercarse a la respuesta correcta más rápido. Es muy simple obtener estas importantes de características con scikit-learn:
rf = RandomForSgresor ( n_estimators = 100 , random_state = 50 )
rf . Fit ( x_train , y_train )
inbuilt_importances </span span style = ""font-weight: 400;""> = Pd . Serie ( rf . caracteres_importances _ , index = x_train . columnas)
inbuilt_importances . sort_values ( ascendente = true , inplace = verdadero )
inbuilt_importances . Plot . barh ( color = 'negro' )
Método de Scikit-Learn incorporado con una característica aleatoria
La forma más simple de avanzar este método es agregar una característica aleatoria al conjunto de datos y ver si el resultado podría desviarse más que el primero sin al azar. < /span>
Si una característica real tiene menor importancia que la característica aleatoria, podría indicar que su importancia se debe al azar.
def randommethod ():
x_train_random = x_train . Copy () <// Código>
x_train_random [ "" aleatorio "" ] = np . aleatorio </ span> . randomstate ( 42 ). randn ( x_train . Shape [ 0 ])
rf_random = randomforestregressor ( n_estimators = 100 < span style = ""font-weight: 400;"">, random_state = < /span> 42 )
rf_random . Fit ( x_train_random , y_train </span span style = ""Font-Weight: 400;"">)
importances_random = pd . series ( rf_random < span style = ""font-weight: 400;"">. caracteres_importances _ , < /span> index = X_train_random . Columnas)
importances_random . sort_values ( ascendente = true < span style = ""font-weight: 400;"">, inplace = << /span> true )
importances_random . Plot . barh ( color < span style = ""font-weight: 400;""> = 'azul' )
plt . xlabel ( "" Importancia "" )
plt . ylabel ( "" característica "" )
plt . title ( "" Importancia de la característica-Scikit Learn Aprended con el azar "" )
plt . show ()
return
Importancia de la característica de permutación
La importancia de la característica de la permutación es otra técnica para estimar la importancia de cada característica en un modelo de bosque aleatorio midiendo el cambio en el rendimiento del modelo cuando los valores de la característica se barajan aleatoriamente.
Una de las ventajas de este método es que se puede usar con cualquier modelo, no solo bosques aleatorios, lo que hace que los resultados entre los modelos sean más comparables. </span >
La importancia de la característica del bosque aleatorio con Snap
Shap es un método para interpretar la salida de modelos de aprendizaje automático basado en la teoría de juegos.
Proporciona una medida unificada de importancia de la característica que, como la importancia de la permutación, puede aplicarse a cualquier modelo.
El principal inconveniente es que puede ser computacionalmente costoso, especialmente para conjuntos de datos grandes o modelos complejos.
La ruta del bosque aleatoria característica de la importancia
Otra forma de comprender cómo cada característica contribuye a las predicciones del bosque aleatorio es observar las rutas de los árboles de decisión que toma cada instancia.
Calcula la diferencia entre el valor de predicción en el nodo de hoja y los valores de predicción en los nodos que preceden a obtener la contribución estimada de cada característica. </span >
Python scri completo Pt de generador de importancia de características
Si está interesado en el Capítulo 76, genere la importancia de la característica del objeto usando Scikit Learn y Aleat Bosque, por favor Suscríbase a nuestro boletín agregando el mensaje ‘Capítulo 75 + API de noción’ . Le enviaríamos el script inmediatamente a su buzón.
Espero que disfrutes leyendo el Capítulo 76 – Genere la importancia de la característica del objeto usando Scikit Learn y Bosque aleatorio. Si lo hizo, por favor, apoyemos haciendo una de las cosas enumeradas a continuación, porque siempre ayuda a nuestro canal.
- Apóyanos y haz una donación a nuestro canal a través de PayPal (paypal.me/Easy2digital)
- Suscríbete a nuestro canal y activa la campana de notificaciones en el canal de Youtube de Easy2Digital.
- Sigue y dale me gusta a nuestra página de Facebook Easy2Digital
- Comparte el artículo en tus redes sociales con el hashtag #easy2digital
- Regístrate para recibir nuestro boletín semanal y estar al día con los últimos artículos, videos y códigos de descuento de Easy2Digital
- Suscríbete a nuestro programa de membresía mensual a través de Patreon para disfrutar de beneficios exclusivos (www.patreon.com/louisludigital)