Apéndices
Biblioteca de algoritmos
Evidentemente, nuestra elección es parcial, pero creemos que aquí encontrará mucho material para reflexionar.
Para cada uno de estos algoritmos, encontrará una referencia a un paquete Python que permite ponerlo en práctica y un enlace a la documentación del paquete. Estos paquetes incluyen muchos otros algoritmos muy útiles, por lo que le invitamos a recorrerlos con asiduidad para «reforzar» su caja de herramientas.
1. Algoritmos de moda estos últimos años
En primer lugar, he aquí una lista de los algoritmos mainstream actuales, disponibles a veces en paquetes de Python muy conocidos y potentes, que suelen utilizar las personas que trabajan en aprendizaje automático, IA o criptografía.
Algoritmo |
Paquete |
Documentación del paquete |
Aplicación |
K-Means Clustering |
scikit-learn |
Agrupación de datos en clústeres en función de sus características |
|
CART (Classification And Regression Trees) |
scikit-learn |
Clasificación y toma de decisiones basadas en árboles de decisión |
|
Backpropagation |
tensorflow |
Retropropagación para el aprendizaje profundo |
|
Redes Neuronales Convolucionales CNN (Convolutional neural network) |
tensorflow |
Visión por ordenador, reconocimiento de imágenes y detección de objetos |
|
Redes Neuronales Recurrentes RNN (Recurrent Neural Network) |
tensorflow |
Modelización de secuencias, lenguaje natural y traducción automática |
|
Redes Neuronales de Memoria a Corto Plazo LSTM (Long Short Term Memory) |
tensorflow |
Modelización de secuencias, lenguaje natural y traducción automática |
|
Simplex |
scipy |
Resolución de problemas de optimización lineal |
|
Particle Swarm Optimization |
psywarm |
Optimización mediante enjambre de partículas |
|
EM Expectation-Maximization |
mixem |
Estimación de parámetros de modelos estadísticos utilizando EM |
|
AES (Advanced Encryption Standard) |
pycryptodoma |
Cifrado y descifrado de datos... |
Tipos MIME
Los siguientes tipos de medios son más fáciles de interpretar por las herramientas web, que se supone que saben cómo manejarlos porque están estandarizados, ¡lo cual no exime de declararlos en su servidor!
1. Aplicaciones
Los siguientes tipos corresponden a aplicaciones, o contextos de aplicación de referencia, que contienen información heterogénea, pero directamente interpretable por las aplicaciones o contextos en cuestión.
a. Aplicaciones genéricas
Tipo |
Descripción |
application/EDI-X12 |
Estándar de datos ANSI ASC X12 EDI. Intercambio electrónico de datos, para estandarizar las transacciones comerciales entre empresas. |
application/EDIFACT |
Estándar de datos EDI EDIFACT. Norma internacional para el intercambio de datos empresariales estructurados electrónicamente. |
application/javascript |
Estándar para datos JavaScript. |
application/octet-stream |
Flujo de datos arbitrario, a menudo utilizado como formato predeterminado para archivos ejecutables o archivos de tipo desconocido (¡Peligro!). |
application/ogg |
Contenedor para un flujo de datos multimedia Ogg, audio y vídeo en streaming. |
application/pdf |
Estándar para documentos en formato PDF (Portable Document Format). |
application/xhtml+xml |
Estándar para documentos en formato XHTML. |
application/x-shockwave-flash |
Archivo Adobe Flash. |
application/json |
Estándar para datos en formato JSON (JavaScript Object Notation). |
application/ld+json |
Estándar para la serialización de datos basada en JSON para datos enlazados. |
application/xml |
Estándar para datos en formato XML (eXtensible Markup Language). |
application/zip |
Archivo comprimido ZIP. |
b. Aplicaciones ofimáticas
Tipo |
Descripción |
application/vnd.oasis. opendocument.text |
Formato de texto guardado en un OpenDocument. |
application/vnd.oasis. opendocument.spreadsheet |
Formato de hoja de cálculo guardado en un OpenDocument. |
application/vnd.oasis. opendocument.presentation |
Formato de presentación guardado en un OpenDocument. |
application/vnd.oasis. opendocument.graphics |
Formato gráfico guardado en un OpenDocument. |
application/vnd.ms-excel |
Formato de archivo para Microsoft Excel en formato .xls. |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Formato de archivo para Microsoft Excel en formato .xlsx. (Office Open XML Workbook) |
application/ vnd.ms-powerpoint |
Formato... |
Códigos para generar algunas de las ilustraciones del libro
Hemos seleccionado los códigos de algunas de las ilustraciones del libro que nos ha parecido más útil reproducir.
1. NameNodes, código en sintaxis PlantUML
Los datos utilizados para generar este gráfico están estructurados en YAML (véase En el corazón de la máquina, sección HDFS más de cerca, ilustración: Arquitectura HDFS - Replicación de bloques en los DataNodes de un NameNode).
@startyaml
Descripción del contenido de un NameNode en términos de
archivos gestionados en HDFS
'TIPS de sintaxis utilizados: saltos de línea (slash n)
y negrita en sintaxis criolla (**)
title NameNode
\nDataNode_1\n:
HDFS :
- Bloque_i
- \nBloque_**j**\n
- Bloque_...
\nDataNode_2\n:
HDFS :
- Bloque_i
- Bloque_k
- Bloque_...
\nDataNode_3\n:
HDFS :
- \nBloque_**j**\n
- Bloque_k
- Bloque_...
@endyaml
2. Tabla de topologías, código en sintaxis PlantUML
Este código se estructura en forma de una nota PlantUML que contiene una tabla PlantUML (véase el capítulo En el corazón de la máquina, sección Introducción a las redes locales, ilustración: ¿Cómo se distribuyen las máquinas en una red?).
@startuml
note as mi_nota
**Topologías de referencia**
__
<#white>|= \n |= Descripción |
<#white>| **en estrella** (star) | periféricos conectados
a un concentrador o a un conmutador central |
<#white>| **en...