+ All Categories
Home > Documents > Introducción a Scikit Learn - cs.us.es · Introducci onM etricasValidaci on de modelosOptimizaci...

Introducción a Scikit Learn - cs.us.es · Introducci onM etricasValidaci on de modelosOptimizaci...

Date post: 06-Sep-2019
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
53
Introducci´ on etricas Validaci´on de modelos Optimizaci´on de par´ ametros Introducci´ on a Scikit Learn David Sol´ ıs Mart´ ın Dpto. Ciencias de la Computaci´on e Inteligencia Artificial Ampliaci´ on de Inteligencia Artificial, 2017-2018
Transcript

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Introduccion a Scikit Learn

David Solıs Martın

Dpto. Ciencias de la Computacion e Inteligencia Artificial

Ampliacion de Inteligencia Artificial, 2017-2018

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Indice

Introduccion

Metricas

Validacion de modelos

Optimizacion de parametros

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Introduccion

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn

• Es una librerıa / framework desarrollada en Python y C++orientada al aprendizaje automatico (machine learning).

• Un poco de historia

• Inicialmente desarrollada por David Cournapeau durante elGoogle summer code en 2007

• Later Matthieu Brucher se une al proyecto y la usa como partede su tesis.

• En 2010 INRIA (Institut national de recherche en informatiqueet en automatique) lidera el proyecto y publica la primerarelease.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn

• Muy bien estructurado.• Otras librerıas se basan en dicha estructura para que estas

pueden usarse junto a sklearn.

• Muy bien documentado. Incluye referencias a artıculos en lasque se basa las implementaciones.

• Tiene un comunidad de desarrolladores muy activa.

• Posee un coleccion muy amplia de algoritmos.

Nota: Para la lectura, escritura y manipulaciones genericasde los conjuntos de datos usar pandas, numpy y scipy

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - Estructura

Puesta enproducción

Entrenamiento y evaluación

Ingeniería de Atributos

Procesado de Datos

Agregación de Datos

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - Estructura

• Algunos de los paquetes mas importantes:• linear model, ensemble, neighbors, neural networks:

Algoritmos agrupados segun su naturaleza.• metrics. Con un conjunto de funciones para evaluar la calidad

de nuestros modelos. Metricas en funcion del tipo deproblema: clustering, clasificacion, regresion, ...

• model selection. Funciones orientadas a crear divisiones delos datos en entrenamiento y validacion para controlar elsobreajuste.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - Estructura

• Hay dos tipos de clases principales:• Las que derivan de TransformerMixin. Clases que manipulan

los datos, para realizar una transformacion o generar nuevosatributos.• fit. Estas clases tambien se entrenan previamente.• transform. Realizar la transformacion. Recibe el conjunto de

datos X y devuelve el conjunto X’.• fit transform. Metodo de ayuda que llama a los anteriores

metodos secuencialmente.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - Ejemplo

• Por ejemplo, este dataset:

• tiene atributos codificados con texto (como el genero, elstatus y el dıa de la semana) y tambien hay fechas.

• Todos los algoritmos en sklearn trabajan con datos numerico,por lo que tenemos que codificar esos tipos de datos anumerico.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - EjemploPara el caso de los atributos categoricos codificados como textopodemos usar, por ejemplo, la clase LabelEncoder:

1 from s k l e a r n . p r e p r o c e s s i n g \2 i m p o r t L a b e l E n c o d e r3

4 l c = L a b e l E n c o d e r ( )5 l c . f i t (X . Gender )6

7 # a cada c a t e g o r ı a l e a s i g n a e l ı n d i c e d e l a r r a y8 p r i n t ( ” C l a s e s : %s ” % l c . c l a s s e s )9 p r i n t ( ” V a l o r e s o r i g i n a l e s : %s ” % X . Gender . v a l u e s )

10

11 e n c o d i n g = l c . t r a n s f o r m (X . Gender )12

13 p r i n t ( ” V a l o r e s c o d i f i c a d o s : %s ” % e n c o d i n g )14

15 $ C l a s e s : [ ’ F ’ ’M’ ]16 $ V a l o r e s o r i g i n a l e s : [ ’M’ ’ F ’ ’ F ’ . . . , ’ F ’ ’M’ ’M’ ]17 $ V a l o r e s c o d i f i c a d o s : [ 1 0 0 . . . , 0 1 1 ]

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - Ejemplo

