Está en la página 1de 45

SVM

Dra. Patricia Rayón Villela


Clasificación de gran margen (large margin
classification)

Clasificación lineal Vectores de


Clasificación SVM soporte
Sensibles a escalas de los atributos
¿Cómo llevamos a cabo la clasificación?

Clasificación de margen duro


• soft margin classification. • Si su modelo está sobreajustando el
conjunto de entrenamiento, puede
intentar regularizarlo reduciendo C
Fewer margin violation
larger margin violation

C=100 mas angosto


C = 1 mas ancho
Definir bibliotecas
Procedimiento
• Leer datos
• Análisis exploratorio
• Tratamiento de nulos
• Organizar datos en train y test
• Normalizar los datos (Min max o Standard scaler)
• Máquina de soporte vectorial
– No requiere una recodificación de los nodos de salida
– Modificar parámetros como kernel y sus respectivos parámetros
• Redes neuronales
– En caso de que la salida sea mas de una categoría, utilizar one hot
encoder para la salida correspondiente, y configurar los nodos de
salida con el número de categorías
– Modificar parámetros como numero de nodos, función de
activación, optimización
• Evaluar desempeño
• Concluir

8
Estandarización
Normalizar los datos
1.StandardScaler.ipynb
• Media cero
• Desviación estándar uno
Agregando atributos para hacer los datos
linealmente separables
kernels
Regularización (C)

cuando C es alto, clasificará todos


los puntos de datos correctamente,
también existe la posibilidad de
sobreajuste.

C es el parámetro de penalización, que representa una clasificación


errónea o un término de error. La clasificación errónea o el término de
error le dice a la optimización de SVM cuánto error es soportable. Así es
como puede controlar el equilibrio entre el límite de decisión y el término
de clasificación errónea.
Gamma Cuando gamma es más alta, los
puntos cercanos tendrán una gran
influencia; gamma baja significa que
los puntos lejanos también se
consideran para obtener el límite de
decisión

Define hasta qué punto


influye en el cálculo de la
línea de separación
plausible
Parámetros
Parámetros

Default C=1
Kernel polinomial
d = grado del polinomio
Gaussian RBF Kernel
Leer datos
Recodificamos variables
Correlación
Definimos parámetros y medimos
• Tip
• LinearSVC es mucho más rápido que
• SVC(kernel="linear")),
Redes Neuronales

REDES NEURONALES
Redes neuronales
• Redes neuronales

26
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

27
Bibliotecas

• Keras
• Tensorflow
Redes Neuronales
• Leer datos

RedNeuronal.ipynb
Variable de interés
Seleccionamos variables
Como ejemplo se
comparan algunos
atributos de la
clase 2 y 3
Utilizamos otras gráficas
Estandarizar los datos

https://scikit-
learn.org/stable/modules/preprocessing.html
Utilizando Scale

La variable de
interés se codifica
de otra manera

Ver scale en : 0 Redes


Neuronales.ipynb
Ver minMaxScaler en:
MinmaxScaler.ipynb
Comprobando media y desviación estándar
Construir la red neuronal
Funciones de activación
Construir la red neuronal

Nodos de
entrada

Nodos de salida Capas ocultas y su respectiva


función de activación
Parámetros del entrenamiento
• Optimizador : Usemos el adamoptimizador, que es un optimizador
popular en Keras. Para la mayoría de los conjuntos de datos, el
adamoptimizador funcionará bien sin muchos ajustes.
• Función de pérdida : la usaremos binary_crossentropycomo nuestra
lossfunción ya que el problema en cuestión es un problema de
clasificación binaria.
• Métricas : Usaremos accuracy(es decir, el porcentaje de muestras
clasificadas correctamente) como nuestra métrica de evaluación.
Entrenamiento

Verbose =
True para
visualizar el
entrenamie
nto
Análisis de resultados
• Matriz de confusión
• Accuracy
Curva ROC
Curva ROC
www.unir.net

También podría gustarte