Data Mining y Machine Learning: conceptos clave y metodologías

Documento de Universidad sobre Data Mining Resumenes. El Pdf, un material de Informática para Universidad, explora los conceptos clave del Data Mining y Machine Learning, distinguiendo entre aprendizaje supervisado, no supervisado y por refuerzo, con ejemplos detallados.

Ver más

57 páginas

DATA MINING RESUMENES
1. INTRODUCCION
MINERÍA DE DATOS, APRENDIZAJE AUTOMÁTICO: SUPERVISADO, NO SUPERVISADO Y POR REFUERZOS.
2. APRENDIZAJE SUPERVISADO
PROBLEMA DEL APRENDIZAJE SUPERVISADO – PROBLEMAS DE CLASIFICACIÓN Y REGRESIÓN.
Modelos de clasicación:
o BAYES INGENUO
o NEAREST NEIGHBOURS
o ARBOLES DE DECISION
o XGBOOST
o HIPERPARÁMETROS
o COMPLEJIDAD DE UN MODELO
3. MÉTRICAS DE DESEMPO DE CLASIFICADORES Y METODOLOGÍAS DE SELECCIÓN DE MODELOS
Selección de modelos
o Conjunto de validación y testeo
o Validación cruzada
o Grid search y random search
Medidas de desempeño
o Matriz de confusión
o Accuracy, precisión y recall, F1 – SCORE
o Curva ROC Y AREA BAJO LA CURVA
o Matriz de costos
4. INGENIERIA DE ATRIBUTOS Y SELECCIÓN DE ATRIBUTOS
Análisis exploratorio de datos
Ingenieria de atributos
Tecnicas de selección de variables
Data leakage
5. APRENDIZAJE NO SUPERVISADO
Formalización del problema de aprendizaje no supervisado
Algoritmos de clustering
o Jerárquico
o No jerárquico
k means
Reglas de asociación
o Medidas de interés y signicancia: Support, condence, li.
1. MINERIA DE DATOS
Data mining busca extraer conocimiento desde los datos, procesando grandes candades para descubrir
PATRONES y REGLAS.
o Una de las técnicas para descubrir patrones es el APRENDIZAJE AUTOMÁTICO
ETP Un programa aprende de la experiencia (E), en base a ciertas tareas (T) y performance (P) Se busca
que la performance en tasks mejore con la experiencia.
TRABAJACMO CON APRENDIZAJE AUTOMÁTICO 3 FAMILIAS DE ALGORITMOS: Aprendizaje supervisado, no
supervisado y automáco
1) APRENDIZAJE SUPERVISADO
Para cada observación del predictor X, hay una respuesta asociada de Y.
Tengo una variable que conozco para todas las observaciones (X), y después una variable que conozco solo
para algunas observaciones, y quiero esmar que valor toma para las observaciones que desconozco (Y).
Se busca predecir una variable Y, que puede ser:
o Connua con una regresión
o Categórica con clasicación, tanto categórica como mulclase
Es importante destacar que es un PROBLEMA DE REGRESIÓN, no un modelo.
2) APRENDIZAJE NO SUPERVISADO
DIFERENCIA CON MODELO SUPERVISADO En el supervisado estoy buscando PREDECIR, en el no
supervisado estoy buscando PATRONES, algo úl en los datos de manera automáca.
Tenemos variables X, pero sin una respuesta asociada Y.
El objevo es entender la relación entre las variables y las observaciones
3) APRENDIZAJE POR REFUERZOS
Busca lograr que los agentes MAXIMICEN UN BENEFICIO esperado, mediante la INTERACCIÓN CON UN
AMBIENTE, el cual muchas veces no conocen.
A diferencia de los otros dos modelos, no poseen los datos de antemano.
EMPEZAMOS CON APRENDIZAJE SUPERVISADO

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

DATA MINING RESUMENES

1. INTRODUCCION MINERÍA DE DATOS, APRENDIZAJE AUTOMÁTICO: SUPERVISADO, NO SUPERVISADO Y POR REFUERZOS.

APRENDIZAJE SUPERVISADO

PROBLEMA DEL APRENDIZAJE SUPERVISADO - PROBLEMAS DE CLASIFICACIÓN Y REGRESIÓN.

  • Modelos de clasificación: o BAYES INGENUO o NEAREST NEIGHBOURS o ARBOLES DE DECISION o XGBOOST o HIPERPARÁMETROS o COMPLEJIDAD DE UN MODELO

