<efrbr:recordSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:efrbr="http://vfrbr.info/efrbr/1.1" xmlns:efrbr-work="http://vfrbr.info/efrbr/1.1/work" xmlns:efrbr-expression="http://vfrbr.info/efrbr/1.1/expression" xmlns:efrbr-manifestation="http://vfrbr.info/efrbr/1.1/manifestation" xmlns:efrbr-person="http://vfrbr.info/efrbr/1.1/person" xmlns:efrbr-corporateBody="http://vfrbr.info/efrbr/1.1/corporateBody" xmlns:efrbr-concept="http://vfrbr.info/efrbr/1.1/concept" xmlns:efrbr-structure="http://vfrbr.info/efrbr/1.1/structure" xmlns:efrbr-responsible="http://vfrbr.info/efrbr/1.1/responsible" xmlns:efrbr-subject="http://vfrbr.info/efrbr/1.1/subject" xmlns:efrbr-other="http://vfrbr.info/efrbr/1.1/other" xsi:schemaLocation="http://vfrbr.info/efrbr/1.1 http://vfrbr.info/schemas/1.1/efrbr.xsd"><efrbr:entities><efrbr-work:work identifier="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA"><efrbr-work:titleOfTheWork>An ensemble learning engine with Kafka and Kafka streams microservices</efrbr-work:titleOfTheWork></efrbr-work:work><efrbr-expression:expression identifier="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA"><efrbr-expression:titleOfTheExpression>An ensemble learning engine with Kafka and Kafka streams microservices</efrbr-expression:titleOfTheExpression><efrbr-expression:titleOfTheExpression>Μηχανή συνδυαστικής μηχανικής μάθησης με χρήση Kafka και Kafka streams μικροϋπηρεσιών</efrbr-expression:titleOfTheExpression><efrbr-expression:formOfExpression vocabulary="DIAS:TYPES">
            Διπλωματική Εργασία
            Diploma Work
         </efrbr-expression:formOfExpression><efrbr-expression:dateOfExpression type="issued">2025-06-18</efrbr-expression:dateOfExpression><efrbr-expression:dateOfExpression type="published">2025</efrbr-expression:dateOfExpression><efrbr-expression:languageOfExpression vocabulary="iso639-1">en</efrbr-expression:languageOfExpression><efrbr-expression:summarizationOfContent>This thesis introduces ELaaMS (Ensemble Learning as a MicroService), an event-driven microservice architecture designed to deliver robust, real-time ensemble predictions from multiple streaming machine-learning models running concurrently, built on top of Apache Kafka and Kafka Streams. Within ELaaMS, each learner runs as an independent Kafka Streams application that consumes streaming data, trains incrementally with the Massive Online Analysis (MOA) library, and publishes live predictions. A lightweight ensemble aggregator service fuses these outputs on the fly—applying majority voting for classifi cation and simple averaging for regression tasks —while a built-in catalog of streaming machine learning algorithms makes the system usable out of the box and readily extensi ble through the integration of new algorithms and methods. This architecture is designed to support robust scalability. Horizontal scalability is achieved by leveraging Kafka’s ca pability to distribute the workload across additional instances of the application, thereby increasing overall processing capacity and throughput. Vertical scalability is the ability to scale the computation with the number of processed streams.</efrbr-expression:summarizationOfContent><efrbr-expression:summarizationOfContent>Η παρούσα διπλωματική εργασία παρουσιάζει το ELaaMS (Ensemble Learning as a Microservice), μια αρχιτεκτονική μικροϋπηρεσιών καθοδηγούμενη από γεγονότα, σχεδιασμένη για την παροχή αξιόπιστων, συνδυαστικών προβλέψεων σε πραγματικό χρόνο, από πολλαπλά μοντέλα μηχανικής μάθησης ροής που εκτελούνται παράλληλα. Η αρχιτεκτονική είναι βασισμένη στην πλατφόρμα Apache Kafka και Kafka Streams. Στο πλαίσιο του ELaaMS, κάθε μοντέλο μηχανικής μάθησης εκτελείται ως μια ανεξάρτητη εφαρμογή Kafka Streams, καταναλώνει δεδομένα ροής, εκπαιδεύεται επαυξητικά με τη χρήση της βιβλιοθήκης Massive Online Analysis (MOA) και δημοσιεύει προβλέψεις σε πραγματικό χρόνο. Μια υπηρεσία συγκέντρωσης συνόλου συνδυάζει δυναμικά αυτές τις εξόδους, εφαρμόζοντας πλειοψηφική ψηφοφορία για προβλήματα ταξινόμησης και απλό μέσο όρο για προβλήματα παλινδρόμησης. Παράλληλα, ένας ενσωματωμένος κατάλογος αλγορίθμων μηχανικής μάθησης ροής καθιστά το σύστημα άμεσα αξιοποιήσιμο και εύκολα επεκτάσιμο, μέσω της ενσωμάτωσης νέων αλγορίθμων και μεθόδων. Η αρχιτεκτονική είναι σχεδιασμένη ώστε να υποστηρίζει ισχυρή κλιμακωσιμότητα. Η Οριζόντια κλιμακωσιμότητα επιτυγχάνεται αξιοποιώντας την ικανότητα του Kafka να κατανέμει τον φόρτο εργασίας σε επιπλέον instances της εφαρμογής, αυξάνοντας έτσι τη συνολική επεξεργαστική ικανότητα και την απόδοση. Η Κάθετη κλιμακωσιμότητα ορίζεται ως η ικανότητα κλιμάκωσης του υπολογισμού ανάλογα με τον αριθμό των επεξεργαζόμενων ροών δεδομένων.</efrbr-expression:summarizationOfContent><efrbr-expression:useRestrictionsOnTheExpression type="creative-commons">http://creativecommons.org/licenses/by/4.0/</efrbr-expression:useRestrictionsOnTheExpression><efrbr-expression:note type="academic unit">Πολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών</efrbr-expression:note></efrbr-expression:expression><efrbr-manifestation:manifestation identifier="http://purl.tuc.gr/dl/dias/62760EF1-863D-4B66-85BC-6D4ABBEE0815"><efrbr-manifestation:titleOfTheManifestation>Marketakis_Michail_Dip_2025.pdf</efrbr-manifestation:titleOfTheManifestation><efrbr-manifestation:publicationDistribution><efrbr-manifestation:placeOfPublicationDistribution type="distribution">Chania [Greece]</efrbr-manifestation:placeOfPublicationDistribution><efrbr-manifestation:publisherDistributor type="distributor">Library of TUC</efrbr-manifestation:publisherDistributor><efrbr-manifestation:dateOfPublicationDistribution>2025-06-18</efrbr-manifestation:dateOfPublicationDistribution></efrbr-manifestation:publicationDistribution><efrbr-manifestation:formOfCarrier>application/pdf</efrbr-manifestation:formOfCarrier><efrbr-manifestation:extentOfTheCarrier>2.6 MB</efrbr-manifestation:extentOfTheCarrier><efrbr-manifestation:accessRestrictionsOnTheManifestation>embargo</efrbr-manifestation:accessRestrictionsOnTheManifestation></efrbr-manifestation:manifestation><efrbr-person:person identifier="http://users.isc.tuc.gr/~mmarketakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Marketakis Michail
            Μαρκετακης Μιχαηλ
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~ngiatrakos"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Giatrakos Nikolaos
            Γιατρακος Νικολαος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~vsamoladas"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Samoladas Vasilis
            Σαμολαδας Βασιλης
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~spyropoulos"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Spyropoulos Thrasyvoulos
            Σπυροπουλος Θρασυβουλος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-corporateBody:corporateBody identifier="69B9ED4A-8AB4-4CAF-A506-A14545269189"><efrbr-corporateBody:nameOfTheCorporateBody vocabulary="">
            Πολυτεχνείο Κρήτης
            Technical University of Crete
         </efrbr-corporateBody:nameOfTheCorporateBody></efrbr-corporateBody:corporateBody><efrbr-concept:concept identifier="291751B1-07DF-4C8E-B85B-94758290C42C"><efrbr-concept:termForTheConcept>
            Machine Learning &amp; Data Engineering
         </efrbr-concept:termForTheConcept></efrbr-concept:concept></efrbr:entities><efrbr:relationships><efrbr-structure:structureRelations><efrbr-structure:realizedThrough sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="expression" targetURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA"/><efrbr-structure:embodiedIn sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="manifestation" targetURI="http://purl.tuc.gr/dl/dias/62760EF1-863D-4B66-85BC-6D4ABBEE0815"/></efrbr-structure:structureRelations><efrbr-responsible:responsibleRelations><efrbr-responsible:createdBy sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="person" targetURI="http://users.isc.tuc.gr/~mmarketakis"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="person" targetURI="http://users.isc.tuc.gr/~mmarketakis" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="person" targetURI="http://users.isc.tuc.gr/~ngiatrakos" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/1"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="person" targetURI="http://users.isc.tuc.gr/~vsamoladas" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="person" targetURI="http://users.isc.tuc.gr/~spyropoulos" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="person" targetURI="69B9ED4A-8AB4-4CAF-A506-A14545269189" role="publisher"/></efrbr-responsible:responsibleRelations><efrbr-subject:subjectRelations><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/3C10F4B8-879F-4E0B-8E4D-B09F29887DAA" targetEntity="concept" targetURI="291751B1-07DF-4C8E-B85B-94758290C42C"/></efrbr-subject:subjectRelations><efrbr-other:otherRelations/></efrbr:relationships></efrbr:recordSet>