Otras tecnicas de clasificaci贸n

23/24

Lectura

T茅cnicas de clasificaci贸n


La clasificaci贸n es un tipo de Machine Learning supervisado. Esto significa que para entrenar un modelo necesitamos un conjunto de datos (dataset) que ya tenga etiquetas (labels) para poder entrenar nuestros modelos.

La mejor forma de pensar en algoritmos de clasificaci贸n es pensar en el sombrero clasificador de Harry Potter. Cuando un nuevo alumno de Hogwarts entra a la escuela es necesario asignarlo/clasificarlo en una de las 4 casas. El sombrero obtiene los datos cuando se lo coloca el alumno y define cu谩l es el mejor match para su caso particular. Aqu铆 estamos asumiendo que el sombrero es un algoritmo que ya ha sido entrenado y que los alumnos son nuevos data points que tienen que ser clasificados.

Clasificadores lineales


Estos tipos de clasificadores se distinguen porque dividen el conjunto de datos con una l铆nea (que puede ser multidimensional dependiendo de la cantidad de features que hemos utilizado para definir a nuestros datos). Esto genera 谩reas dentro de nuestro espacio de b煤squeda para que cuando coloquemos un nuevo dato podamos clasificarlo f谩cilmente.

El problema con este tipo de modelos es que son pocos flexibles cuando el conjunto de datos no puede ser separado f谩cilmente con una simple l铆nea; por ejemplo, cuando necesit谩ramos una figura m谩s compleja para dividirlo (como un pol铆gono).

Regresi贸n log铆stica


Estos algoritmos se parecen mucho a los clasificadores lineales, con la diferencia de que no se divide simplemente con una l铆nea, sino con un gradiente que determina la probabilidad de que un punto pertenezca a una categor铆a u otra. Es decir, la gradiente determina la probabilidad de que un punto sea asignado a una categor铆a y mientras un dato se aleje m谩s en una direcci贸n ser谩 mayor la probabilidad de que pertenezca a una categor铆a.

Imagina que estos algoritmos generan un 谩rea difusa en la que no estamos seguros de la clasificaci贸n y un 谩rea clara en la que tenemos un alto grado de certeza
en cuanto a la categor铆a que pertenece un punto.

Nearest neighbor


Los modelos que utilizan nearest neighbor se apoyan de los datos que ya han sido clasificados para determinar la distancia entre sus 鈥渧ecinos m谩s cercanos.鈥 El algoritmo m谩s com煤n que utiliza esta t茅cnica se llama K-nearest neighbors y la K representa el n煤mero de vecinos que se utilizar谩n para clasificar los datos. En pocas palabras, se identifican los datos m谩s cercanos y en el caso m谩s sencillo se hace una votaci贸n simple (por ejemplo, 5 azules, 2 rojos, por lo tanto azul).

Una caracter铆stica de estos modelos es que 鈥渄ibujan鈥 una l铆nea que se asemeja a una costa para clasificar los datos. Mientras K sea m谩s grande la 鈥渓铆nea costera鈥 se alisa y se asemeja m谩s y m谩s a una l铆nea simple. Por lo tanto, la definici贸n de K tiene un impacto importante en el desempe帽o de nuestro algoritmo de clasificaci贸n.

Support Vector Machines


Estos algoritmos se diferencian por tener la habilidad de generar figuras complejas (pol铆gonos) que pueden agrupar datos. Si la figura que tendr铆amos que dibujar para dividir nuestros datos es diferente a una l铆nea (c铆rculos, pol铆gonos, etc.), entonces estos modelos son una buena opci贸n.

脕rboles de decisi贸n


Este tipo de algoritmos nos permiten generar una 谩rbol que tenemos que recorrer y tomar decisiones cada vez que avanzamos en un nivel. Por ejemplo:

  • Si un feature en an谩lisis es mayor a 5, dibuja la l铆nea y=2x+3, de lo contrario dibuja y=-3x+5
  • Si el feature siguiente es menor a 2, dibuja otra l铆nea y as铆 sucesivamente.

Conclusiones


