Paralel programlama ve dağıtık hesaplama sıstemleri kullanarak büyük veri analitiği
Big data analitics using parallel programming and distributed computing systems
Yazar: NAPO TIYADJA TCHEDRE
Danışman: PROF. DR. HAMZA EROL
Mersin Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2020
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bu tez çalışması üç aşamalı katmandan oluşmaktadır. Birinci katmanda bilgisayar sisteminin işlemcisindeki çekirdekler dağıtık sistem yapısı olarak alınır ve paralel programlama kullanarak büyük veri analitiğini gerçekleştirme hızı arttırılır. İkinci katmanda büyük veri analitiğini gerçekleştirmek için bir yazılım hesaplama ortamı oluşturmak için bilgisayar mimarisine sistem yazılımı yüklenir. Üçüncü katmanda sistem yazılımı yüklenen bilgisayar mimarisi üzerinde büyük veri analitiği gerçekleştirilir.
Büyük veri analitiği için veri seti eğitim seti ve test seti olarak iki parçaya bölünür. Araştırmada Excel ile oluşturulan csv formatında veri kümeleri kullanılır. Herhangi bir makine öğrenme modelinde yapılması gereken işlem veri kümesini eğitim seti ve test seti olacak şekilde iki farklı sete ayırmaktır. Bunun nedeni makinenin işlemi öğrenmesine odaklanılmasıdır. Burada tahmin etme işlemi veya makine öğrenme işlemi hedeflerini gerçekleştirmek için algoritmanın verilerden öğrenmesidir. Makine öğrenme modeli, veri kümesindeki bazı korelasyonları anlayarak veri kümesinden bir şeyler yapmayı öğrenecek ve veri kümesinde çok fazla şey öğrenen makine modeli oluşturacaktır. Makine öğrenmesi çok fazla korelasyon içeren veri setini işleyerek performansı arttırmak için farklı korelasyona sahip yeni bir veri kümesine dönüştürecektir. Makine öğrenmesinin bir veri kümesinde oluşturulmasından sonra makine öğrenme modelinin oluşturduğu veri kümesinden biraz farklı olacak yeni bir veri kümesi test edilir. Bu nedenle, makine öğrenme modelini kullanarak oluşturulan bir eğitim seti ve makine öğrenme modelinin performansını test ettiğimiz bir test seti olmak üzere iki farklı set oluşturmak zorunludur. Test setindeki performans, eğitim setindeki performanstan farklı olmamalıdır. Makine öğrenme modelinin korelasyonu iyi anladığı ve yeni bir sete uyum sağlayabilmesi için onları ezbere öğrenmediği kontrol edilmelidir. Bu işlemler Anaconda ortamında Python programlama dili kullanılarak gerçekleştirilecektir. 

Anahtar Kelimeler: Büyük veri, Dağıtık sistem, Paralel programlama, Makine öğrenmesi, Python dili.
Danışman: Prof.Dr. Hamza EROL, Mersin Üniversitesi, Bilgisayar Mühendisliği Anabilim Dalı, Mersin.

Abstract:
This thesis study consists of three stages. In the first layer, the cores in the processor of the computer system are taken as a distributed system structure and the speed of performing big data analytics is increased by using parallel programming. In the second layer, system software is loaded into the computer architecture to create a software computing environment to perform big data analytics. In the third layer, big data analytics are performed on the computer architecture with system software installed.
For big data analytics, the data set is divided into two parts as training set and test set. In the research, datasets in csv format created with Excel are used. In any machine learning model, it is necessary to divide the process dataset into two sets, the training set and the test set. This is because the machine focuses on learning the process. Here, the algorithm learns from the data to achieve the prediction or machine learning process goals. The machine learning model will learn to do something from the dataset by understanding some correlations in the dataset, and will create a machine model that learns too much in the dataset. Machine learning will process a dataset with a lot of correlations and transform it into a new dataset with different correlations to improve performance. After machine learning is created in a dataset, a new dataset is tested, which will be slightly different from the dataset created by the machine learning model. Therefore, it is imperative to create two different sets, a training set created using the machine learning model and a test set in which we test the performance of the machine learning model. The performance in the test set should not differ from the performance in the training set. It should be checked that the machine learning model understands correlation well and does not learn them by heart to adapt to a new set. These operations will be carried out using the Python programming language in the Anaconda environment.

Keywords: Big data, Distributed system, Parallel programming, Machine learning, Python language.
Advisor: Prof.Dr. Hamza EROL, Department of Computer Engineering, University of Mersin, Mersin.