Primeros pasos en ciencias de datos con Anaconda

Anaconda Python download

Tal como lo expresa su sitio web oficial, Anaconda Distribution ofrece una forma sencilla de trabajar en ciencia de datos y aprendizaje automático con los lenguajes de programación Python y R en una única computadora. Puedes descargar e instalar el lenguaje de programación Python para sistemas operativos Windows, MacOS o Linux e iniciar inmediatamente tu carrera trabajando en ciencia de datos.

Kaa, la serpiente pitón (Python) junto a Mowgli, en el Libro de la Selva.
Kaa, la serpiente pitón (Python) junto a Mowgli, en el Libro de la Selva.

¿Qué es Anaconda Python y para qué sirve?

Para decirlo en forma resumida, Anaconda es una distribución y un gestor de paquetes completo, curado, de alta calidad y alto rendimiento para software de código abierto como Python, R y sus muchos paquetes asociados. Ideal para data scientists. Impulsado por la empresa Continuum Analytics (Anaconda Inc.), Anaconda Distribution está pensada para ser utilizada principalmente por científicos de datos. Está disponible para Linux, Windows y MacOS.

Con la ayuda de entornos Conda dedicados, es posible ofrecer amplias colecciones de herramientas R y Python. La gestión de versiones y dependencias de Conda asegura que en un entorno, los componentes individuales sean compatibles, es decir, que no existan conflictos entre ellos. Además, para los usuarios, es fácil instalar sus propios conjuntos de herramientas especializadas en entornos privados.

Conda: el brazo ejecutor de Anaconda

Conda es un sistema de gestión de paquetes y de entorno de código abierto que funciona en sistemas operativos Windows, macOS y Linux. Conda instala, ejecuta y actualiza rápidamente los paquetes y sus dependencias. Además, permite crear, guardar, cargar entornos de trabajo en un equipo local, y switchear fácilmente entre ellos. Conda está pensado principalmente para programas Python, pero sirve para empaquetar y distribuir software desarrollado en cualquier lenguaje.

Conda es capaz de administrar paquetes y dependencias de cualquier lenguaje utilizado para ciencia de datos: Python, R, Fortran, Scala, Java, entre otros.
Conda es capaz de administrar paquetes y dependencias de cualquier lenguaje utilizado para ciencia de datos: Python, R, Fortran, Scala, Java, entre otros.

En su configuración por defecto, Conda puede instalar y gestionar los más de 7.500 packages en repo.anaconda.com que son construidos, revisados y mantenidos por Anaconda. También puede operar con sistemas de integración continua tales como Travis CI y AppVeyor, con la finalidad de proporcionar pruebas frecuentes y automatizadas de las aplicaciones desarrolladas en Python, R u otros lenguajes.

Conda se incluye en todas las distribuciones Anaconda, Miniconda y Anaconda Repository. También se incluye en Anaconda Enterprise, que proporciona una gestión de packages y entornos empresariales in situ para Python, R, Node.js, Java, entre otros comúnmente empleados por data scientists.

¿Qué es un entorno Conda?

Un entorno Conda es un directorio que contiene una colección específica de packages Conda que has instalado. Por ejemplo, puedes tener un entorno con NumPy 1.7 y sus dependencias Python, y otro entorno con NumPy 1.6 para pruebas de programas Python que requieran versiones anteriores de las librerías.

Si cambias algo en uno de tus entornos Conda, los demás no se verán afectados. Para moverte entre distintos entornos los puedes activar o desactivar fácilmente. También puedes compartir tu entorno con alguien dándole una copia de tu archivo environment.yaml.

Estructura de directorios de los entornos Conda

Un entorno Conda cuenta con un directorio raíz (root) que es el directorio en el que se encuentra Anaconda o Miniconda. En máquina Windows puede ser C:\Anaconda y en Linux, /opt/Anaconda.

Después hay otros directorios notables, como /pkgs (también llamado PKGS_DIR), que contiene packages descomprimidos, listos para ser enlazados en entornos conda. Cada paquete reside en un subdirectorio correspondiente a su nombre canónico.

Otro directorio notable es /envs, la ubicación del sistema donde se crean entornos Conda adicionales. Además de los mencionados, los siguientes subdirectorios componen el entorno por defecto de Anaconda:

  • /bin
  • /include
  • /lib
  • /share

