PROPÓSITO: La siguiente unidad tiene como propósito principal el análisis de carácteristicas para implementar los algoritmos de aprendizaje basádo en las caracteristicas
Todos hemos visto los conjuntos de datos, en ocasiones pueden ser pequeños mientras que otros son tremendamente grandes en tamaño, en especial cuando cuentan con un gran número de características, ocasionando que sean muy difícil de procesar.
Cuando se tiene este de tipo de conjuntos de datos de alta dimensión y se utilizan todas para la creación de modelos de Machine Learning puede ocasionar:
Las características adicionales actúan como un ruido para el cual el modelo de Machine Learning puede tener un rendimiento extremadamente bajo.
El modelo tarda más tiempo en entrenarse.
Asignación de recursos innecesarios para estas características.
Por todo esto, se debe implementar la selección de características en los proyectos de Machine Learning.
La Selección de Características es el proceso de seleccionar las más importante y/o relevante características de un conjunto de datos, con el objetivo de mejorar el rendimiento de predicción de los predictores, proporcionar predictores más rápidos y más rentables y proporcionar una mejor comprensión del proceso subyacente que generó los datos.
A continuación, analizaremos varias metodologías y técnicas que puedes utilizar para que tus modelos funcionen mejor y de manera más eficiente.
El análisis mediante fuerza bruta consiste en evaluar los modelos utilizando las combinaciones de diferentes características. En este sentido, la metrica de evaluación es el desempeño de los modelos y el criterio de selección se basa en obtener aquellas que maximizan este valor.
Elimina todas las características cuya variación no alcanza algún umbral. De forma predeterminada, elimina todas las características de varianza cero, es decir, las características que tienen el mismo valor en todas las muestras.
Como ejemplo, suponga que tenemos un conjunto de datos con características booleanas y queremos eliminar todas las características que son uno o cero (activadas o desactivadas) en más del 80% de las muestras. Las características booleanas son variables aleatorias de Bernoulli, y la varianza de tales variables está dada por
La selección de características univariadas funciona seleccionando las mejores características basadas en pruebas estadísticas univariadas. Puede verse como un paso previo al procesamiento de un estimador. Scikit-learn expone las rutinas de selección de características como objetos que implementan el método de transformación:
SelectKBest elimina todo menos las K características de mayor puntuación
SelectPercentile elimina todas las funciones excepto un porcentaje de puntuación más alto especificado por el usuario
GenericUnivariateSelect permite realizar una selección de características univariadas con una estrategia configurable. Esto permite seleccionar la mejor estrategia de selección univariante con estimador de búsqueda de hiperparámetros.
Estos objetos toman como entrada una función de puntuación que devuelve puntuaciones univariadas y valores p (o solo puntuaciones para SelectKBest y SelectPercentile):
Para la regresión: f_regression, mutual_info_regression
Para clasificación: chi2, f_classif, mutual_info_classif
La eliminación de características recursivas (o RFE) funciona eliminando atributos de forma recursiva y construyendo un modelo sobre los atributos que quedan. Utiliza la precisión del modelo para identificar qué atributos (y combinación de atributos) contribuyen más a predecir el atributo objetivo. Puede obtener más información sobre la clase RFE en la documentación de scikit-learn. El siguiente ejemplo usa RFE con el algoritmo de regresión logística para seleccionar las 3 características principales. La elección del algoritmo no importa demasiado siempre que sea hábil y consistente.
SelectFromModel es un metatransformador que se puede utilizar junto con cualquier estimador que tenga un atributo coef_ o feature_importances_ después del ajuste. Las características se consideran sin importancia y se eliminan, si los valores correspondientes de varianza o covarianza que están por debajo del parámetro de umbral proporcionado. Además de especificar el umbral numéricamente, existen heurísticas integradas para encontrar un umbral utilizando un argumento de cadena. Las heurísticas disponibles son "media", "mediana" y múltiplos flotantes de estos como "0,1 * media". En combinación con los criterios de umbral, se puede utilizar el parámetro max_features para establecer un límite en el número de funciones a seleccionar.
Revisaremos el siguiente notebook
El análisis de componentes principales, o PCA, es una técnica estadística para convertir datos de alta dimensión en datos de baja dimensión mediante la selección de las características más importantes que capturan la máxima información sobre el conjunto de datos. Las características se seleccionan en función de la variación que provocan en la salida. La característica que causa la mayor variación es el primer componente principal. La característica responsable de la segunda varianza más alta se considera el segundo componente principal y así sucesivamente. Es importante mencionar que los componentes principales no tienen correlación entre sí.
Ventajas del PCA
Hay dos ventajas principales de la reducción de dimensionalidad con PCA.
El tiempo de entrenamiento de los algoritmos se reduce significativamente con menos funciones.
No siempre es posible analizar datos en grandes dimensiones. Por ejemplo, si hay 100 características en un conjunto de datos. El número total de diagramas de dispersión necesarios para visualizar los datos sería 100 (100-1) 2 = 4950. Prácticamente no es posible analizar los datos de esta manera. Enlace recomendado y notebook
En minería de datos, el agrupamiento jerárquico es un método de análisis de grupos puntuales, el cual busca construir una jerarquía de grupos. Estrategias para agrupamiento jerárquico generalmente caen en dos tipos:
Aglomerativas: Este es un acercamiento ascendente: cada observación comienza en su propio grupo, y los pares de grupos son mezclados mientras uno sube en la jerarquía.
Divisivas: Este es un acercamiento descendente: todas las observaciones comienzan en un grupo, y se realizan divisiones mientras uno baja en la jerarquía.
En general, las mezclas y divisiones son determinadas con un Algoritmo voraz. Los resultados del agrupamiento jerárquico son usualmente presentados en un dendrograma.
En el caso general, la complejidad del agrupamiento aglomerativo los hace demasiado lentos para grandes conjuntos de datos. El agrupamiento divisivo con búsqueda exhaustiva lo hace aún peor. Sin embargo, para algunos casos especiales, óptimos y eficientes métodos aglomerativos son conocidos como SLINK para agrupamiento de enlace-simple y CLINK para agrupamiento de enlace completo. A continuación, revisemos el siguiente notebook
El análisis de componentes independientes (ACI) (en inglés ICA) es un método computacional que sirve para separar una señal multivariante en subcomponentes aditivos suponiendo que la señal de origen tiene una independencia estadística y es no-Gausiana. Éste es un caso especial de separación ciega de las señales.
El análisis de componentes independientes (ACI) es una generalización del análisis de componentes principales (ACP), en ambos casos se practica una transformación lineal de los datos originales, aunque la diferencia básica es que el ACI no requiere que las variables originales tengan una distribución gausiana.
ICA se encuentra muy relacionado al problema de la separación ciega de fuentes (inglés Blind Signal Separation, BSS) el cual consiste en determinar a través de un arreglo de transductores las señales de las fuentes originales que intervienen en una mezcla, sin información alguna de las señales originales ni de las ponderaciones de la mezcla. Éste es un problema clásico de procesamiento de señales.
Asumir la independencia es correcto en la mayoría de los casos; por tanto la separación ciega por ACI de una señal mezclada da muy buenos resultados. Un problema clásico (enunciado por primera vez en 1985 por Christian Jutten y Jeanny Hérault) consiste en un uso sencillo de ACI es el problema de la fiesta, donde la señal que consiste en una mezcla de voces de gente hablando en la misma habitación es separada. Normalmente el problema se simplifica asumiendo que no hay retrasos ni ecos. Una cosa importante a considerar es que si hay N fuentes (voces) en la habitación, al menos hacen falta N observaciones (micrófonos) para obtener la señal original.
ICA tiene un enfoque estadístico y parte de la hipótesis de que las señales originales (fuentes) son estadísticamente independientes y los procedimientos que lo siguen se basan en propiedades de las fuentes y de las observaciones (mezclas), caracterizadas por sus distribuciones de probabilidad. Se pretende que si las señales originales son estadísticamente independientes, las señales recuperadas también deben de serlo. Por lo tanto, los métodos relacionados con ICA consideran como condición primordial la independencia estadística. Buscando dentro de espacios multidimensionales los componentes principales (en la dirección de máxima varianza) de las variables a determinar.
El problema cosiste en encontrar un transformación que encuentre la inversa de la matriz con la cual se mezcló. A continuación, revisemos el siguiente notebook