Machine Learning with Apache Spark MuleSoft Academy
Hoy: -
Clasificación binaria: Logistic Regression. Métricas para clasificación binaria: -
-
Feature Engineering -
-
Log loss AUC One Hot Encoding Feature Hashing
Notebook 2: -
Predecir los clicks en avisos
Logistic Regression
Logistic Regression -
Algoritmo para clasificación binaria (puede extenderse a multi-clase) Funciona como una regresión lineal agregando una función de activación: la función logística. Genera predicciones que sirven como probabilidades. En general funciona muy pero muy bien cuando tenemos muchos datos y pocos features.
Función Sigmoidea
Función Costo
Gradiente
Ejemplo
Clasificación Multiclase
Más de 2 Clases -
One vs All -
-
Entrenar un clasificador binario por cada clase.
One vs One -
Entrenar un clasificador binario por cada par de clases.
ROC & AUC
ROC -
False Positives False Negatives True Positives True Negatives
One Hot Encoding
One Hot Encoding -
Convertir cada par (featureId, value) en un número único. Cada columna es binaria y representa con 1 y 0 si ese feature toma dicho valor para la fila en cuestión. Ejemplo: (color=blue, age=15, idiom=en) (color=red,age=20,idiom=en) (color=blue,age=25,idiom=sp) 0: color-blue 1:color-red 2:age-15 3:age-20 4:age-25 5:idiom-en 6:idiom-sp (0,0,0,0,0,0,0), (0,0,0,0,0,0,0),(0,0,0,0,0,0,0)
One Hot Encoding -
Convertir cada par (featureId, value) en un número único. Cada columna es binaria y representa con 1 y 0 si ese feature toma dicho valor para la fila en cuestión. Ejemplo: (color=blue, age=15, idiom=en) (color=red,age=20,idiom=en) (color=blue,age=25,idiom=sp) 0: color-blue 1:color-red 2:age-15 3:age-20 4:age-25 5:idiom-en 6:idiom-sp (1,0,1,0,0,1,0), (0,0,0,0,0,0,0),(0,0,0,0,0,0,0)
One Hot Encoding -
Convertir cada par (featureId, value) en un número único. Cada columna es binaria y representa con 1 y 0 si ese feature toma dicho valor para la fila en cuestión. Ejemplo: (color=blue, age=15, idiom=en) (color=red,age=20,idiom=en) (color=blue,age=25,idiom=sp) 0: color-blue 1:color-red 2:age-15 3:age-20 4:age-25 5:idiom-en 6:idiom-sp (1,0,1,0,0,1,0), (0,1,0,1,0,1,0),(0,0,0,0,0,0,0)
One Hot Encoding -
Convertir cada par (featureId, value) en un número único. Cada columna es binaria y representa con 1 y 0 si ese feature toma dicho valor para la fila en cuestión. Ejemplo: (color=blue, age=15, idiom=en) (color=red,age=20,idiom=en) (color=blue,age=25,idiom=sp) 0: color-blue 1:color-red 2:age-15 3:age-20 4:age-25 5:idiom-en 6:idiom-sp (1,0,1,0,0,1,0), (0,1,0,1,0,1,0),(1,0,0,0,1,0,1)
Feature Hashing
Feature Hashing -
La posición está determinada por el feature y su valor. Podemos elegir cualquier dimensionalidad mediante el rango de la función de hashing. Ej si queremos vectores de 4 elementos -
h(colorblue) = 3 h(colorred) = 2 h(age15)= 1 h(age20)= 1 h(age25)= 0 h(idiomen)= 3 h(idiomsp)= 1
Feature Hashing -
(color=blue, age=15, idiom=en) => (0,1,0,2) (color=red,age=20,idiom=en) => (0,1,1,1) (color=blue,age=25,idiom=sp) => (1,1,0,1)
Feature Hashing Variantes -
Usar una segunda función de hashing para determinar el signo y sumar o restar en la posición. Esto minimiza el efecto de las colisiones.
Feature Hashing -
En general el efecto de las colisiones no solo no es negativo sino que puede ser positivo. Ejemplo: 94% de colisiones y menos de un 2% de cambio en la precisión al clasificar!!!! [source?]
Notebook 2
Click Through Rate by Criteo
Notebook
Next Week
Recomendaciones