Otros entornos Conda suelen contener los mismos subdirectorios que el entorno por defecto.

Instalando Python y Anaconda en Windows

La instalación de Anaconda Distribution es muy sencilla: sólo debes descargar el instalador de la distribución y ejecutarlo como cualquier Python download con instalador de aplicaciones Windows.

Instalación de Anaconda en Windows: selección de la carpeta de destino para la instalación.
Instalación de Anaconda en Windows: selección de la carpeta de destino para la instalación.

Los pasos del instalador son los habituales: aceptar el contrato de licencia, seleccionar una carpeta para los archivos, etc. Hay un par de pasos a los que hay que prestar especial atención:

  • Agregar el path de Anaconda a la variable de entorno PATH: esta opción es innecesaria si usarás Anaconda Navigator o Anaconda Prompt desde el menú Inicio, por lo que no se recomienda seleccionarla.
  • Registrar Anaconda como tu Python predeterminado: a menos que planees instalar y utilizar distintas variantes de Anaconda o de Python, deja esta opción seleccionada.
  • Instalar DataSpell: DataSpell es un nuevo IDE de JetBrains diseñado específicamente para realizar análisis exploratorio de datos con PYthon u otros lenguajes y crear prototipos de modelos ML (machine learning).

Primeros pasos con Anaconda Navigator

Una vez concluido el proceso de instalación, busca Anaconda Navigator en el menú de inicio de Windows 10. Anaconda Navigator es la interfaz gráfica (GUI) de escritorio incluida en la Anaconda Distribution que te permitirá lanzar aplicaciones y gestionar fácilmente los paquetes, entornos y canales Conda sin necesidad de recurrir a la línea de comandos. Navigator puede buscar paquetes en Anaconda.org o en un repositorio local de Anaconda.

Ventana principal de Anaconda Navigator.
Ventana principal de Anaconda Navigator.

Muchos paquetes científicos dependen de versiones específicas de otros paquetes. Los científicos de datos suelen utilizar distintas variantes de muchos paquetes y utilizan varios entornos para separar estas diferentes versiones. Anaconda Navigator facilita la administración de paquetes y entornos con una interfaz intuitiva, de apuntar y hacer clic. Con Navigator es sencillo buscar paquetes, instalarlos en un entorno, ejecutarlos y actualizarlos.

Las siguientes aplicaciones están disponibles en Navigator en forma predeterminada:

Los usuarios avanzados de Conda pueden también contruir sus propias aplicaciones para Anaconda Navigator.

Cómo ejecutar código con Navigator

La manera más simple de ejecutar código con Anaconda Navigator es utilizar Spyder. Desde la solapa principal de Navigator, selecciona la opción Spyder para escribir y ejecutar el código. De la misma forma puedes usar Jupyter Notebooks, si prefieres. La ventaja de Jupyter Notebooks (y la razón de su creciente popularidad) es que sus blocs de notas combinan la funcionalidad de un IDE, con el que puedes escribir y ejecutar código, con un la funcionalidad de un sistema de documentación en donde puedes ingresar textos, imágenes e interfaces interactivas. Los blocs de Jupyter pueden editarse, visualizarse y utilizarse en un navegador web.

Navigator usa Conda para crear entornos separados que contienen archivos, paquetes y sus dependencias. Para crear un nuevo entorno llamado snowflakes e instalar un paquete en él, sigue estas instrucciones:

  1. En Navigator, haz clic en la pestaña Environments y luego en el botón Create. Aparecerá el cuadro de diálogo Create new environment. En el campo Name escribe un nombre descriptivo para el nuevo entorno (ejemplo: snowflakes).
  2. Haz clic en Create. Navigator creará el nuevo entorno y lo activará. Ahora contarás con dos entornos: el entorno base (root) y snowflakes. Puedes alternar entre ellos activando uno y desactivando el otro simplemente cliqueando el nombre del entorno que quieras usar.

Usando Anaconda Prompt

Luego de completar la instalación de Anaconda distribution, puedes ir al menú Inicio de Windows y seleccionar Anaconda Prompt para trabajar directamente con la línea de comandos, ya que una vez que la dominas te puede resultar mucho más rápida y práctica que Navigator.

