Digamos que S es su conjunto de puntos de datos.
También suponga que tiene dos clases, positiva (p) y negativa (n).
- Calcule la entropía del conjunto S: -pp * log (pp) – pn * log (pn) donde pp y pn son fracciones de puntos de clase positivos y negativos en S respectivamente.
- Ahora considere un atributo A. Digamos que el atributo A toma k valores discretos. Por lo tanto, los puntos de datos ahora se pueden dividir en k conjuntos diferentes dependiendo del valor de este atributo para el punto de datos.
- Para cada uno de los k conjuntos, calcule la entropía usando la fórmula dada anteriormente.
- Encuentre la suma de las entropías de estos k conjuntos.
- La diferencia entre la entropía de S y esta suma da la ganancia de información para el atributo A.
Si desea un árbol que solo tenga nodos binarios pero tenga atributos que tomen más de dos valores distintos, entonces para cada atributo puede probar uno contra todos para los valores que toma, es decir, si el atributo A toma v1, v2, v3, entonces usted primero puede dividir los puntos de datos en dos conjuntos: los que tienen v1 y los que no. Puede calcular la ganancia de información. La similitud hace esto para v2 y v3. Puede elegir la combinación de atributo y valor que proporciona la máxima ganancia de información.
¿Por qué la entropía?
La entropía es una medida de aleatoriedad y no uniformidad. Considere un conjunto que tiene todos los puntos de datos que pertenecen solo a una clase positiva. Usando la fórmula, obtienes la entropía 0. Si tomas un conjunto con el mismo número de puntos de clase positivos y negativos, obtienes entropía = 1/2. Entonces puede ver que cuanto menor es la entropía, más homogéneo es el conjunto y esto es lo que deseamos para una buena clasificación.
- ¿Qué hace exactamente esta función, tf.nn.embedding_lookup (), en TensorFlow?
- ¿Vale la pena aprender Machine Learning (y AI) si quiero seguir la carrera de Ingeniero Embebido?
- Teoría de la información: ¿Cuál es la relación entre la inteligencia y los algoritmos de compresión de datos?
- ¿Qué cursos debería tomar para especializarse en aprendizaje automático, ciencia de datos e IA como estudiante de MS CS en USC?
- ¿Qué es el procesamiento de señales y cómo se relaciona con el aprendizaje automático?
Ahora debería quedar claro por qué usamos esto para construir el árbol de decisión. La intuición es que debemos elegir un atributo que divida los puntos de tal manera que la entropía de los conjuntos divididos sea mínima, es decir, hay más puntos de datos que pertenecen a la misma clase. Por lo tanto, idealmente queremos elegir en cada etapa el atributo que brinda la máxima ganancia de información.