MÉTRICAS DE DESEMPEÑO DE CLASIFICADORES Y METODOLOGÍAS DE SELECCIÓN DE MODELOS

  • Selección de modelos o Conjunto de validación y testeo o Validación cruzada o Grid search y random search

• Medidas de desempeño o Matriz de confusión o Accuracy, precisión y recall, F1 - SCORE o Curva ROC Y AREA BAJO LA CURVA o Matriz de costos

INGENIERIA DE ATRIBUTOS Y SELECCIÓN DE ATRIBUTOS

  • Análisis exploratorio de datos
  • Ingenieria de atributos
  • Tecnicas de selección de variables
  • Data leakage

APRENDIZAJE NO SUPERVISADO

  • Formalización del problema de aprendizaje no supervisado
  • Algoritmos de clustering o Jerárquico No jerárquico > k means o
  • Reglas de asociación o Medidas de interés y significancia: Support, confidence, lift.

1. MINERIA DE DATOS· Data mining > busca extraer conocimiento desde los datos, procesando grandes cantidades para descubrir PATRONES y REGLAS. o Una de las técnicas para descubrir patrones es el APRENDIZAJE AUTOMÁTICO · ETP > Un programa aprende de la experiencia (E), en base a ciertas tareas (T) y performance (P) > Se busca que la performance en tasks mejore con la experiencia. TRABAJACMO CON APRENDIZAJE AUTOMÁTICO > 3 FAMILIAS DE ALGORITMOS: Aprendizaje supervisado, no supervisado y automático

APRENDIZAJE SUPERVISADO

  • Para cada observación del predictor X, hay una respuesta asociada de Y.
  • Tengo una variable que conozco para todas las observaciones (X), y después una variable que conozco solo para algunas observaciones, y quiero estimar que valor toma para las observaciones que desconozco (Y).
  • Se busca predecir una variable Y, que puede ser: o Continua > con una regresión · Es importante destacar que es un PROBLEMA DE REGRESIÓN, no un modelo. o Categórica > con clasificación, tanto categórica como multiclase

APRENDIZAJE NO SUPERVISADO

  • DIFERENCIA CON MODELO SUPERVISADO > En el supervisado estoy buscando PREDECIR, en el no supervisado estoy buscando PATRONES, algo útil en los datos de manera automática.
  • Tenemos variables X, pero sin una respuesta asociada Y.
  • El objetivo es entender la relación entre las variables y las observaciones

APRENDIZAJE POR REFUERZOS

  • Busca lograr que los agentes MAXIMICEN UN BENEFICIO esperado, mediante la INTERACCIÓN CON UN AMBIENTE, el cual muchas veces no conocen.
  • A diferencia de los otros dos modelos, no poseen los datos de antemano. EMPEZAMOS CON APRENDIZAJE SUPERVISADOAprendizaje supervisado Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No Induction 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No Learn Model 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Training Set Apply Model Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K 12 Yes Medium 80K 13 Yes Large 110K ? 14 No Small 95K 3 15 No Large 67K Test Set Y= f(X)

MÉTODOS PARAMÉTRICOS Y NO PARAMÉTRICOS

  • MÉTODOS PARAMÉTRICOS > Los modelos paramétricos asumen una distribución específica subyacente de los datos. Tienen un número fijo de parámetros que se estiman a partir de los datos, por ejemplo la regresión lineal o la distribución normal. o Se hacen suposiciones sobre la forma funcional de la distribución de datos y se estima un conjunto de parámetros que mejor se ajusten a los datos observados. o Cuando las suposiciones son adecuadas, se pueden proporcionar estimaciones precisas.
  • METODOS NO PARAMÉTRICOS > No se asume una forma específica de distribución de los datos, ni hay un número fijo de parámetros. o Son modelos que se basan en la FLEXIBILIDAD, y se adaptan a datos sin suponer una estructura predefinida. Ejemplos son: árboles de decisión, KNN. o No realizo suposiciones sobre la distribución de los datos. o Utilizo métodos flexibles, que ajustan los datos de una manera más adaptable. o Es útil cuando la distribución de los datos es desconocida o no se ajusta a los modelos paramétricos. o La desventaja es que pueden requerir más datos y ser computacionalmente más costosos.

NAIVE BAYES