Veamos algunos comandos básicos de Anaconda Prompt:

  • Para verificar que Conda esté instalado y averiguar su número de versión:>>conda info
  • Para actualizar Conda a la versión más reciente:>>conda update -n base conda
  • Para actualizar todos los paquetes a la versión más reciente de Anaconda Distribution (instala versiones estables y compatibles, lo que significa que quizás no sean las últimas):>>conda update anaconda
  • Crear un nuevo entorno con una versión específica de Python y de los paquetes (reemplazar ENTNOMBRE por el nombre del entorno y PAQ1 y PAQ2 por los nombres de los paquetes):>>conda create – name ENTNOMBRE python=3.6 “PAQ1>7.6” PAQ2
  • Activar un entorno Conda (reemplazar ENTNOMBRE por el nombre del entorno a activar):>>conda activate ENTNOMBRE
  • Desactivar el entorno actual:>>conda deactivate
  • Listar todos los paquetes y versiones en un entorno (reemplazar ENTNOMBRE por el nombre del entorno a listar):>>conda list — name ENTNOMBRE
  • Eliminar un entorno completo (reemplazar ENTNOMBRE por el nombre del entorno a eliminar):>>conda remove — name ENTNOMBRE — all Sharing Environments

Anaconda Nucleus

Anaconda Nucleus es una comunidad para adquirir y compartir conocimientos sobre Anaconda, programación Python y ciencias de datos. Los miembros de esta comunidad pueden acceder a información de expertos a través de recorridos guiados, videos, seminarios web y contenido de socios.

A través de Anaconda Nucleus también puedes participar en la experiencia siempre activa de AnacondaCON, un evento on-demand con el que puedes ponerte al día en cualquier momento con las sesiones a las que no hayas podido asistir en directo. En AnacondaCON se agregan sesiones cada mes, como por ejemplo: Introducción a las GPU en Python, Cómo involucrarse en Open Source, entre otras.

Además de ser un centro de aprendizaje, Anaconda Nucleus es un lugar que fomenta la conexión. Se convertirá en un lugar en el que los profesionales puedan acudir para obtener información fiable y de confianza con el fin de dominar sus herramientas e intercambiar descubrimientos y aprendizajes con los demás.

Primeros pasos con contenedores Docker

Contenedores Docker

La función principal de la plataforma de contenedores de código abierto Docker está explícita en su eslógan: «Build, Ship and Run Any App, Anywhere», lo que significa «construye, distribuye y ejecuta cualquier app en cualquier parte». Concretamente, lo que propone Docker es simplificar las tareas de armar entornos de desarrollo o de prueba que emulen las condiciones de ejecución de una aplicación.

Qué son los contenedores en Docker

El concepto de contenedor en Docker reemplaza al concepto de máquina virtual, ofreciendo una alternativa más fácil de manejar para el desarrollo y testeo de aplicaciones. La principal diferencia entre una máquina virtual y un contenedor Docker es que la máquina virtual contiene todos los elementos que componen una máquina real: sistema operativo completo, BIOS, memoria, disco y demás recursos de hardware virtualizado.

A diferencia de los contenedores de la vida real, los contenedores Docker son livianos e independientes.
A diferencia de los contenedores de la vida real, los contenedores Docker son livianos e independientes.

En cambio, un contenedor Docker es un entorno de ejecuión que empaqueta el código y todas sus dependencias para correr aplicaciones de manera confiable, independientemente del hardware o del sistema operativo en donde se lleva a cabo la ejecución real. Los contenedores Docker son paquetes de software livianos, independientes y ejecutables que incluyen todo lo que puede necesitar una aplicación para ejecutar: código, runtimes, herramientas del sistema, bibliotecas del sistema y configuraciones.

Leer más

12 casos de uso de NFT más allá del arte digital

Obra de arte La creación de Miguel Angel NFT

Las obras de arte digitales y los artículos coleccionables fueron sólo el principio.

Los tokens no fungibles (NFT) son una tecnología emergente que ha probado su eficacia en el resguardo de los derechos de autor sobre creaciones artísticas digitales. Pero también tiene el potencial para aplicarse en numerosos casos de uso más allá del arte digital, incluso aquellos que involucran activos del mundo real.

Los NFT están entre nosotros, y están revelando su potencial para abaratar, simplificar, bajar costos y mejorar la efectividad de muchas actividades de la vida cotidiana que hoy se llevan a cabo en forma arcaica. Por ejemplo, recurrir a escribanos, sellos, rúbricas y otros métodos físicos para garantizar la autenticidad y transparencia de trámites pronto será cosa del pasado.

