Апперцепция
- 1 year ago
- 0
- 0
DataMelt (или кратко DMelt ) — бесплатная программа для научных вычислений . DataMelt — это интерактивная среда для вычислений, анализа и визуализации данных, и машинного обучения. DataMelt программа предназначена для ученых, инженеров и студентов. DataMelt является мультиплатформенным, поскольку он написан на Java , поэтому он работает в любой операционной системе, где может быть установлена виртуальная машина Java. Программа предназначена для статистического анализа данных, подбора кривой, алгоритмов анализа данных, численных расчетов, машинного обучения и построение диаграмм в 2D и 3D. DataMelt использует языки программирования высокого уровня, такие как Jython , JRuby . Java также может использоваться для вызова числовых и графических библиотек DataMelt.
DataMelt берет свое начало в физика элементарных частиц , где добыча данных является основной задачей. Он был создан как проект jHepWork в 2005 году и изначально был написан для анализа данных для физика элементарных частиц в лаборатории DESY в Германии. Позже он был улучшен в Argonne National Laboratory для исследований в области физики частиц с использованием концепции программного обеспечения Java для проекта International Linear Collider , разработанного в SLAC . Более поздние версии jHepWork были модифицированы для общего пользования (для ученых, инженеров, студентов в образовательных целях), так как проект Международного линейного коллайдера остановился. В 2013 году jHepWork был переименован в DataMelt и стал проектом общего назначения, поддерживаемым сообществом. Основным источником справочной информации является книга «Анализ научных данных с использованием Jython Scripting и Java». в котором рассматриваются методы анализа данных с использованием сценариев Java и Jython . Позже это также обсуждалось в немецком журнале Java SPEKTRUM. . Строка «HEP» в названии проекта «jHepWork» сокращает «Физика высоких энергий». Но из-за широкой популярности за пределами этой области физики, он был переименован в SCaViS ( 'S' научная 'C' вычислительная среда и 'Vis' среда использования). Этот проект просуществовал 3 года, прежде чем был переименован в DataMelt (или, короче, DMelt).
DataMelt работает на платформах Windows, Linux, Mac и Android . Пакет для Android называется AWork.
DataMelt и его более ранние версии, SCaVis (2013—2015) и JHepWork (2005—2013), которые по-прежнему доступны в ,обсуждается в этих статьях: Программа сравнивалась с другими подобными программами в этих ресурсах .
DataMelt (2015-), является новой разработкой программ JHepWork и SCaVis. В этих ресурсах приводятся сравнения DataMelt с другими популярными пакетами для статистического и числового анализа. . Согласно более поздним обзорам онлайн-статей и блогов, DataMelt является одним из популярных программ анализа данных . .
Вот пример того, как показывать двухмерные гистограммы, читая файл CVS, загруженный с веб-сайта World Bank .
from jhplot.io.csv import *
from java.io import *
from jhplot import *
d = {}
reader = CSVReader(FileReader("ny.gdp.pcap.cd_Indicator_en_csv_v2.csv"));
while True:
nextLine = reader.readNext()
if nextLine is None:
break
xlen = len(nextLine)
if xlen < 50:
continue
d[nextLine[0]] = float(nextLine[xlen-2]) # key=country, value=DGP
c1 = HChart("2013",800,400)
#c1.setGTitle("2013 Gross domestic product per capita")
c1.visible()
c1.setChartBar()
c1.setNameY("current US $")
c1.setNameX("")
c1.setName("2013 Gross domestic product per capita")
name1 = "Data Source: World Development Indicators"
set_value = lambda name: c1.valueBar(d[name], name, name1)
set_value(name="Russia")
set_value(name="Poland")
set_value(name="Romania")
set_value(name="Bulgaria")
set_value(name="Belarus")
set_value(name="Ukraine")
c1.update()
При выполнении этого скрипта гистограмма отображается в отдельном окне. Изображение может быть сохранено в нескольких форматах.
Вот ещё один простой пример, который иллюстрирует, как заполнить 2D-гистограмму и отобразить её на холсте. Сценарий также создает фигуру в формате PDF . Этот скрипт иллюстрирует, как склеивать и смешивать нативные классы Java (из пакета java.util) и классы DataMelt (пакет jhplot) внутри скрипта, написанного с использованием синтаксиса Python.
from java.util import Random
from jhplot import *
c1 = HPlot3D("Canvas") # create an interactive 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.eps") # export to EPS Vector Graphics
Этот скрипт можно запустить либо с помощью DataMelt IDE, либо с помощью автономного Jython после указания пути к классам для библиотек DataMelt.