• Es un algoritmo de CLASIFICACIÓN, para variables Y categóricas. · Modela la probabilidad de que una observación J con determinadas características Xi, pertenezca a una determinada clase Ki, es decir: P(Ci | xi) Model Deduction Learning algorithmDesarrollemos la expresión: P(Ck| x|) = P( Ck, Xj) / P( x)) por probabilidad condicional P(Ck| x;) = (P(x;|Ck) *P(CR) )/P( x;) Teorema de Bayes P ( Ck | X ) = ( P ( V 1 = X| A V 2 = X12 1 ... Vq = Xiq | CK) * P ( CK ) / P ( V1 = X1 1 V2 = X12 A ... Vq = Xiq) Naïve Bayes P ( Ck | X ) = ( P ( V 1 = X 1 A V 2 = X12 A ... Vq = Xiq | Ck ) * P ( Ck ) ) / P ( V1 = X; A V2 = X12 A . Vq = Xjq) Irrelevante (C) no interviene!) P ( Ck | X| ) << ( P ( V 1 = X1 1 V 2 = X12 1 ... Vq = Xiq | CK) * P (Ck) Complejo de estimar Para solucionar este problema, el algoritmo hace un supuesto "ingenuo": las variables poseen independencia condicional (P(A, B | C) = P(A | C) * P (B | C)). P(CK | X;) & (P(V1 = Xi1 | Ck) * P( V2 = X|2 | Ck) * ... * P( Vq = Xiq | CK) ) * P( Ck) ) Likelihood Prior Al conjunto de supuestos usados para definir un modelo de aprendizaje se lo conoce como "sesgo inductivo" (Alpaydin, pp. 38). 19 . Principal objetivo de naive Bayes > generar un modelo para ver cómo aprende de los datos. . El modelo tiene el objetivo de predecir la PROBABILIDAD CONDICIONAL · Teorema de Bayes > Derivo la probabilidad condicional. Esto se interpreta cómo > cuál es la probabilidad de que alguien con Yi tenga X características en sus atributos predictivos. (Yi es una de mis categorías que toma la variable Y). · La parte dl divisor no influye para nada, no interviene > hacemos la cuenta con la parte del dividendo. · Lo que queda es aquello que todo modelo de Bayes ingenuo va a tener: una parte de likelihood y una parte de prior. · Como no puedo estimar la cantidad de datos, vamos a hacer un supuesto > que mis datos cumplen con la propiedad P(AB | C) > Supuesto e independencia condicional o Esto se cumple sólo si mi probabilidad está condicionada a una variable. o Voy a fijar la variable C, y dado que la fijo, las variables son independientes. o Si eso se cumple, P(A | C) = P(B | C) -> Probabilidad de A dado C es la misma que probabilidad de B dado C -> A y B don INDEPENDIENTES, condicionadas a C. > Este supuesto puede ser falso, lo estamos haciendo para que el algoritmo actue. Muchas veces, los algoritmos tienen una hipótesis o sesgo inductivo, que es el supuesto que yo hago en pos de que funcione mi algoritmo.

¿Cómo se resuelve un problema de Bayes ingenuo?

· Vamos a ver un ejemplo: Name Give Birth Can Fly Live in Water no Have Legs yes Class mammals python no no no no non-mammals non-mammals salmon no no yes no whale yes no yes no mammals frog no no sometimes yes non-mammals komodo no no no yes non-mammals mammals pigeon no yes no yes non-mammals cat yes no no yes mammals leopard shark turtle yes no yes no non-mammals no no sometimes yes non-mammals penguin no no sometimes yes non-mammals porcupine yes no no yes mammals eel no no yes no non-mammals salamander no no sometimes yes non-mammals gila monster no no no yes non-mammals platypus no no no yes mammals owl no yes no yes non-mammals dolphin yes no yes no mammals eagle no yes no yes non-mammals Give Birth yes Can Fly Live in Water Have Legs Class no lyes no ? P(A | M ) * P(M) > P(A | N ) * P(N) -> Se predice mamífero 21 En este ejemplo yo tengo las observaciones N que son mis animales. Tengo 4 variables X: give birth, can fly, live in water y have legs. Tengo dos valores (clases) que puede tomar mi variable Y: mammals y non-mammals · Tengo que calcular cada una de las probabilidades para cada variable · Mi prior busca ponderar la DISTRIBUCIÓN POBLACIONAL > Es sobre el total. . Mi likelihood es sobre observaciones con mismos valores · La tabla de abajo es proporcional a la probabilidad que yo quiero estimar. PROBLEMA EN NAIVE BAYES > ¿Qué ocurre cuando, en un valor de la variable Xi, ninguna observación toma cierta clase Yi? - > Por ejemplo, si en "Lives in water", ninguna observación que tiene "sometimes" toma la clase "mamíferos". · Decir que la probabilidad condicional de P(lives in water = sometimes | mammal) = 0 es muy extremo. Se está anulando una predicción justo porque en mi dataset no cayó que ningún mamifero viva en el agua a veces. Pero que algo no aparezca en mi dataset no necesariamente significa que no existe. · Cuando la probabilida condicional estimada es cero, hay que hacer algo