Los casos de uso de NFT para obras de arte digitales y coleccionismo se han vuelto populares muy rápidamente. Los NFT son fáciles de entender, son visualizables y culturalmente relevantes, a diferencia de muchos conceptos propios de blockchain, como las transacciones con criptomonedas.

Leer más

8 Plataformas no-code para crear apps sin saber programar

Con las plataformas no-code, la programación tradicional sería prehistoria.

Las mejores herramientas para crear software sin escribir código en 2022

Hoy en día todo se hace con apps (o lo que antaño se conocía como «aplicaciones»), ya sea pedir una pizza, averiguar cómo llegar a algún sitio, hacer una transacción bancaria, aprender a tocar un instrumento, entre infinidad de cosas más. A veces se nos ocurre una idea para una app y nos gustaría saber cómo construirla, pero nos detiene el hecho de no saber programar. Buenas noticias: con las plataformas no-code, ya no es necesario saber programar para crear aplicaciones.

¿Qué son las plataformas no-code?

Las plataformas no-code son aplicaciones con cierto grado de inteligencia que facilitan la interpretación de nuestras necesidades o las de los usuarios, con la finalidad de implementarlas y crear software sin saber programar.

Programar bailando, como Hugh Jackman en "Swordfish". Las plataformas no-code hacen que desarrollar software sea fácil, pero no tanto...
¿Programar bailando, como Hugh Jackman en la película «Swordfish»? Las plataformas no-code hacen que desarrollar software sea fácil, pero no tanto…

¿Es posible crear apps sin programar gratis, crear aplicacion sin programar, crear app sin codigo, crear una app gratis sin saber programar o realizar diseño web sin codigo? La respuesta a todas esas preguntas es un rotundo «sí». Pero aunque no haya que escribir código, igual hay que trabajar en otras tareas del desarrollo, como el diseño de bases de datos o el diseño de interfaces de usuario. Y algo muy importante: hay que dominar bien la parte de interpretación de necesidades. Hasta ahora no existe una herramienta a la que le podamos explicar con palabras lo que queremos lograr y, en base a nuestras especificaciones, cree una app que las implemente.

Las plataformas no-code utilizan distintos medios para que les «expliquemos» nuestras necesidades. Por ejemplo, un diseño de base de datos, un diagrama de flujo o un diseño de pantalla.

No tan buenas noticias: para crear aplicaciones web o móviles con plataformas no-code no hace falta saber programar, pero sí es necesario saber diseñar software, ya sea a través del diseño de bases de datos, diseño de flujos de trabajo o diseño de interfaces/experiencia de usuario.

Leer más

Cómo comprar propiedades con criptomonedas

Comprar una casa con bitcoin

La nueva tendencia en la industria inmobiliaria del siglo XXI.

¿Se pueden comprar propiedades pagándolas con bitcoins u otras criptomonedas? La respuesta es sí, gracias a agentes inmobiliarios con visión de futuro y a la colaboración de exchanges de criptomonedas con visión de negocios.

Los emprendimientos inmobiliarios son una forma de convertir cripto divisas en bienes tangibles. En la foto, el emprendimiento LDV, de WGW Desarrollos y Click Aparts.
Los emprendimientos inmobiliarios son una forma de convertir cripto divisas en bienes tangibles. En la foto, el emprendimiento LDV, de WGW Desarrollos y Click Aparts.

La idea de vender una propiedad inmueble obteniendo a cambio unos valores tan intangibles como las criptomonedas puede parecer descabellada. Como mínimo, hay que admitir que parece riesgoso cambiar algo tan económicamente estable como una propiedad inmueble por un conjunto de datos almacenados quién sabe cómo y quién sabe dónde.

Pero todo es cuestión de costumbres y culturas. Nadie desconfía de una operación inmobiliaria hecha en dólares, aunque implique cambiar la propiedad por un montón de papelitos pintados. Y esos papelitos muchas veces ni siquiera se ven; pasan digitalmente de una cuenta bancaria a otra, y los únicos comprobantes de ello son los números de operación emitidos por los bancos.

Si aún no está seguro de cómo evolucionarán los bitcoins y otras cripto divisas, lee este artículo acerca del futuro de las criptomonedas.

Leer más