Una operación que es común en todos los modelos de aprendizaje supervisado es la división de nuestro conjunto de datos en -al menos- dos partes: una parte Train, de entrenamiento, que corresponderá a la mayor parte de nuestro dataset y que usaremos para entrenar nuestro modelo y un parte Test, de menor tamaño, sobre la […]
Ejemplo de uso de un Mapa Auto-Organizado (SOM) de Kohonen en R
Los Mapas Auto-Organizados (con las siglas SOM en inglés) son un tipo de red neuronal entrenada como aprendizaje no supervisado, de forma que se modifican repetidamente los pesos de dicha red en respuesta a patrones de activación hasta que una configuración final queda desarrollada. El modelo, creado por Teuvo Kohonen en 1982, consiste en establecer […]
Discretización de un Pandas dataframe en Python manteniendo el nombre de las columnas
Discretizar datos quiere decir convertir variables que son continuas en variables agrupadas por intervalos. Por ejemplo, podemos discretizar un listado que contiene la edad de ciertas personas, que de forma continua podrían tener un valor entre 0 y 90, en variables discretas de (por ejemplo) 5 intervalos de diferentes edades: infantes, niños, jóvenes, adultos y […]
Representación de la media, mediana y cuantiles en un histograma con ggplot2 en R
En ciencia de datos, es muy común la representación de variables en forma de histograma, de forma que podemos obtener fácilmente una primera impresión de la distribución de dicha variable. Podemos «tunear» nuestro histograma, obteniendo información también muy relevante, si añadimos estadísticos como lo pueden ser la media, mediana o los cuantiles 0,25 y 0,75. […]
Ejemplo de clustering con k-means en Python
Sin duda k-means es uno de los algoritmos de aprendizaje automático no supervisado más popular. El objetivo de k-means es simple: agrupa puntos de datos similares con el objetivo de descubrir patrones subyacentes. Para lograr este objetivo, k-means busca un número fijo (k) de agrupamientos (clústers) en el conjunto de datos . 1. Funcionamiento básico […]
Parametrización automática de DBSCAN en R a partir de la curva elbow
En el anterior post titulado Ejemplo de uso de DBSCAN en Python para eliminación de outliers se vio cómo ejecutar un algoritmo DBSCAN para detección de outliers en Python; sus parámetros se eligieron de forma más o menos visual a partir de la nube de puntos y de la curva elbow. El problema que esto […]
Ejemplo de uso de DBSCAN en Python para eliminación de outliers
Dentro de los algoritmos de clustering de aprendizaje no supervisado, uno de los más interesantes -y quizás no tan conocido- es DBSCAN, un algoritmo de agrupamiento basado en la densidad, que modela los clústers como cúmulos de alta densidad de puntos. Por lo cual, si un punto pertenece o no a un clúster, debe estar […]
Extracción de datos de un vector según una condición en R
Esto es un caso sencillo pero que puede resultar útil. Se trata de un vector del cuál queremos extraer datos que cumplan cierta condición. Además, eliminaremos los valores NA antes de hacer la operación. Por ejemplo, nuestro vector, llamado current_full, contiene 8.530.261 elementos: Un vistazo rápido ya nos muestra que hay muchos valores NA. Vamos […]
Ejemplo de uso de PySpark en Linux y algunos comandos básicos de transformación/acción en Spark
Apache Spark está escrito en lenguaje de programación Scala. Para admitir la programación Python con Spark, la comunidad Apache Spark lanzó la herramienta PySpark. Esta herramienta interactiva puede trabajar con RDD (los datasets distribuidos de Spark) en el lenguaje de programación Python. Quizás te interese seguir antes el siguiente post: Instalación paso a paso de […]
Instalación paso a paso de Spark en Linux y ejecución de PySpark
Esta es una guía sencilla, que explica paso a paso cómo instalar y ejecutar Apache Spark en una máquina Linux. Para el ejemplo utilizaremos la distribución CentOS pero los pasos dados también son válidos para Ubuntu o Linux Mint. En primer lugar debemos instalar Scala, ya que Spark está implementado en dicho lenguaje de programación y lo necesita para […]