SOLUCIÓN AL PROBLEMA

-> Se modifica la forma de estimar probabilidades, con el suavizado laplaciano o aditivo: P(vj = "ij|Ck) = nk + aK najk + a Valores comunes: · K = # valores distintos de la variable x (3 para "Live in Water"). · a = 1 (add-one smoothing, ¿Por qué?). Estoy cambiando la forma en la que calculo la probabilidad -> voy a sumar ALFA a las probabilidades condicionales que estimo. · K -> es la cantidad de valores diferentes que tiene la variable. . Este truco se llama suavizado aditivo. P(Ck) IP(xij | Ck) q j=1 bat yes yes no yes 22 P(A|M) =2×××=0.06 777 7 P(A|N)=1x10x3×4 =0.0042 13 13 13 13 P(A|M)P(M) =0.06x2 =0.021 20 P(A|N)P(N) =0.004×2=0.0027 20 human yes no· ¿ Cómo funciona alfa? - > Para el mismo alfa (por ejemplo, alfa = 1), a medida que mi dataset va creciendo afecta menos, y por ende impacta menos en mis probabilidades. El efecto del suavizante impacta más en dataset chicos, y va decreciendo con datasets grandes. · ¿ CÓMO ELIJO MI ALFA? > No lo se de antemano, tengo que tener un criterio para decidir qué alfa uso. o Puedo ver intentando con distintos valores de ALFA > Hay que ver donde mejora mi promedio > si se predice mejor, entonces usamos ese valor. COMPARACIÓN DE Y PREDICHO Y DE MI Y OBSERVADO 1 y 50 2 X 0 3835 0 × D 100 R · Tengo por un lado 3455 observaciones de las que conozco mi valor Y asociado a cada X. Por otro lado, tengo 100 observaciones para las que conozco X pero no Y. Yo quiero que a mi modelo le vaya bien abajo, donde predice datos que no conozco. · El modelo puede predecir tanto sobre datos usados para entrenar como sobre los datos separados antes de entrenar. o Nos interesa optimizar -> o La performance en el training sirve para > Medir los datos sobre el dataset de entrenamiento me sirve para hacer un diagnóstico. Cuando yo testeo mi modelo sobre el entrenamiento , podemos entender mejor por qué a nuestro modelo le va mal sobre los datos que no conozco. OJO! Aunque Naive Bayes trata con problemas de clasificación, se puede adaptar a atributos CONTINUOS (Con variables Y continuas). Esto se puede hacer: 1) Discretizando atributos categóricos (ingeniería de atributos) 2) Efectuando estimaciones de densidad (por ejemplo, asumiendo normalidad en modelos paramétricos o utilizando estimadores de tipo kernel en modelos no paramétricos, aunque esto último es muy costoso en tiempo y espacio).

PUNTOS A FAVOR Y EN CONTRA DE NAIVE BAYES

A FAVOR

  • Simple de entender y de implementar
  • Se entrena fácilmente, anda bien con datasets pequeños
  • Es muy rápido
  • Es relativamente insensible a atributos irrelevantes
  • Puede manejar de manera simple los valores nulos > hay que ver que está haciendo naive bayes classifier.
  • Una vez entrenado, ocupa poco espacio > SALVO QUE SE USEN ESTIMACIONES NO PARAMÉTRICAS DE DENSIDAD EN ATRIBUTOS CONTINUOS.

❖ EN CONTRA:

  • El supuesto de independencia condicional suele ser irreal (aunque no necesariamente en todos los casos)
  • No suele tener una gran performance > es lo "mínimo", si algo anda peor que bayes ingenuo, es porque seguro hay algo mal.

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.