1 . . .2 . . .3 . . .4 # l c . f i t (X . Gender )5 # e n c o d i n g = l c . t r a n s f o r m (X . Gender )6

7 e n c o d i n g = l c . f i t t r a n s f o r m (X . Gender )8

9 . . .10 . . .11 . . .12

13 $ C l a s e s : [ ’ F ’ ’M’ ]14 $ V a l o r e s o r i g i n a l e s : [ ’M’ ’ F ’ ’ F ’ . . . , ’ F ’ ’M’ ’M’ ]15 $ V a l o r e s c o d i f i c a d o s : [ 1 0 0 . . . , 0 1 1 ]

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - Estructura

• Hay dos tipos de clases principales:• Las que derivan de BaseEstimator. Todos los algoritmos de

aprendizaje. Los metodos mas importantes:• fit. Para entrenar el modelo. Recibe dos parametros X e y. X

conjunto de datos en forma tabular (filas=muestras,columnas=atributos) e y es la variable respuesta (la que sequiere predecir)

• predict. Realiza la prediccion de un modelo previamenteentrenado. Solo recibe un conjunto X de muestras usadospara recibir

• predict proba. Idem al anterior pero la respuesta se obtienecomo probabilidades.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Scikit learn - Ejemplo

1 from s k l e a r n . l i n e a r m o d e l \2 i m p o r t L o g i s t i c R e g r e s s i o n3

4 # creamos e l modelo5 e s t i m a t o r = L o g i s t i c R e g r e s s i o n ( )6

7 # a j u s t a m o s e l modelo8 e s t i m a t o r . f i t ( X t r a i n , y )9

10 # obtenemos l a p r e d i c c i o n e s11 pred = e s t i m a t o r . p r e d i c t ( X t e s t )12

13 p r i n t ( pred )14 p r i n t ( t y p e ( pred ) )15

16 [ 0 0 1 . . . , 1 0 0 ]17 <c l a s s ’ numpy . n d a r r a y ’>

¡Cuidado!, las predicciones obtenidas son un array de numpy nouna lista de python.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Metricas

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Metricas en scikit-learn

• Cuando estamos ajustando un modelo es necesario estableceruna metrica para determina como de ”bueno es nuestromodelo”.

• La metrica dependera del problema:• Naturaleza de este: clasificacion, regresion, clustering, ranking,

...• Y del uso futuro que se le vaya a dar al modelo.

• En un modelo para determinar si un paciente debe ser operadode urgencia es muy imporante reducir el falsos positivos (sobretodo si dicha operacion es de alto riesgo).

• En un modelo que determina que objetos hay dentro de unimagen sera interesante tener una probabilidad para cadaobjeto.

• Diferentes metricas influyen en la importancia que el modeloda a los atributos.

• Tambien nos ayuda a parametrizar el modelo de la maneramas conveniente.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Metricas para clasificacion

• Los problemas de clasificacion son los mas comunes y en loque mas metricas se han desarollado. Las mas importantes:• Matriz de confusion. Para determinar en que clases falla el

modelo y con que clases las confunde.• Precision, recall, f1-score, soporte. Son ratios entre los

grupos de (FP, FN, TP, TN) tomados por parejas.• Accuracy (exactitud). Promedio de acierto.• LogLoss. Evalua las probabilidades para cada categorıa.• Area bajo la curva (AUC). Mide la habilidad de un modelo

para discriminar entre clases positivas y negativas.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Tipos de error en clasificacion binaria

• Verdaderos positivos (TP): Aquellas muestras con clasepositiva que han sido clasificadas como positivas (clasificadascorrectamente)

• Verdaderos negativo (TN): Aquellas muestras con clasenegativa que han sido clasificadas como negativas(clasificadas correctamente)

• Falsos positivos (FP): Aquellas muestras con clase positivaque han sido clasificadas como negativas (clasificadasincorrectamente)

• Falsos negativos (FN): Aquellas muestras con clase negativaque han sido clasificadas como positivas (clasificadasincorrectamente)

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Tipos de error en clasificacion binaria

FALSO POSITIVO FALSO NEGATIVO

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Accuracy

• Mide el porcentaje de acierto.

Accuracy =#prediccionescorrectas

#totaldemuestras(1)

Accuracy =TP + TN

