<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Padlet - Procesos predictivos en paralelo by Diana Alisson Servellón</title>
      <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb</link>
      <description>Minería de datos I</description>
      <language>en-us</language>
      <pubDate>2022-06-21 15:43:43 UTC</pubDate>
      <lastBuildDate>2025-12-06 14:55:52 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f4bb.png</url>
      </image>
      <item>
         <title>Opciones paralelización en R</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226948587</link>
         <description><![CDATA[<div><br></div><ul><li>Funciones con argumentos de paralelización</li><li>Librerías para paralelizar en PC (memoria compartida)</li><li>Librerias para cluster (memoria distribuida)</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 15:47:14 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226948587</guid>
      </item>
      <item>
         <title>Librerias para paralelizar en R (en PC)</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226949311</link>
         <description><![CDATA[<div><br></div><ol><li><em>Parallel</em></li></ol><ul><li><em>Multicore</em>: memoria compartida, sistemas unix</li><li><em>Snow</em>: memoria distribuida,sistemas unix y windows</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 15:48:19 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226949311</guid>
      </item>
      <item>
         <title>Métodos de paralización</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226950356</link>
         <description><![CDATA[<ol><li><strong><em>Socket</em></strong>: inicia una nueva versión de R en cada procesador.</li><li><strong><em>Fork</em></strong>: copia la sesión actual de R en los procesadores.</li></ol><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 15:49:34 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226950356</guid>
      </item>
      <item>
         <title>EJEMPLO --&gt;  parLapply con Socket</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226959909</link>
         <description><![CDATA[<ul><li><strong>Inicia un cluster con n nodos</strong></li><li><strong>Ejecuta código de pre-procesamiento en cada nodo (cargar un paquete)</strong></li><li><strong>Use par-apply en lugar de -apply</strong></li><li><strong>Pare o cierre el cluster</strong></li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:01:34 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226959909</guid>
      </item>
      <item>
         <title>Paso 1. Nodos disponibles</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226961710</link>
         <description><![CDATA[<div><em>Se carga la librería parallel y se detectan los núcleos físicos que posee la computadora:</em><br><br></div><pre>library(parallel)
detectCores(logical = FALSE) <em>#cores fisicos</em></pre><div><br><em>Posteriormente, a modo de prueba, se pueden comprobar los núcleos lógicos con lo que se dispone para trabajar:</em><br><br></div><pre>detectCores()</pre>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:04:08 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226961710</guid>
      </item>
      <item>
         <title>Paso 2. Iniciar y parar cluster</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226963925</link>
         <description><![CDATA[<div><em>A continuación, se crean los clusters para ejecutarse en paralelo</em><br><br></div><pre>cl &lt;- makeCluster(4)
<em># código a ejecutar en paralelo</em>
stopCluster(cl)</pre><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:07:04 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226963925</guid>
      </item>
      <item>
         <title>Paso 3. Código de pre-procesamiento. </title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226965989</link>
         <description><![CDATA[<div>--------------<br>3.1 - <strong>ClusterEvalQ</strong><br><em>Para trabajar de forma paralela, se deben de cargar todos los paquetes variables en todos los procesadores. La función clusterEvalQ ejecuta la expresión en cada procesador:</em></div><pre>cl &lt;- makeCluster(4, type="PSOCK")
clusterEvalQ(cl, 2 + 2)</pre><div><br><em>La variable "y" no existe en el procesador principal.</em></div><pre>clusterEvalQ(cl, y &lt;- 1)clusterEvalQ(cl, y &lt;- 1)</pre>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:10:06 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226965989</guid>
      </item>
      <item>
         <title>3.2 - ClusterExport</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226972647</link>
         <description><![CDATA[<div><br></div><div><em>clusterExport exporta una variable a los procesadores</em></div><pre>clusterExport(cl, "x")
clusterEvalQ(cl, x)</pre>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:18:58 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226972647</guid>
      </item>
      <item>
         <title>3.3 - ClusterEvalQ</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226973529</link>
         <description><![CDATA[<div><em>Cargar librerías en los procesadores</em></div><pre>clusterEvalQ(cl, {
  library(ggplot2)
  library(boot)
})</pre><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:19:48 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226973529</guid>
      </item>
      <item>
         <title>Paso 4. Par-apply</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226977186</link>
         <description><![CDATA[<div>Versiones paralelas de apply(), con un argumento adicional para operar con el grupo de procesadores definido.<br><br></div><ul><li><em>parApply</em>, paralela de apply</li><li><em>parLapply</em>, paralela de lapply</li><li><em>parSapply</em>, paralela de sapply</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:24:02 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226977186</guid>
      </item>
      <item>
         <title>Paso 4.1 -  Par-apply. parApply</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226978575</link>
         <description><![CDATA[<div><em>Se presenta la versión paralelizada del método:</em></div><blockquote><em>Apply aplica una función a cada elemento de una lista o vector. En este ejemplo se calcula la media de cada una de las cuatro primeras columnas de airquality. El argumento adicional, na.rm = TRUE se pasa a la función mean. Devuelve una lista.</em></blockquote><div><br></div><pre>parApply(cl, airquality[, 1:4], 2, mean, na.rm = TRUE)</pre>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:25:44 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226978575</guid>
      </item>
      <item>
         <title>Paso 4.2 Par-apply. parLapply</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226979357</link>
         <description><![CDATA[<div><br><em>Además, se presenta la forma paralelizada de Lapply con parLapply</em><br><br></div><pre>parLapply(cl, airquality[, 1:4], mean, na.rm = TRUE)</pre>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:26:50 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226979357</guid>
      </item>
      <item>
         <title>Paso 4.3 Par-apply. parSapply</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226980917</link>
         <description><![CDATA[<blockquote><em>sapply</em> es una versión simplificada de lapply, que aplica la función lapply y estudia la salida. Cuando entiende que dicha salida admite una representación mas simple que la lista, la simplifica.</blockquote><div><br></div><pre>parSapply(cl, airquality[, 1:4], mean, na.rm = TRUE)</pre><div><br><br><strong>&nbsp;Par-apply, con balance de carga</strong></div><pre>parLapplyLB(cl, airquality[, 1:4], mean, na.rm = TRUE)</pre><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:28:53 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226980917</guid>
      </item>
      <item>
         <title>Paso 5. Borrar memoria</title>
         <author>alissonservellon</author>
         <link>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226983402</link>
         <description><![CDATA[<div><em>Se eliminar lo que se tiene en memoria con la función </em><strong><em>rm( )</em></strong></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-06-21 16:32:26 UTC</pubDate>
         <guid>https://padlet.com/alissonservellon/tio4fyhnnjjidygb/wish/2226983402</guid>
      </item>
   </channel>
</rss>
