Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages

Posts

Future Blog Post

less than 1 minute read

Published:

This post will show up by default. To disable scheduling of future posts, edit config.yml and set future: false.

Blog Post number 4

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 3

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 2

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

Blog Post number 1

less than 1 minute read

Published:

This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.

portfolio

publications

talks

Machine Learning for Spark Streaming with StreamDM

Published:

The main goal of this tutorial is to introduce attendees to big data stream mining theory and practice. We will use the StreamDM framework to illustrate concepts and also to demonstrate how data stream mining pipelines can be deployed using StreamDM.

Big Data Stream Mining using Spark Streaming

Published:

The volume of data is rapidly increasing due to the development of the technology of information and communication. This data comes mostly in the form of streams. Learning from this ever-growing amount of data requires flexible learning models that self-adapt over time. In addition, these models must take into account many constraints: (pseudo) real-time processing, high-velocity, and dynamic multi-form change such as concept drift and novelty. The tutorial was combined with a workshop on the same topic.

Machine learning for nonstationary streaming data using Structured Streaming and StreamDM

Published:

The main difference between batch machine learning implementations in Spark (MLlib and Spark ML) and StreamDM is that the latter focus on algorithms that can be trained and adapted incrementally. This can be a huge advantage in some domains as it enables automatically updating the learning models. StreamDM is currently under development by Huawei Noah’s Ark Lab and Télécom ParisTech.

Streaming Random Forest Learning in Spark and StreamDM

Published:

We present how to build random forest models from streaming data. This is achieved by training, predicting and adapting the model in real-time with evolving data streams. The implementation is on the open source library StreamDM, built on top of Apache Spark.

Machine learning for streaming data: Practical insights

Published:

In many domains, data is generated at a fast pace. A clear example is the Internet of Things (IoT) applications, where connected sensors yield large amount of data in short periods. To build predictive models from this data, you need to either settle for traditional offline learning or attempt to learn from the data incrementally. A significant setback with the offline learning approach is that it’s slow to react to changes in the domain, and these changes can have a catastrophic impact on the model predictive performance, since the patterns in which the model was trained on are no longer valid. An online approach where the model is trained incrementally can potentially fix this; however, the untold story is that the existing challenges for offline learning are still present (and are even maximized) when processing the data online. These challenges include, but are not limited to, raw data preprocessing, efficient incremental updates to models, algorithms to detect changes and react to them, and dealing with lots of unlabeled and delayed-labeled data.

Lecture at the IOT Stream Data Mining course

Published:

Lecture at the IOT Stream Data Mining course (Paris, France) as part of the Data and Knowledge 2nd year Master Program of Université Paris Saclay 2019-2020.

Machine learning for data streams with scikit-multiflow

Published:

In this tutorial we introduced attendees to data stream mining procedures and examples of big data stream mining applications with examples using the scikit-multiflow. The tutorial was scheduled for IJCAI 2020 but ended up being presented early 2021 due to the pandemic. Website: https://streamlearningtutorial2020.netlify.app/

Machine Learning for Streaming Data

Published:

Invited talk at the Joint Machine Learning Seminar hosted collaboratively by Cardiff University and the University of Waikato

Machine Learning for Streaming Data

Published:

Guest Lecture entitled “Machine Learning for Streaming Data” for undergrad and graduate students at Michigan Technological University (USA)

Machine Learning for Streaming Data

Published:

Guest Lecture concerning Machine Learning for Streaming Data for graduate students at China University of Mining and Technology

SSL and Delayed Labelling

Published:

Guest Lecture concerning SSL and Delayed Labelling for undergraduate students at the University of Waikato (Hamilton, NZ)

PAKDD’24 tutorial: Machine Learning for Streaming Data

Published:

Machine learning for data streams (MLDS) has been a significant research area since the late 90s, with increasing adoption in industry over the past few years. Despite commendable efforts in opensource libraries, a gap persists between pioneering research and accessible tools, presenting challenges for practitioners, including experienced data scientists, in implementing and evaluating methods in this complex domain. Our tutorial addresses this gap with a dual focus. We discuss advanced research topics such as partially delayed labeled streams while providing practical demonstrations of their implementation and assessment using Python. By catering to both researchers and practitioners, this tutorial aims to empower users in designing, conducting experiments, and extending existing methodologies.

IJCAI’24 tutorial: Machine Learning for Streaming Data

Published:

The field of Machine Learning for Data Streams has seen growing interest and adoption in recent years, particularly in industry. Despite this progress, there remains a noticeable gap between cutting-edge research and the practical tools available, making it difficult for even experienced data scientists to apply and evaluate these techniques in real-world scenarios. Our tutorial is designed to address this issue by focusing on two key areas. We explore advanced topics, such as handling streams with partially delayed labels, while providing practical, Python-based demonstrations for implementation and evaluation. This dual approach aims to empower both researchers and practitioners to develop new experiments and extend current methodologies.

KDD’24 tutorial: Practical Machine Learning for Streaming Data

Published:

Our tutorial aims to bridge this gap with a dual focus. We discuss important research topics, such as partially delayed labeled streams, while providing practical demonstrations of their implementation and assessment using CapyMOA, an open-source library that provides efficient algorithm implementations through a high-level Python API. This tutorial also included exercises and many examples. Link to publication.

teaching

COMPX523: Data Stream Mining

Undergraduate and MSc course, University of Waikato, School of Computing & Mathematical Sciences, 2020

This paper is an introduction to stream data mining. Data streams are everywhere, from F1 racing over electricity networks to news feeds. Data stream mining relies on incremental algorithms that process streams under strict resource limitations. This paper focuses on, as well as extends the methods implemented in MOA (Java) and scikit-multiflow (Python), two open-source stream mining software suites currently being developed by the Machine Learning group at the University of Waikato. More information.

COMP307: Fundamentals of Aritificial intelligence

Undergraduate, Victoria University of Wellington, ECS, 2020

The lectures cover following main topics: search techniques, machine learning including basic learning concepts and algorithms, neural networks and evolutionary learning, reasoning under uncertainty, planning and scheduling, knowledge based systems and AI Philosophy. The course includes a substantial amount of programming. The course will cover both science and engineering applications. More information.