TP + TN + FP + FN=

TP + TN

N(2)

• Es la metrica mas usada para clasificacion y la mas usadaincorrectamente.• Solo util cuando tenemos el mismo numero de observaciones

de ambas clases• y todas las predicciones sobre las clases son igualmente de

importantes.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Accuracy

• Ejemplo: Supongamos que tenemos 170504 muestraspositivas y 129302 negativas. Nuestro modelo clasificacorrecamente 126811 de las muestras positivas y 82309 de lasmuestras negativas.

Accuracy =126811 + 43693

170504 + 129302= 0.5687 = 56.87% (3)

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Accuracy

1 from s k l e a r n . m e t r i c s \2 i m p o r t a c c u r a c y s c o r e3

4 acc = a c c u r a c y s c o r e ( y , e s t i m a t o r . p r e d i c t (X) )5 p r i n t ( acc )6

7 $ 0.568714435334849898

9 TP FP = a c c u r a c y s c o r e ( y , e s t i m a t o r . p r e d i c t (X) ,n o r m a l i z e=F a l s e )

10 p r i n t ( TP FP )11

12 $ 170504

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Accuracy

• Ejemplo: Supongamos que tenemos 9850 muestras negativasy 150 positivas. Nuestro modelo clasifica correcamente 9700de las muestras negativas y 50 de las muestras positivas.

Accuracy =9700 + 50

9850 + 150= 0.98 = 98.0% (4)

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Accuracy Paradox

• Ejemplo: Supongamos ahora que nuestro modelo siempredada una respuesta negativa (modelo trivial):

Accuracy =9850 + 0

9850 + 150= 0.98.5 = 98.5% (5)

• Este modelo tiene una mejor medida de exactitud, sinembargo, es un modelo inutil.

• ¿Por que el accuracy general no es una buena metrica encasos de datos desbalanceados?• Las clases con mayor numero de muestras dominaran el

resultado del calculo de la metrica.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Matriz de confusion

• La matriz de confusion nos muestra mas informacion de lasclasificaciones correctas e incorrectas por clase.

• Con los datos del ejemplo anterior:

• Con la matriz de confusion podemos extraer mas informaciondel comportamiento del modelo por clase:• ¿En que clase se equivoca mas?• Dada un clase, ¿en que grado se confunde con la otra clase?• ¿Que clase tiene mayor precision?

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Matriz de confusion

1 from s k l e a r n . m e t r i c s i m p o r t c o n f u s i o n m a t r i x2 m = c o n f u s i o n m a t r i x ( y , e s t i m a t o r . p r e d i c t (X) )3

4 p r i n t (m)5

6 $ a r r a y ( [ [ 43693 , 4 6 9 9 3 ] ,7 [ 82309 , 1 2 6 8 1 1 ] ] )

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Matriz de confusion

1 from s k l e a r n . m e t r i c s i m p o r t c o n f u s i o n m a t r i x2 m = c o n f u s i o n m a t r i x ( y , e s t i m a t o r . p r e d i c t (X) )3

4 # creamos un d a t a f ra m e con l a i n f o m a c i o n l a m a t r i z de5 # c o n f u n s i o n6 m = pd . DataFrame ( data={ ’N ’ : m. T [ 0 ] , ’P ’ : m. T [ 1 ] ,7 ’ i n d e x ’ : [ ’N ’ , ’P ’ ] } )8 m = m. s e t i n d e x (m[ ’ i n d e x ’ ] . v a l u e s )9

10 d e l m[ ’ i n d e x ’ ]11

12 p r i n t (m)

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Log-Loss

• Se usa cuando la prediccion obtenida es una probabilidad.

• Es valida tanto para clasificacion binaria como multiclase(mas de 2 clases).

1

N

N∑i=1

−y log(p) − (1 − y) log(1 − p). (6)

• No solo se busca optimizar el numero de aciertos, sinotambien la seguridad con que el modelo acierta.

• Cuando la prediccion es perfecta esta metrica is 0 (cuantomenor mejor).

• Minimizar el log-loss implica maximizar el accuracygeneralmente.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Log-Loss

1 from s k l e a r n . m e t r i c s i m p o r t l o g l o s s2 l l = l o g l o s s ( y , e s t i m a t o r . p r e d i c t p r o b a (X) )3

4 p r i n t ( l l )5

