Se ejemplifica el algoritmo de machine learning de support vector machine (SVM) mediante el paquete "kernlab" para discriminar entre clientes bancarios con alta probabilidad de imagos de crédito. Se emplean los kernel lineal, radial y polinomial.
Algoritmos empleados: Support Vector Machine (SVM)
SVM es un algoritmo de machine learning supervisado que puede emplearse tanto para casos de clasificación (Support Vector Classifier) como de predicción (Support Vector Regressor). En este post nos dedicaremos a tareas de clasificación binaria. Básicamente consiste en hallar el hiperplano (hiperplano óptimo de separación), de las infinitas posibilidades, que posibilite maximizar el límite las observaciones de dos clases.
Para hallar este hiperplano óptimo de separación se calcula la distancia de separación entre las observaciones y diferentes hiperplanos. El SVM da como resultado el hiperplano que reporta el mayor margen (maximal margin hyperplane) con respecto a las observaciones de entrenamiento (vectores soporte).
Funciones kernel
En este proyecto mostraremos la ejecución de los tres más populares:
Kernel lineal: equivalente a un support vector classifier, segmentación mediante una linea recta.
Kernel radial (RBF kernel, radial basis function kernel): cuyos límites se establecen de forma radial.
Kernel polinomial: con límites más flexibles.
Amat Rodrigo, J. Máquinas de Vector Soporte (Support Vector Machines, SVMs)
Boehmke,B. Support Vector Machine Karatzoglou,A., Smola,A. y Hornik,K. kernlab – An S4 Package for Kernel Methods in R Meyer,D. Support Vector Machines. The Interface to libsvm in package e1071
Características del caso
El caso empleado en este análisis es el ‘German Credit Data’, que puede descargarse el dataset original desde UCI. Este dataset ha sido previamente trabajado en cuanto a:
análisis descriptivo
limpieza de anomalías, missing y outliers
peso predictivo de las variables mediante random forest
discretización de las variables continuas para facilitar la interpretación posterior
Por lo que finalmente se emplea en este caso un dataset preparado para iniciar el análisis, que puede descargarse de GitHub. El objetivo del caso es predecir la probabilidad de que un determinado cliente puede incluir un crédito bancario. La explicación de esta conducta estará basada en toda una serie de variables predictoras que se explicarán posteriormente.
Proceso
1. Entorno
El primer punto tratará sobre la preparación del entorno, donde se mostrará la descarga de las librerías empleadas y la importación de datos.
2. Análisis descriptivo
Se mostrarán y explicarán las funciones empleadas en este paso, dividiéndolas en tres grupos: Análisis inicial, Tipología de datos y Análisis descriptivo (gráficos).
3. Preparación de la modelización
Particiones del dataset en dos grupos: training (70%) y test (30%)
4. Modelización
Por motivos didácticos, se dividirá la modelización de los dos algoritmos en una sucesión de pasos.
Para ver el código en R y los resultados:
En HTML: RPubs
En pdf: GitHub
Comments