Recuerda que la decisi贸n de qu茅 algoritmo utilizar depende de la forma en la que tengas tus datos y la precisi贸n que desees obtener (a cambio de excluir o incluir falsos positivos y negativos). Otro punto a considerar es que estos algoritmos deben ser entrenados con datos previos y la calidad de estos datos y del modelo subsecuente importan mucho para obtener la mejor clasificaci贸n.

Te invito a que consultes la documentaci贸n de Scikit-learn para que puedas profundizar en la forma en que funcionan estos algoritmos (y muchos otros) y puedas saber qu茅 tipo de par谩metros se pueden ajustar y cu谩l es la forma de los datos que esperan. Aqu铆 est谩 el v铆nculo a la documentaci贸n

隆Comp谩rtenos tus descubrimientos!

Aportes 37

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

En este video explican las regresion logistica
https://www.youtube.com/watch?v=KN167eUcvrs

Aqui hay mas recursos para revisar otras tecnicas de clasificaci贸n:

https://bookdown.org/content/2274/metodos-de-clasificacion.html

Gracias por la documentaci贸n.
Muy buena; https://scikit-learn.org/stable/modules/linear_model.html

Este era el que m谩s me costaba entender, pero esta imagen me aclar贸 todo.

Viendo todo esto me surgi贸 una curiosidad & observaci贸n:
驴Creen ustedes que los test de personalidades como los de 16 personalities se basan precisamente en estos tipos de clasificaci贸n? Mientras le铆a Nearest Neighbour me pareci贸 que as铆 es exactamente como determinan qu茅 tipo de personalidad es la que todos tienen (Curioso, ya que si eso es verdadero, al principio literalmente tuvieron que haber probado y verificar con personas presenciales que as铆 mismo sean sus personalidades). Les comparto el link si no lo han visto para que ustedes se puedan convertir en parte de ese experimento =)
.
https://www.16personalities.com/es/test-de-personalidad

T茅cnicas de Clasificaci贸n
Clasificadores Lineales
Dividen el conjunto mediante l铆neas (puede ser multidimensional) en 谩reas en las que se encuentran nuestros datos. Tienen la desventaja de ser poco flexibles y hay conjuntos que no pueden ser separados por simples l铆neas (pero s铆 con pol铆gonos)
Regresi贸n log铆stica
Divide el campo en un gradiente de probabilidades de pertenencia. Generan un 谩rea difusa en la que no estamos seguros de la clasificaci贸n y otra en la que tenemos un alto grado de certeza
Nearest Neighbor
Compara los datos aquellos m谩s cercanos que ya conocemos y define la pertenencia a un grupo en base es estos. Estos algoritmos dibujan una especie de l铆nea costera para clasificar los datos. Mientras m谩s grande k esta l铆nea se alisa.
Super Vector Machines
Estos algoritmos pueden generar figuras complejas (pol铆gonos) para agrupar los datos. Son una buena opci贸n para distribuciones de datos complejas.
脕rboles de decisi贸n
Generamos un 谩rbol el cual recorreremos a medida que tomamos decisiones en cada nivel.

hay un curso dedicado a cada uno de los tipos de Modelo de clasificaci贸n?

Compa帽eros, les comparto un blog donde hablan un poco m谩s sobre los Support Vector Machines

Enlace

scikit-learn esta incre铆ble ya quiero aprender a usarlo隆隆隆

Ac谩 encontr茅 un link que muestra otros tipos de algoritmos de ML
https://www.apd.es/algoritmos-del-machine-learning/

Y en GitHub hay much铆simo contenido de valor sobre estos temas

Muy buen resumen de las clasificaciones, y la documentaci贸n muy buena.

Supongo que estos temas se profundizan en los cursos mas avanzados de Machine Learning dentro del Learning path no?

Al igual que en los algoritmos de agrupaci贸n, en los de clasificaci贸n tambi茅n tenemos la posibilidad de usar m谩s de un algoritmo para obtener mejores resultados y este depender谩 tambi茅n de cual es tu necesidad.

Gracias, est谩 bueno el art铆culo