6 $ 1.8222485483381812

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Precision - Recall

• Estas metricas responden a las siguientes preguntas.• De todas las muestras clasificadas como positivas, ¿que

porcentaje es correctamente clasificado?

Precision =TP

TP + FP(7)

• Tambien llamada PPV (positive predictive value)

• De todas las muestras positivas, ¿que porcentaje escorrectamente clasificado?

Recall =TP

TP + FN(8)

• Muchos otros nombres: sensitivy, hit rate y TPR (true positiverate)

Introduccion Metricas Validacion de modelos Optimizacion de parametros

F-Measure

• Es la media armonica de precision y recall:

F1 = 2 ∗ precision ∗ recall

precision + recall(9)

• Se busca que esta metrica de un valor alto solo cuando laprecision y el recall sean altos.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Metricas de ranking

• Estas metricas son muy utlizadas en sitemas de ranking. Porejemplo, el buscador de google.• Un motor de busqueda puede ser visto como un clasificador

binario: dado un termino de busqueda el documento Dxes relevante para la busqueda

• Las metricas anteriores pueden ser interpretadas comoprobabilidades en vez de como proporciones:• Precision: probabilidad de que un documento devuelto en la

busqueda sea relevante.• Recall: probabilidad de un documento relevante sea devuelto

en la busqueda.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Informe

1 from s k l e a r n . m e t r i c s i m p o r t c l a s s i f i c a t i o n r e p o r t2 r e p o r t = c l a s s i f i c a t i o n r e p o r t ( y , e s t i m a t o r . p r e d i c t (X) )3

4 p r i n t ( r e p o r t )5

6 $ p r e c i s i o n r e c a l l f1−s c o r e s u p p o r t7 $8 $ 0 0 . 3 5 0 . 4 8 0 . 4 0 906869 $ 1 0 . 7 3 0 . 6 1 0 . 6 6 209120

10 $11 $ avg / t o t a l 0 . 6 1 0 . 5 7 0 . 5 8 299806

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Resumen

Pred P Pred N

Verd. P TP FP TPR =TP

TP + FNFNR =

FN

TP + FN

Verd. N FN TN FPR =FP

FP + TNFNR =

TN

FP + TN

PPV =TP

TP + FPFOR =

FN

FN + TNLR+ =

TPR

FPR DOR =LR+

LR−FDR =

FP

FP + TPNPV =

TN

TN + FNLR− =

FNR

TNR

• P0: Positive

• N: Negative

• P1: Predictive

• R: Rate• V: Value• F: False• T: True

• D: Discovery

• O: Odds

• L: Likelihood

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Espacio ROC• ROC (Receiver Operating Characteristic). Grafico

bidimensional en el cual representamos en el eje Y el TPR yen el eje X el FPR.• Representa la relacion entre beneficio (TPR) y coste (FPR).

PERFECTO

ESPACIO ROC

MEJOR

PEOR

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Espacio ROC• Puntos importantes:

• (0,0): Representa un clasificador que nunca da como salidauna respuesta positiva. Falla en todos los positivos y acierta entodos los negativos.

• (1,1): Representa el caso contrario. Siempre da una respuestapositiva. Acierta todos los casos positivos, pero falla en todoslos negativos.

• (1,0): Representa a un clasificador perfecto. Acierta todos loscasos positivos y los negativos.

PERFECTO

ESPACIO ROC

MEJOR

PEOR

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Espacio ROC• Un clasificador C1 es mejor que C2 si C1 esta mas cerca de

(1,0) que C2.• Los clasificadores cerca del eje Y pueden ser vistos como

clasificadores conservativos. Solo dan una respuesta positivacuando tienen una fuerte evidencia de ello.

• Los clasificadores localizados en la zona superior derechapueden ser vistos como liberales. Necesitan una mınimaevidencia para clasificar positivamente una muestra.

PERFECTO

ESPACIO ROC

MEJOR

PEOR

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Espacio ROC

• La diagonal (x=y) representa una estrategia aleatoria. Porejemplo:• Un clasificador que clasifique como positiva la mitad de las

muestras aleatoriamente se espera que clasifique correctamenteel 50% de las muestras positivas por lo que estara en el punto(0.5, 0.5).

• Si clasifica aleatoriamente como positivas el 80% de lasmuestras debera encontrarse en el punto (0.8, 0.8).

