Estás leyendo la publicación: Una guía de Auto-ViML para el aprendizaje automático explicable e interpretable
La explicabilidad y la interpretabilidad en el aprendizaje automático son tareas importantes que ayudan a los usuarios no tecnológicos a comprender el procedimiento y los resultados del modelado. También ayuda a los desarrolladores a descubrir el procedimiento de trabajo de los algoritmos de caja negra. Siempre habrá una necesidad de explicabilidad e interpretabilidad en el modelado. Auto-ViML es una biblioteca que se puede utilizar para una explicación e interpretación efectivas en la construcción de modelos de aprendizaje automático. En este artículo, tendremos una introducción al Auto-ViML a través de sus aplicaciones prácticas. Los puntos principales que se discutirán en este artículo se enumeran a continuación.
Tabla de contenido
- ¿Qué es Auto-ViML?
- ¿Por qué es útil Auto-ViML?
- Implementación con Auto-ViML
Comencemos con la comprensión del Auto-ViML.
¿Qué es Auto-ViML?
Auto-ViML es una biblioteca para crear modelos de aprendizaje automático interpretables de alto rendimiento que se crean utilizando el lenguaje python. El nombre Auto-ViML se puede separar en aprendizaje automático variable interpretable automático. La palabra variable está en el nombre porque al usar esta biblioteca podemos usar múltiples variables del conjunto de datos con múltiples modelos de forma automática. El interpretable significa interpretar el procedimiento de modelado.
Al resumir todas las funciones principales de la biblioteca, podemos decir que con esta biblioteca podemos construir modelos interpretables utilizando la menor cantidad de funciones que son más necesarias para el procedimiento. Según muchas pruebas, podemos decir que Auto-ViML puede ayudar a construir modelos con entre un 20 y un 99 % menos de funciones que un modelo tradicional que utiliza todas las funciones con el mismo rendimiento.
¿Por qué es útil Auto-ViML?
Usando esta biblioteca podemos utilizar las siguientes cosas de los procedimientos de modelado:
- Limpieza de datos: Al usar esta biblioteca, podemos tener sugerencias de cambios en el conjunto de datos, como la eliminación de valores faltantes, el formateo y la adición de variables, etc.
- Clasificación de variables: Auto-ViML también puede clasificar variables automáticamente, esta biblioteca tiene la funcionalidad de reconocer cuáles son los valores dentro de la variable, como numérico, categórico, NLP y fecha-hora.
- Ingeniería de funciones: Auto-ViML tiene la función de selección automática de funciones. A partir de un gran conjunto de datos con poco conocimiento sobre el dominio, esta biblioteca puede ayudarnos a encontrar características relevantes del conjunto de datos para el proceso requerido.
- Representación gráfica de los resultados: Auto-ViML puede producir gráficos y visualizaciones de los resultados que nos ayudan a comprender el rendimiento de los modelos.
Al observar los puntos anteriores, podemos decir que esta biblioteca puede ser muy útil en una variedad de procedimientos de modelado. Esta biblioteca está construida usando scikit-learn, NumPy, pandas y Matplotlib. Al hablar sobre la generación de interpretabilidad del modelo, esta biblioteca utiliza la biblioteca SHAP. Podemos instalar esta librería en nuestro entorno usando la siguiente línea de códigos.
pip instalar autoviml
o
pip instalar git+https://github.com/AutoViML/Auto_ViML.git
Después de la instalación, estamos listos para usar esta biblioteca para la implementación.
Implementación con Auto-ViML
Esta implementación es un ejemplo que presenta la naturaleza funcional de Auto-ViML. Para esto, realizaremos análisis de datos y modelado utilizando los datos titánicos. Este conjunto de datos es uno de los conjuntos de datos más famosos en el campo de la ciencia de datos. Podemos descargar el conjunto de datos desde aquí.
Antes de pasar a la implementación, debemos verificar la versión de nuestra biblioteca. La comprobación de la versión se puede realizar mediante las siguientes líneas de código.
de autoviml.Auto_ViML importar Auto_ViML
Producción:
Ahora llamemos al conjunto de datos.
importar pandas como pd df = pd.read_csv(‘https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/’+’titanic.csv’) df
Producción:
La mayoría de las veces, utilizando el conjunto de datos, realizamos el análisis de supervivencia. En este artículo, haremos lo mismo pero una cosa diferente es que estamos usando la biblioteca Auto-ViML para esto.
Dividamos el conjunto de datos en datos de entrenamiento y de prueba.
num = int(0.9*df.forma[0]) tren = df[:num]
imprimir (tren.forma) prueba = df[num:]
imprimir (prueba.forma)
Producción:
Modelado
En lo anterior, solo debemos importar la biblioteca Pandas para importar el conjunto de datos y solo un módulo de la biblioteca Auto-ViML. Usando solo este módulo podemos realizar varios pasos de modelado. Comencemos el procedimiento.
Definición de algunas variables de parámetros
target=”Sobrevivido” sample_submission=” scoring_parameter=”equilibrado-precisión”
Modelado usando XGBoost
m, feats, trainm, testm = Auto_ViML(train, target, test, sample_submission, score_parameter=scoring_parameter, hyper_param=’GS’,feature_reduction=True, Boosting_Flag=True, Binning_Flag=False, Add_Poly=0, Stacking_Flag=False, Imbalanced_Flag= Falso, detallado=1)
Las líneas de código anteriores nos darán varios análisis de datos y resultados. Vamos a verlos uno por uno.
El resultado anterior es nuestro primer resultado que nos informa sobre la forma del conjunto de entrenamiento y prueba, después de eso podemos ver que tenemos resultados de clasificación binaria que nos informa sobre el estado del ajuste de hiperparámetros y la reorganización de los datos. Esta salida nos informa sobre el historial de datos y los cambios que debemos realizar en los datos. Avancemos hacia la segunda salida.
El resultado anterior es sobre la clasificación de variables, esto puede decirnos el tipo de características en el conjunto de datos y en qué número están disponibles en el conjunto de datos. Además, una selección de funciones básicas elimina variables o funciones que tienen poca relevancia o bajo nivel de información con la disponibilidad de dispositivos de trabajo como CPU y GPU. Pasemos a la siguiente salida.
Aquí, en el resultado anterior, podemos ver detalles sobre la preparación de datos donde esta biblioteca verifica los valores faltantes en los conjuntos de datos de prueba y entrenamiento y el proceso elimina las características que están altamente correlacionadas y separa las variables flotantes y categóricas. Avancemos hacia nuestra próxima salida.
Aquí, en el resultado anterior, podemos ver que tenemos detalles del proceso de selección de funciones en el que usamos XGBoost y 6 funciones. Pasemos a la siguiente salida.
Aquí, en el resultado anterior, podemos ver el procedimiento de creación de modelos en el que hemos utilizado el modelo XGBoost. Avancemos hacia la visualización de los resultados del modelado.
En lo anterior, podemos ver la probabilidad predictiva del modelo y podemos decir que tenemos un umbral para la puntuación F-1 de alrededor de 0,26 a 0,28. Para la verificación cruzada, la biblioteca de salida anterior verifica las puntuaciones de precisión que se dan en la salida a continuación.
Ahora, esta biblioteca también ejecuta técnicas de modelos de ensamblaje para mejorar los resultados. Veamos la siguiente salida.
Este resultado nos informa sobre el mejor modelo que observó la biblioteca con las puntuaciones que pueden ayudar a optimizar el modelo.
Aquí podemos ver el resultado óptimo final de la biblioteca. También conseguimos la visualización de resultados. Veamos la siguiente salida:
Aquí, en el resultado anterior, podemos ver los modelos que se están aplicando a los datos y sus puntuaciones. También podemos ver que el modelo de mayor precisión está en el color claro. Con estas visualizaciones, también obtenemos visualizaciones de la matriz de confusión, la curva ROC AUC, la curva PR AUC y el informe de clasificación. Pasemos al gráfico de pérdida de registros entre épocas.
Aquí podemos ver que con diferentes épocas se ha cubierto la pérdida.
En el resultado anterior, podemos ver cuánto tiempo llevó completar el procedimiento con el directorio donde se guardan los resultados del procedimiento con el gráfico de importancia de la función.
Ultimas palabras
En este artículo, hemos pasado por la introducción detallada de la biblioteca Auto-ViML que hace que el procedimiento de modelado de extremo a extremo sea fácil e interpretable. Usando muy pocas líneas de código, hemos cubierto la mayoría de los procedimientos que deben seguirse en el modelado de datos. Además, tuvimos una interpretación adecuada de cada paso para comprender los conceptos clave.