Тип работы:
Предмет:
Язык работы:


Реализация пакета аналитических функций в PostgreSQL. Алгоритмы кластеризации

Работа №130693

Тип работы

Бакалаврская работа

Предмет

информационные системы

Объем работы24
Год сдачи2018
Стоимость4355 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
28
Не подходит работа?

Узнай цену на написание


Оглавление
Введение
Постановка задач
Обзор существующих решений.
Выбор алгоритмов для реализации
Реализация
6.1. Развертывание схемы
6.2. Метод кластеризации - K-means
6.3. Метод кластеризации – K-medians
6.4. Метод кластеризации – DBSCAN
6.5. Метод кластеризации FOREL
6.6. Метод кластеризации – Aglomerative
6.7. Метрика оценки - Silhouette
6.8. Метрика оценки – Dunn
6.9. Метрика оценки – DB
6.10. Прочие функции.
Визуализация результатов
Заключение
Список литературы

Информационная составляющая современного мира невероятна обширна.
Практически все сферы деятельности человека, так или иначе, связаны с различными видами хранения и обработки данных. Сложно представить такие направления как: медицина, экономика, торговля и многие другие без понятия больших данных. Но сами по себе данные не несут в себе такой ценности как умение грамотно анализировать их. Аналитические методы позволяют человеку применять различные математические методы для выявления знаний из данных, и впоследствии использовать полученную информацию для оптимизации работы, выявления угроз и опасностей, а также выявления направлений в развитии бизнеса. Все это позволяет людям не только избежать огромных финансовых затрат, но и сократить временные и ресурсные аспекты решения возникающих проблем.
Так как наиболее распространенным способом хранения и обработки данных являются базы данных, то и большинство аналитических методов основано на обработке больших баз данных с целью нахождения, как заранее известных результатов, так и выявлением новых уникальных закономерностей. В связи с этим многие из основных производителей систем управления базами данных, такие как Oracle и Microsoft работают над внедрением в свои продукты пакетов аналитических функций и процедур, обладающих высоким спросом, что дает возможность каждому пользователю получить доступ ко многим мощным методам анализа данных сразу после установки. Однако не все СУБД обладают достаточным количеством ресурсов для разработки подобных программных решений. Одной из таких СУБД является PostgreSQL, активно развивающейся и все чаще в последнее время внедряемой многими российскими компаниями в качестве основного продукта для разработки баз данных.
Наряду с имеющимися недостатками, один из которых был упомянут выше, PostgreSQL обладает и рядом преимуществ, основным из которых является ее доступность, благодаря чему многие компании и аналитики предпочитают использовать в своей работе именно ее. Однако многие из них сталкиваются с невозможностью полностью реализовать свои потребности функционалом, предлагаемым после стандартной установки системы. В такие моменты и возникает потребность поиска сторонних решений или же смена среды разработки. Стоит отметить что на сегодняшний день существует ряд методов способных в какой-то мере решить возникающие проблемы, однако многие из них, для реализации поставленных задач, используют сторонние программные продукты, встраиваемые в PostgreSQL, что, в некоторых случаях может приводить к непредсказуемому поведению или возникновению конфликтных ситуаций.
Кроме того, рядовому пользователю незнакомому с тем, как функционирует вспомогательный продукт, может доставить ряд неудобств ознакомление с принципом его работы. В связи с вышесказанным возникает необходимость реализации пакета, способного приблизить PostgreSQL к коммерческим продуктам, используя при этом лишь средства, предоставленные самой СУБД.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы был произведен обзор наиболее популярных и полезных алгоритмов кластеризации, а также способов оценки их качества.
Позднее на языке PL/pgSQL был разработан пакет аналитических функций, разворачиваемый в СУБД PostgreSQL и, включающий в себя наравне с другими функции, реализующие такие алгоритмы как: K-means, K-medians, DBScan, Агломеративный алгоритм кластеризации, FOREL а также алгоритмы оценки качества кластеризации по метрикам Silhouette, Dunn и DB.
Результат разработки был опубликован на портале GitHub и доступен по ссылке https://github.com/Twicelab/anfun. К коду приложены файлы спецификации и инструкции по установке. Метод разработки продукта позволяет масштабировать его и добавлять функциональность в будущем, расширяя возможности и оптимизируя его работу.


[1] Apache MADlib documentation – URL:
http://madlib.apache.org/documentation.html
[2] PostGIS documentation – URL: https://postgis.net/documentation/
[3] PL/R documentation – URL: http://www.joeconway.com/doc/doc.html
[4] PostgreSQL documentation – URL: https://www.postgresql.org/docs/
[5] Md. Sohrab Mahmud, Md. Mostafizer Rahman, Md. Nasim Akhtar,
“ Improvement of K-means Clustering algorithm with better initial centroids
based on weighted average”, 7th International Conference on Electrical and
Computer Engineering, 2012, pp. 647-650.
[6] Aristidis Likas, Nikos Vlassis, Jakob J. Verbeek, The global k-means clustering
algorithm, Pattern Recognition, Volume 36, Issue 2,2003,Pages 451-461
[7] Davoud Moulavi, Pablo A. Jaskowiak, Ricardo J. G. B. Campello, Arthur Zimek,
and Jörg Sander, “Density-Based Clustering Validation” Proceedings of the 2014
SIAM International Conference on Data Mining. 2014, 839-847
[8] Загоруйко Н. Г., Ёлкина В. Н., Лбов Г. С. Алгоритмы обнаружения
эмпирических закономерностей. — Новосибирск: Наука, 1985.
[9] Lance G. N., Willams W. T. A general theory of classification sorting strategies.
1. hierarchical systems // Comp. J. — 1967. — no. 9. — Pp. 373–380.
[10] Сивоголовко Е. В. Методы оценки качества четкой кластеризации, 2011
[11] Miniakhmetov, Ruslan. (2011). Integrating Fuzzy c-Means Clustering with
PostgreSQL. CEUR Workshop Proceedings. 735. 6-10.
[12] K. M. A. Patel and P. Thakral, "The best clustering algorithms in data mining,"
2016 International Conference on Communication and Signal Processing
(ICCSP), Melmaruvathur, 2016, pp. 2042-2046.
[13] Shifei Ding, L. Zhang and Y. Zhang, "Research on Spectral Clustering
algorithms and prospects," 2010 2nd International Conference on Computer
Engineering and Technology, Chengdu, 2010, pp. V6-149-V6-153.
[14] Hans-Jürgen Schönig (2018). Mastering PostgreSQL 10
[15] D. L. Davies and D. W. Bouldin, "A Cluster Separation Measure," in IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-1, no. 2,
pp. 224-227, April 1979.

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