{"id":2212,"date":"2017-10-14T23:20:50","date_gmt":"2017-10-15T02:20:50","guid":{"rendered":"http:\/\/www.geekosas.com\/?p=2212"},"modified":"2017-10-14T23:22:53","modified_gmt":"2017-10-15T02:22:53","slug":"sparse-matrix-en-r","status":"publish","type":"post","link":"https:\/\/geekosas.com\/index.php\/es\/2017\/10\/14\/sparse-matrix-en-r\/","title":{"rendered":"Sparse Matrix en R"},"content":{"rendered":"<p>Los valores 0 en las matrices son muy frecuentes, en especial en las variables dummy, por lo que\u00a0en R existe un paquete llamado Matrix el cual permite crear matrices sparse, en otras palabras, matrices que no utilizan memoria cuando el valor de un elemento es 0.<\/p>\n<p>Pero el poder saltarse los 0, es complejo a nivel computacional, por lo que no siempre es conveniente utilizar sparse matrix, esto lo veremos en los siguientes resultados donde realizamos distintas mediciones:<\/p>\n<p><strong>Uso de Memoria<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2214\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2017\/10\/14\/sparse-matrix-en-r\/mb\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mb.png?fit=1999%2C1999&amp;ssl=1\" data-orig-size=\"1999,1999\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mb\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mb.png?fit=1024%2C1024&amp;ssl=1\" class=\"alignnone size-large wp-image-2214\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2017\/10\/mb-1024x1024.png?resize=810%2C810\" alt=\"\" width=\"810\" height=\"810\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mb.png?resize=1024%2C1024&amp;ssl=1 1024w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mb.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mb.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mb.png?resize=768%2C768&amp;ssl=1 768w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mb.png?w=1999&amp;ssl=1 1999w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/p>\n<p><strong>Tiempo en M^2<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2215\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2017\/10\/14\/sparse-matrix-en-r\/mmult\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mmult.png?fit=1921%2C1631&amp;ssl=1\" data-orig-size=\"1921,1631\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mmult\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mmult.png?fit=1024%2C869&amp;ssl=1\" class=\"alignnone size-large wp-image-2215\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2017\/10\/mmult-1024x869.png?resize=810%2C687\" alt=\"\" width=\"810\" height=\"687\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mmult.png?resize=1024%2C869&amp;ssl=1 1024w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mmult.png?resize=300%2C255&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mmult.png?resize=768%2C652&amp;ssl=1 768w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/mmult.png?w=1921&amp;ssl=1 1921w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/p>\n<p><strong>Descomposici\u00f3n SVD<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2216\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2017\/10\/14\/sparse-matrix-en-r\/svd\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/svd.png?fit=1921%2C1631&amp;ssl=1\" data-orig-size=\"1921,1631\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"svd\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/svd.png?fit=1024%2C869&amp;ssl=1\" class=\"alignnone size-large wp-image-2216\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2017\/10\/svd-1024x869.png?resize=810%2C687\" alt=\"\" width=\"810\" height=\"687\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/svd.png?resize=1024%2C869&amp;ssl=1 1024w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/svd.png?resize=300%2C255&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/svd.png?resize=768%2C652&amp;ssl=1 768w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/svd.png?w=1921&amp;ssl=1 1921w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/p>\n<p>Como pueden ver, en general conviene utilizar sparse matrix desde el 40% de 0, antes de eso, solo utilizar\u00e1 mas memoria y mas CPU.<\/p>\n<p>El c\u00f3digo con el que se realiz\u00f3 el experimento est\u00e1 en: <a href=\"https:\/\/github.com\/danielfm123\/R_matrix_benchmark\">https:\/\/github.com\/danielfm123\/R_matrix_benchmark<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Los valores 0 en las matrices son muy frecuentes, en especial en las variables dummy, por lo que\u00a0en R existe un paquete llamado Matrix el <a class=\"mh-excerpt-more\" href=\"https:\/\/geekosas.com\/index.php\/es\/2017\/10\/14\/sparse-matrix-en-r\/\" title=\"Sparse Matrix en R\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":2217,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-2212","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categoria"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/10\/matrix.png?fit=345%2C190&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8vjqF-zG","jetpack-related-posts":[{"id":2220,"url":"https:\/\/geekosas.com\/index.php\/es\/2017\/10\/15\/r-vs-ms-open-r\/","url_meta":{"origin":2212,"position":0},"title":"R vs MS open R","author":"Daniel Fischer","date":"2017-10-15","format":false,"excerpt":"Microsoft se ha dado cuenta del poder de R, por lo que la ha integrado a sus sistemas, incluido Power BI y SQL Server 2017, Microsoft sac\u00f3 una versi\u00f3n de R gratuita con algunas mejoras, entre ellas est\u00e1n la conecci\u00f3n nativa SQL Server, versionamiento de paquetes en MRAN (Microsoft Cran)\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2017\/10\/lm-1024x932.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2017\/10\/lm-1024x932.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2017\/10\/lm-1024x932.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2017\/10\/lm-1024x932.png?resize=700%2C400 2x"},"classes":[]},{"id":2639,"url":"https:\/\/geekosas.com\/index.php\/es\/2019\/02\/12\/r-y-pc-superdorerosos\/","url_meta":{"origin":2212,"position":1},"title":"R y PC super-porerosos","author":"Daniel Fischer","date":"2019-02-12","format":false,"excerpt":"R y python est\u00e1n muy de moda \u00faltimamente, pero te haz preguntado si le est\u00e1s sacan totalmente el jugo a esos lenguajes, es m\u00e1s, seguramente para trabajar con ellos tienes un PC super-poderoso, bueno, la verdad es que si est\u00e1s entrando al mundo del Analytics, posiblemente aun no lo est\u00e9s\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2019\/02\/2922898-a.jpg?fit=350%2C350&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2771,"url":"https:\/\/geekosas.com\/index.php\/es\/2020\/04\/07\/comparativa-entre-julia-python-y-r\/","url_meta":{"origin":2212,"position":2},"title":"Comparativa entre Julia, Python y R","author":"Daniel Fischer","date":"2020-04-07","format":false,"excerpt":"La discusi\u00f3n sobre que lenguaje es el mejor para analizar datos puede llevarnos a conversaciones mas apasionadas que por temas como religi\u00f3n o pol\u00edtica. Pero como Data-Scientist debemos enfocarnos en la evidencia emp\u00edrica, las dimensiones con las que se podr\u00edan comparar son muchas: Comunidad, Performance, Editores, Gestor de Paquetes, Encapsulaci\u00f3n\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2019\/09\/external-content.duckduckgo.com_.jpg?fit=474%2C312&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2269,"url":"https:\/\/geekosas.com\/index.php\/es\/2017\/12\/18\/estimacion-repartija-de-votos-segunda-vuelta-presidenciales-chile-2017\/","url_meta":{"origin":2212,"position":3},"title":"Estimaci\u00f3n repartija de votos segunda vuelta presidenciales Chile 2017","author":"Daniel Fischer","date":"2017-12-18","format":false,"excerpt":"Este Articulo fu\u00e9 hecho apurado y con pocos datos, el definitivo est\u00e1 en\u00a0Quien vot\u00f3 por cada Candidato? Despu\u00e9s de la primera vuelta de las elecciones presidenciales de Chile, es tradicional que cada uno de los candidatos comienza a \"rematar\" los votos de sus seguidores a aquel candidato con el que\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/12\/segunda-vuelta.jpg?fit=710%2C399&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/12\/segunda-vuelta.jpg?fit=710%2C399&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/12\/segunda-vuelta.jpg?fit=710%2C399&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/12\/segunda-vuelta.jpg?fit=710%2C399&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":1452,"url":"https:\/\/geekosas.com\/index.php\/es\/2016\/11\/19\/multy-core-performance-en-r\/","url_meta":{"origin":2212,"position":4},"title":"Multy-Core Performance en R","author":"Daniel Fischer","date":"2016-11-19","format":false,"excerpt":"Introducci\u00f3n Hace unos d\u00edas, caminando por ah\u00ed, vi que estaban vendiendo un HP Proliant DL360 G6 de segunda mano, para los que no saben es un servidor de alto rendimiento del a\u00f1o 2010. Por mi\u00a0inter\u00e9s por el el Data Science y BIG DATA, este juguete ser\u00e1 util para un diplomado\u2026","rel":"","context":"In &quot;Uncategorized&quot;","block_context":{"text":"Uncategorized","link":"https:\/\/geekosas.com\/index.php\/es\/category\/uncategorized-es\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/11\/RStudio-Ball.png?fit=1000%2C1000&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/11\/RStudio-Ball.png?fit=1000%2C1000&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/11\/RStudio-Ball.png?fit=1000%2C1000&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/11\/RStudio-Ball.png?fit=1000%2C1000&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":3115,"url":"https:\/\/geekosas.com\/index.php\/es\/2022\/05\/07\/buenas-practicas-al-programar-con-codigo\/","url_meta":{"origin":2212,"position":5},"title":"Buenas pr\u00e1cticas al programar (con c\u00f3digo)","author":"Daniel Fischer","date":"2022-05-07","format":false,"excerpt":"Muchos disfrutan programar y resolver laberintos algor\u00edtmicos en su lenguaje favorito, pero lo que a nadie le gusta, es meterse en un c\u00f3digo viejo o incluso peor, en un c\u00f3digo escrito por otro. A m\u00ed me ha tocado hacerlo ya varias veces, algunas veces ha sido malo, otras veces peor,\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2022\/05\/logo.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2022\/05\/logo.png?fit=1200%2C600&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2022\/05\/logo.png?fit=1200%2C600&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2022\/05\/logo.png?fit=1200%2C600&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2022\/05\/logo.png?fit=1200%2C600&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts\/2212","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/comments?post=2212"}],"version-history":[{"count":3,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts\/2212\/revisions"}],"predecessor-version":[{"id":2219,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts\/2212\/revisions\/2219"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/media\/2217"}],"wp:attachment":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/media?parent=2212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/categories?post=2212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/tags?post=2212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}