"Utilizamos mentalmente estructuras de 谩rbol de decisi贸n constantemente en nuestra vida diaria sin darnos cuenta:

驴Llueve? => lleva paraguas. 驴Soleado? => lleva gafas de sol. 驴estoy cansado? => toma caf茅. (decisiones del tipo IF THIS THEN THAT)

Los 谩rboles de decisi贸n tienen un primer nodo llamado ra铆z (root) y luego se descomponen el resto de atributos de entrada en dos ramas (podr铆an ser m谩s, pero no nos meteremos en eso ahora) planteando una condici贸n que puede ser cierta o falsa. Se bifurca cada nodo en 2 y vuelven a subdividirse hasta llegar a las hojas que son los nodos finales y que equivalen a respuestas a la soluci贸n: Si/No, Comprar/Vender, o lo que sea que estemos clasificando."

Tomado de https://www.aprendemachinelearning.com/arbol-de-decision-en-python-clasificacion-y-prediccion/

Les comparto apuntes donde he adjuntado algunos gr谩ficos a esta explicaci贸n para poder visualizar los algoritmos

https://github.com/francomanca93/Escuela-DataScience/blob/master/introduccion-al-pensamiento-probabilistico/README.md#otras-tecnicas-de-clasificaci贸n

Dejo mi aporte con este enlace, donde podr谩s encontrar m谩s informaci贸n y ejercicios para practicar.
https://www.aprendemachinelearning.com/que-es-machine-learning/

No se porque pero me record贸 a esta pel铆cula:
https://www.youtube.com/watch?v=eyuNrm4VK2w

Excelente documentacion, muestra todos los tipos de aprendizaje tanto supervisados como no supervisados.

Gracias por esa gran documentaci贸n!

Est谩 excelente la documentaci贸n de Scikit-learn.

Muy buena informaci贸n

interesante

Gracias profe David y Platzi! Estoy aprendiendo mucho y est谩 gustando m谩s y m谩s este tema! Gracias nuevamente! Y tambi茅n les agradezco a todos por compartir sus ideas y aportes!

Gracias por el art铆culo, David. El curso es s煤per interesante y la manera de explicarlo fue muy fluida.

Me ha gustado mucho el curso. 隆gracias David y team Platzi!

Hola, una pregunta si yo quiero que algo aprenda mediante sus errores cuales tecnicas podria usar?, se que la pregunta no es muy especifica y que se necesitaria conocer mejor el problema y eso,simplemente se me ocurrio esa pregunta.

Otras t茅cnicas de clasificaci贸n.

  • La clasificaci贸n es ML supervisado (ocupa etiquetas). El sobrero clasificador de HP es un ejemplo si fuera un algoritmo 馃帺
  • Hay varios tipos:
    • Clasificadores lineales: Divide los datos con una l铆nea (o hiperplano de dimensi贸n N-1). Solo es 煤til cuando los grupos est谩n claramente separados 2锔忊儯.
    • Regresi贸n log铆stica: Similar a los lineales pero no usan una l铆nea, si no un gradiente de probabilidad 馃幉.
    • Nearest neighbor: Se apoyan en datos ya clasificados. El mas com煤n es el que ya revisamos. Si visualiz谩ramos como se separa el espacio con cada K, se ver铆a como una costa (una playa) y a mas grande K, se parecer铆a mas a una l铆nea 馃彇锔.
    • Support vector machines: Tienen la habilidad de generar figuras complejas (pol铆gonos) para agrupa
    • 脕rboles de decisi贸n: Se recorre el 谩rbol y en cada nodo se toma una decisi贸n 馃尣.
  • La calidad de los datos de entrenamiento son determinantes en la calidad de los algoritmos de clasificaci贸n.

User guide: contents - scikit-learn 0.24.1 documentation

Gracias por la documentaci贸n compartida, es un gran complemento para el camino del ML

gracias por compartir los diferentes algoritmos.

Gran complemento a las clases previas

Muy buena s铆ntesis!!

buenisimo
gracias!

gracias

Gracias David

interesante documentaci贸n.