PERFECTO

ESPACIO ROC

MEJOR

PEOR

• Un clasificador, para salir de la diagonal debe explotaralgun tipo de informacion extraida de los datos.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Espacio ROC

• Un clasificador localizado por debajo de la diagonal es peorque cualquier clasificador aleatorio (¿o no?).• Si negamos la respuesta del clasificador, tendremos un

clasificador en la parte superior de la diagonal.

PERFECTO

ESPACIO ROC

MEJOR

PEOR

• Un clasificador sobre la diagonal no tiene informacion sobrelas clases. Sin embargo, un clasificador por debajo de ladiagonal, si la tiene pero la esta aplicando incorrectamente.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Curva ROC

• Algunos algoritmos dan como respuesta un valor numericoque indica el grado de seguridad de que una instanciapertenezca a una clase.• Naive Bayes, Redes Neuronales, Random Forest, etc.

• Estos clasificadores probabilisticos pueden ser convertidos adiscretos aplicando un umbral.

• Si aplicamos este umbral gradualemente podemos trazar uncurva en el espacio ROC para ”un solo clasificador”.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Area bajo la curva (AUC)

• El area bajo la curva ROC siempre va entre 0 y 1.• Bajo la diagonal hay un area de 0.5, por tanto ningun

clasificador debe dar un AUC inferior a 0.5.

• Propiedades:• Es equivalente a la probibilidad de dar un mayor score a una

muestra positiva que a una negativa tomadas aleatoriamente.

P(score(x+) > score(x−)) (10)

• El coeficiente de Gini es dos veces el area entre la diagonal y lacurva.

Gini = (2 ∗ AUC ) − 1 (11)

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Validacion de modelos

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Entrenamiento y validacion

• En el enfoque clasico los datos se dividen en datos deentrenamiento y datos de validacion y test en un ratio 7:3aproximadamente.• Entrenamos con un 70% de los datos.• Validamos nuestro modelo con el 30% restante.

1 from s k l e a r n . m o d e l s e l e c t i o n i m p o r tt r a i n t e s t s p l i t

2

3 X t r a i n , X t e s t , y t r a i n , y t e s t = \4 t r a i n t e s t s p l i t (X, y , t e s t s i z e =0.33)

• ¿Como sabemos que el 30% de los datos que hemos reservadoson representativos de la realidad? ¿Podrıa existir otrasubvidision mejor?

• Hemos desaprovechado un 30% de los datos para entrenar.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Dilema sesgo-varianza

• El error que comete nuestro modelo se puede descomponer endos tipos de errores:• Error de sesgo: Es la media del error entre el valor predicho

por nuestro modelo y el valor real. Para conseguir dicha mediaserıa necesario entrenar el mismo modelo N veces condiferentes datos. Medimos la generalidad del modelo respectoa los datos.

• Error de varianza: La variabilidad en la prediccion para unamuestra concreta. Medimos la estabilidad del modelo.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Dilema sesgo-varianza

• Modelos muy simples: alto sesgo.

• Modelos muy complejos: alta varianza.

• Tenemos que buscar un equilibrio entre el sesgo y la varianzadel modelo.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Validacion cruzada

• ¿Como podemos entrenar nuestro modelo con diferentesdatos? Es lo que se conoce como validacion cruzada:

Acurracy final: Media(Modelo1, Modelo2, ..., Modelo10)Desviación : Std(Modelo1, Modelo2, ..., Modelo10)

Accuracy:

Modelo 1 Modelo 10Modelo 3Modelo 2

Conjunto de validación

Conjunto de entrenamiento

• Si divido el conjunto de entranamiento en N partes. Cada unade esas partes (fold) se usara para validar y el resto paraentrenar.

• Si creamos 10 folds, tendremos que entrenar 10 modelos.Cada modelo se entrera con el 90% por de los datos y sevalidara con un 10%.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Validacion cruzada

• La funcion cross val score entrenara un modelo por cadafold y calculara la validacion de cada uno:

1 from s k l e a r n . m o d e l s e l e c t i o n i m p o r t c r o s s v a l s c o r e2

3 p r i n t ( c r o s s v a l s c o r e ( e s t i m a t o r , X, y , cv =5) )4 [ 0 .33150734 0.08022311 0.03531764 0.05323443

0 . 1 2 3 2 3 3 ]

