DataMelt
DataMelt (или кратко DMelt) — бесплатная программа для научных вычислений[1][2]. DataMelt — это интерактивная среда для вычислений, анализа и визуализации данных, и машинного обучения. DataMelt программа предназначена для ученых, инженеров и студентов. DataMelt является мультиплатформенным, поскольку он написан на Java, поэтому он работает в любой операционной системе, где может быть установлена виртуальная машина Java. Программа предназначена для статистического анализа данных, подбора кривой, алгоритмов анализа данных, численных расчетов, машинного обучения и построение диаграмм в 2D и 3D. DataMelt использует языки программирования высокого уровня, такие как Jython, JRuby. Java также может использоваться для вызова числовых и графических библиотек DataMelt.
DataMelt | |
---|---|
Разработчик | С.В.Чеканов (eng. S.V.Chekanov) |
Написана на | Java |
Операционная система | Unix, Linux, OS X, Microsoft Windows |
Первый выпуск | 2005 (initial name JHepWork) |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | 2.4 (Feb 2019) |
Лицензия | Open source (LGPL, GPL and similar) |
Сайт | jwork.org/dmelt/ |
История создания
DataMelt берет свое начало в физика элементарных частиц, где добыча данных является основной задачей. Он был создан как проект jHepWork в 2005 году и изначально был написан для анализа данных для физика элементарных частиц в лаборатории DESY в Германии. Позже он был улучшен в Argonne National Laboratory для исследований в области физики частиц[3] с использованием концепции программного обеспечения Java для проекта International Linear Collider, разработанного в SLAC. Более поздние версии jHepWork были модифицированы для общего пользования (для ученых, инженеров, студентов в образовательных целях), так как проект Международного линейного коллайдера остановился. В 2013 году jHepWork был переименован в DataMelt и стал проектом общего назначения, поддерживаемым сообществом. Основным источником справочной информации является книга «Анализ научных данных с использованием Jython Scripting и Java». [4] в котором рассматриваются методы анализа данных с использованием сценариев Java и Jython. Позже это также обсуждалось в немецком журнале Java SPEKTRUM.[5]. Строка «HEP» в названии проекта «jHepWork» сокращает «Физика высоких энергий». Но из-за широкой популярности за пределами этой области физики, он был переименован в SCaViS ( 'S' научная 'C' вычислительная среда и 'Vis' среда использования). Этот проект просуществовал 3 года, прежде чем был переименован в DataMelt (или, короче, DMelt).
Поддерживаемые платформы
DataMelt работает на платформах Windows, Linux, Mac и Android. Пакет для Android называется AWork.
Отзывы
DataMelt и его более ранние версии, SCaVis (2013—2015) и JHepWork (2005—2013), которые по-прежнему доступны в хранилище архива DataMelt,обсуждается в этих статьях:[6] [7] [8] [9] Программа сравнивалась с другими подобными программами в этих ресурсах [10] [11] [12].
DataMelt (2015-), является новой разработкой программ JHepWork и SCaVis. В этих ресурсах приводятся сравнения DataMelt с другими популярными пакетами для статистического и числового анализа. [13] [14] [15] [16]. Согласно более поздним обзорам онлайн-статей и блогов, DataMelt является одним из популярных программ анализа данных [17][18]. .
Пример кода
Вот пример того, как показывать двухмерные гистограммы, читая файл 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.
Примечания
- Numeric Computation and Statistical Data Analysis on the Java Platform (Числовые вычисления и анализ статистических данных на платформе Java). С. В. Чеканов (S.V.Chekanov), Книга. Springer, (2016) ISBN 978-3-319-28531-3, 700 страниц,
- DataMelt: Free Computation and Visualization Environment. By Moaaz Aldesoky. Medevel.Com.
- Анализ данных HEP с использованием jHepWork и Java, arXiv: 0809.0840v2, препринт ANL-HEP-CP-08-53. Препринт ЦЕРН, arXiv: 0809.0840v2
- Анализ научных данных с использованием Jython Scripting и Java. Книга. С. В. Чеканов (S.V.Chekanov), Springer-Verlag, ISBN 978-1-84996-286-5,
- ScaVis — Werkbank для тех, кто занимается разработкой приложений для Java и Jython. Роэ Клаус. ЯВА СПЕКТРУМ. (на немецком языке), том 5 (2013) 26-28
- Data Analysis and Data Mining Using Java, Jython and jHepWork Blog. 2010. Oracle.com.
- SCaVis — Werkbank für technisch-wissenschaftliche Berechnungen und Visualisierungen mit Java und Jython. by Rohe Klaus. Java SPEKTRUM. (in German) volume 5 (2013) 26-28
- HEP data analysis using jHepWork and Java. Proceedings of the HERA-LHC workshops (2007—2008), DESY-CERN
- Suitability analysis of data mining tools and methods. . S.Kovac, Bachelor’s thesis (in English), jHepWork is reviewed on page 39-42, Masaryk University.
- A Review: Comparative Study of Diverse Collection of Data Mining Tools. By S. Sarumathi, N. Shanthi, S. Vidhya, M. Sharmila. International Journal of Computer, Control, Quantum and Information Engineering. 2014; 8(6). 7.
- A Study of Tools, Techniques, and Trends for Big Data Analytics. By R.Shireesha et al. (2016) International Journal of Advance Computing Technique and Applications (IJACTA), ISSN : 2321-4546, Vol 4, Issue 1 Архивная копия от 31 марта 2019 на Wayback Machine
- Comparison of Various Tools for Data Mining. By P.Kaur etc. IJERT ISSN: 2278-0181 Vol. 3 Issue 10 (2010)
- Comparative Analysis of Information Extraction Techniques for Data Mining, by Amit Verma et al. Indian Journal of Science and Technology, Vol 9, March 2016
- Brief Review of Educational Applications Using Data Mining and Machine Learning, , by A. Berenice Urbina Nájera, Jorgede la Calleja Mora, Redie ISSN 1607-4041. Revista Electrónica de Investigación Educativa, 19(4), 84-96
- Analysis of Data Using Data Mining tool Orange. Maqsud S.Kukasvadiya et. al. (2017) IJEDR, Volume 5, Issue 2, ISSN: 2321-9939
- Big Data — A Survey of Big Data Technologies. By P.Dhavalchandra, M.Jignasu, R.Amit. International Journal of Science and Technology. Volume 2, p45-50 (2016)
- Popularity of software programs for data science using recent reviews, Article (Sep 2018), T.Smalzer (retrieved in 2019),
- Evaluation and comparison of open source software suites for data mining and knowledge discovery, by Abdulrahman H. Altalhi, J. M. Luna, M. A. Vallejo, S. Ventura, Wires/Willey, DOI: 10.1002/widm.1204 (2017),