غير محددة في المصدر 2019 بحاجة إلى مراجعة

Functional programming paradigm for machine learning algorithms in data mining

الملخص

Data Mining and Machine Learning have experienced a significant rise in the past few decades, due to the increasing computational power, as well as to the quantity and availability of data which we currently have access to. This amount of data is always growing and facilitates the arrival of technologies to process them in order to obtain some benefit out of it, from autonomous driving to enhancements in the diagnosis and treatment of diseases. The programming language most widely used in data mining is Python, primarily because of its versatility and the number of libraries that are available for data processing, the different machine learning algorithms and tools to provide visual analysis of datasets and results. The goal of this project is to compare a functional programming paradigm to Python. Our choice of functional programming language is Haskell, owing to its purely functional nature. The study aims to compare the two languages based on the results of their performance when using two common classification algorithms: Random Forest (RF) and Convolutional Neural Networks (CNNs). The experimental results lean towards Python being the better solution, with running times of up to ten times faster and a third of the memory consumption in both Random Forests and Feed Forward Neural Networks (FFNN). The differences in performance were not as significant for CNNs, with Haskell needing around 1.5 times the amount of time Python requires, although memory is still around 2-3 times as much. Thus, we can conclude that Python is still the language to beat in the field of machine learning. Despite this, Haskell can still be used as a solution to other problems that can make use of its best qualities, which include its strong typing, safety because of its lack of side effects and its ease to safely parallelize code.

الكلمات المفتاحية

غير متوفر

التخصصات

رسائل وأطاريح مشابهة