• Para calcular el score cada modelo debe realizar laspredicciones de su fold. A estas predicciones se les conocecomo predicciones out of fold.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Validacion cruzada

• En el ejemplo anterior pasamos el numero de folds. Lohabitual es trabajar siempre con los mismo folds.

• Para ello scikit learn tiene varias clases, en funcion de laextrategia de validacion cruzada para crear los folds:• KFold. Crea los folds aleatoriamente.• StratifiedKFold. Para casos con clases desbalanceadas

(muchos mas positivos que negativos). Los folds mantendranla misma propocion de clases.

• LeaveOneOut. Solo se deja un muestra para validar. Crearatantos modelos como muestras haya en nuestro conjunto dedatos.

• LeavePOut. Se dejan P muestras para validar.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Validacion cruzada

1 from s k l e a r n . m o d e l s e l e c t i o n i m p o r t c r o s s v a l s c o r e2 from s k l e a r n . m o d e l s e l e c t i o n i m p o r t KFold3

4 k f = KFold ( n s p l i t s =5)5

6 p r i n t ( c r o s s v a l s c o r e ( e s t i m a t o r , X, y , cv=k f ) )7 [ 0 .33150734 0.08022311 0.03531764 0.05323443

0 . 1 2 3 2 3 3 ]

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Optimizacion de parametros

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Seleccion de modelos

• Los algoritmos suelen tener un conjunto de parametros amplio.

• La seleccion de modelos consiste en determina que conjuntode parametros es mas aconsejable.

• En scikit learn tenemos dos clases para realizar la optimizacionde parametros:• RandomizedSearchCV. Entrena modelos seleccionando los

parametros de manera aleatoria. Se le especifica el rango decada parametro a estudiar.

• GridSearchCV. Se le especifica que valores de cada parametroestudiar y genera todas las combinaciones entre parametrosposibles.

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Seleccion de modelos

1 from s k l e a r n . m o d e l s e l e c t i o n i m p o r t Gr idSearchCV2

3 e s t i m a t o r = L o g i s t i c R e g r e s s i o n ( f i t i n t e r c e p t=True , C=10, t o l =0.001)

4

5 p a r a m e t e r s = { ’C ’ : [ 1 , 10 , 2 0 ] , ’ t o l ’ : [ 0 . 1 , 0 . 0 1 ]}6

7 c l f = GridSearchCV ( e s t i m a t o r , parameter s , cv =5)8 c l f . f i t (X, y )9

10 p r i n t ( c l f . g r i d s c o r e s )11

12 [ mean : 0 . 6 9 7 5 2 , s t d : 0 . 0 0 0 0 0 , params :{ ’C ’ : 1 , ’ t o l ’ : 0 . 1 } ,13 mean : 0 . 6 9 7 5 2 , s t d : 0 . 0 0 0 0 0 , params :{ ’C ’ : 1 , ’ t o l ’ : 0 . 0 1 } ,14 mean : 0 . 6 9 7 5 2 , s t d : 0 . 0 0 0 0 0 , params :{ ’C ’ : 1 0 , ’ t o l ’ : 0 . 1 } ,15 mean : 0 . 6 9 7 5 2 , s t d : 0 . 0 0 0 0 0 , params :{ ’C ’ : 1 0 , ’ t o l ’ : 0 . 0 1 } ,16 mean : 0 . 6 9 7 5 2 , s t d : 0 . 0 0 0 0 0 , params :{ ’C ’ : 2 0 , ’ t o l ’ : 0 . 1 } ,17 mean : 0 . 6 9 7 5 2 , s t d : 0 . 0 0 0 0 0 , params :{ ’C ’ : 2 0 , ’ t o l ’ : 0 . 0 1 } ]

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Pipelines

Introduccion Metricas Validacion de modelos Optimizacion de parametros

Pipelines

• Un pipeline es una secuencia de transformadores seguidas deun unico estimador.

• La clase Pipeline extiende de BaseEstimator por lo quetendra los mismo metodos que cualquier modelo (fit, predict,predict proba).

• El resulado de entrenar un pipeline es un modelo queposteriormente podremos aplicar a nuevos datos:

• Los transformadores habran aprendido como realizar lastransformaciones con nuevos datos.

• El estimador estara entrenado para predecir con los datos deentrada previamente transformados.


Recommended