JHepWork

De Wikipedia, la enciclopedia libre
jHepWork
Información general
Tipo de programa Análisis de datos
Desarrollador principalmente, el Dr. S. Chekanov
Licencia
Idiomas inglés
Información técnica
Programado en Java, Jython
Plataformas admitidas Java
Versiones
Última versión estable 3.3 ( 21 de enero de 2012)
Enlaces

JHepWork es un marco de trabajo gratuito de análisis de datos para científicos, ingenieros y estudiantes escrito en Java. El programa está diseñado para áreas de gráficas científicas interactivas en 2D y 3D y contiene bibliotecas numéricas científicas implementadas en Java para funciones matemáticas, números aleatorios, análisis estadístico, ajuste de curvas de regresión y otras actividades de minería de datos. jHepWork se basa en un lenguaje de programación de alto nivel, Jython (Python implementado en Java), pero puede utilizarse también codificación Java para llamar a bibliotecas jHepWork numéricas y gráficas.

jHepWork es un intento de crear un entorno de análisis de datos usando paquetes de código abierto con una interfaz de usuario coherente y para crear una herramienta competitiva a los programas comerciales. La idea detrás del proyecto es la incorporación de código abierto paquetes de software matemático y numérico con interfaz de usuario de tipo gráfico en un programa coherente en el cual la interfaz de usuario principal se basa en clases de nombre corto llamado Java/Python. Esto es necesario para construir un ambiente de análisis utilizando el concepto de secuencias de comandos de Java. Un ejemplo típico se muestra más adelante.

HepWork funciona en cualquier plataforma (Windows, Macintosh, Linux, etc.) donde se pueda instalar Máquina virtual Java. Las secuencias de comandos (scripts) y el código de Java (en el caso de la programación Java) se puede ejecutar tanto en un editor de interfaz gráfica de usuario de jHepWork como en programas por lotes. Las bibliotecas gráficas de jHepWork se pueden utilizar para crear applets. Todas las gráficas (o "lienzos") utilizadas para la representación de datos pueden ser embebidos en navegadores web.

jHepWork se puede utilizar en todo lugar donde el análisis de grandes volúmenes de datos numéricos, de minería de datos, análisis de datos estadísticos y matemáticos son esenciales. El programa puede ser utilizado en ciencias naturales, ingeniería, y modelado y análisis de mercados financieros, entre otros. jHepWork es considerado entre los cinco mejores paquetes de software de minería de datos libre y código abierto.[1]​ Hay varios comentarios (reseñas) más sobre jHepWork disponibles.[2][3]​ Si bien el programa entra en la categoría de software de código abierto, no es completamente libre para uso comercial (ver más abajo).

Características[editar]

Resumen[editar]

jHepWork tiene varias características útiles para el análisis de datos:

  • Puede utilizar secuencias de comandos Jython, BeanShell, o el estándar de Java;
  • Al estar basado en Java, es verdaderamente multiplataforma;
  • Puede ser integrado con la Web en forma de applets o aplicaciones Java Web Start, por lo que es adecuado para ambientes de análisis distribuido a través de Internet;
  • jHepWork ha sido diseñado desde cero para aguantar la programación con varios subprocesos;
  • Tiene un IDE multifuncional, con resaltado de sintaxis, verificador de sintaxis, completador de código y analizador.
  • Incluye un sistema de ayuda con completado de código basado en la tecnología Java de reflexión;
  • Utiliza una plataforma de I/O neutral basada en Protocol Buffers de Google. Los datos pueden ser escritos en C++ y

Características de análisis de datos[editar]

El paquete es compatible con varias características matemáticas, de análisis de datos, y de minería de datos:

Términos de licencia[editar]

El código fuente del núcleo de jHepWork (jhplot) se encuentra bajo licencia GNU General Public License, pero el proyecto tiene algunas restricciones para el uso comercial dado que los archivos de idioma, los archivos de documentación, los ejemplos, el instalador, las bases de datos code-assist, y la ayuda interactiva tienen licencia para uso no comercial (licencias Creative Commons). Miembros del proyecto jHepWork tienen varias ventajas (licencia para uso comercial, acceso al repositorio de código fuente Doxygen, sistema de ayuda extendida, repositorio de scripts de usuario, etc).

Ejemplos de scripts Jython[editar]

A continuación se muestra un ejemplo sencillo que ilustra cómo llenar un histograma 2D y mostrarlo en un lienzo o área de gráfica. El script (secuencia de comandos) también crea una figura en formato PDF. Este script muestra cómo pegar y mezclar clases Java nativas (del paquete java.util) y clases jHepWork (el paquete jhplot) dentro de un script escrito con la sintaxis de Python.

from java.util import Random
from jhplot  import *

c1 = HPlot3D("Canvas")
c1.setGTitle("Global title")
c1.setNameX("X")
c1.setNameY("Y")
c1.visible()
c1.setAutoRange()

h1 = H2D("2D histogram",25,-3.0, 3.0,25,-3.0, 3.0)
rand = Random();
for i in range(200):
     h1.fill(rand.nextGaussian(),rand.nextGaussian())
c1.draw(h1);
c1.export("jhplot3d.png")

Este script puede ser ejecutado bien usando jHepWork IDE o un Jython independiente después de especificar la ruta de clases (classpath) a las bibliotecas jHepWork. En el sisguiente enlace se ve la salida que proporciona este script:

Historia[editar]

jHepWork tiene sus raíces en la física de partículas, donde la minería de datos es una tarea primordial. jHepWork fue escrito inicialmente para el análisis de los datos de partículas físicas[4]​ utilizando el concepto de software Java del Colisionador Lineal Internacional del proyecto desarrollado en SLAC. Las versiones posteriores de jHepWork fueron modificadas para uso público en general (es decir, para científicos, ingenieros, estudiantes con fines educativos, etc) ya que el proyecto del Colisionador Lineal Internacional se ha estancado. En la actualidad, jHepWork es un programa apoyado por la comunidad. La principal fuente de referencia es el libro "El análisis científico de datos mediante secuencias de comandos Jython y Java"(V.O. "Scientific Data analysis using Jython Scripting and Java"),[5]​ que analiza en profundidad los métodos de análisis de datos usando scripts Java y Jython.

Referencias[editar]

Notas[editar]

Bibliografía[editar]

Manual técnico:

Véase también[editar]

Enlaces internos[editar]

Enlaces externos[editar]