Skip to content

cjo2343/damin2025

 
 

Repository files navigation

Data Mining, KSD (2025)

This course gives an introduction to the field of data mining. The course is relatively practically oriented, focusing on applicable algorithms. Practical exercises will involve both use of a freely available data mining package and individual implementation of algorithms.

Setup the Development Environment

This repository contains the configuration files to set up the development environment. It uses conda to manage a Python development environment and all required packages and libraries this project uses. We use Data Version Control (DVC) to store all binary files (videos, images, timesheets, among others) used by examples and exercises of this course. These files are available in a private bucket on Amazon S3, and the students can access them as read-only resources via an HTTPS connection. The following presents the step-by-step tutorial on setting up the damin2025 development environment.

Requirements

  • An active Anaconda, Miniconda, or Miniforge (highly recommended) installation with the bin folder added to the Environmental Variable $PATH (Linux and macOS) or %PATH% (Microsoft Windows).
  • An integrated development environment with C/C++ compiler and libraries, such as Xcode for macOS users, GCC for Linux users, and Visual Studio 2022 for Microsoft Windows users.
  • CMake, a cross-platform, open-source build system generator.
  • (Recommended) Visual Studio Code installed.

Installation

First of all, use the Terminal (Prompt) to execute the following commands. Clone this repository and enter the project root folder:

git clone https://github.com/fabricionarcizo/damin2025
cd $PROJECT\damin2025

Then, create a new environment called damin2025:

conda env create --file=./environment.yml

Activate the created environment:

conda activate damin2025

Install the required Python packages and libraries:

poetry install --no-root

Finally, download the binary resource available in our private Amazon S3 bucket:

dvc pull

Before each lecture, you must download the newest binary files by executing the command dvc pull again.

P.S.: Once in a while, update your development environment to get the latest pip package versions:

conda env update --file=./environment.yml --prune
poetry update

Description

The course will cover the following main topics:

  • The data mining process
  • Cluster analysis
  • Data pre-processing
  • Pattern and association mining
  • Classification and prediction

Application examples will be given from domains including demographics, image processing and healthcare.

Formal Prerequisites

Students must have experience with and be comfortable with programming and be capable of independently implementing algorithms from descriptions. This corresponds to passing at least an introductory programming course, preferably an intermediate-level one. The course will contain compulsory programming in Python.

Students must be familiar with basic mathematical notation and concepts such as variables, sets, functions, averages, and variance. For example, a discrete mathematics course can help students acquire these competencies.

Information about study structure

This is a specialization course for the MSc Software Design study program and an elective for other MSc study programs. Moreover, the student must always meet the admission requirements of the IT University of Copenhagen.

Intended Learning Outcomes

After the course, the student should be able to:

  • Analyze data mining problems and reason about the most appropriate methods to apply to a given dataset and knowledge extraction need.
  • Implement basic pre-processing, association mining, classification and clustering algorithms.
  • Apply and reflect on advanced pre-processing, association mining, classification and clustering algorithms.
  • Work efficiently in groups and evaluate the algorithms on real-world problems.

Learning Activities

The course consists of lectures ending with a project for the last part of the course. Most weeks, you will have a lecture and a lab exercise involving independent programming. Students must be able to program. The default language is Python, and there is an introduction to this in Week #01 and during the labs.

There is one mandatory assignment around the course midway, where you will apply the techniques learned.

For the final project, you will specify and work on a relevant Data Mining project of your choice. In this project, you will apply the techniques and algorithms studied during the course to relevant real-world problems. This will be done in groups of 2-4 people.

In addition to the hours planned for lectures, tutorials, and exercises, supervision sessions for the group projects are planned. These sessions complement the theory covered during the lectures and are necessary for meeting the course's learning objectives. Lectures provide theoretical foundations and walk-through examples of relevant data mining algorithms, while exercises focus on students discussing and implementing the algorithms.

The following table presents the lecture plan:

Week Date Lecture
01 26/08/2025 Getting Started
02 02/09/2025 Introduction to Python Programming Language
03 09/09/2025 Introduction to Linear Algebra
04 16/09/2025 Data Preprocessing
05 23/09/2025 Data Exploration and Visualization
06 30/09/2025 Classification: Basic Concepts
07 07/10/2025 Classification: Advanced Techniques
08 21/10/2025 Regression Analysis
09 28/10/2025 Clustering: Basic Concepts
10 04/11/2025 Clustering: Advanced Techniques
11 11/11/2025 Dimensionality Reduction
12 18/11/2025 Anomaly Detection
13 25/11/2025 Association Rule Mining
14 02/12/2025 Final Exam Project and Course Evaluation

Mandatory Activities

One mandatory assignment is to use self-implemented data mining techniques on a simple data set and write a report about it.

The students will receive an "Approved"/"Not Approved" grade on the assignment, with follow-up formative feedback.

The pedagogical function of the mandatory project is to provide the students with an activity where they gain experiential knowledge supporting the ILOs reached in the course, including data preparation and machine learning classification.

If the students won't hand in or fail the mandatory activity, then they will have to pass a repeat mandatory examination provided within a month of the grade.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course Literature

The 100-Page Machine Learning Book. By Andriy Burkov. Published Jan 13, 2019 by Lightning Source Inc. ISBN-10 1777005477 and ISBN-13 978-1777005474.

Data Mining: Concepts and Techniques (The Morgan Kaufmann Series in Data Management Systems), 4th Edition. By Jiawei Han, Micheline Kamber, and Jian Pei. Published Oct 17, 2022 by Morgan Kaufmann. ISBN-10 9780128117606 and ISBN-13 978-0128117606.

Student Activity Budget

Estimated distribution of learning activities for the typical student:

  • Preparation for lectures and exercises: 20%
  • Lectures: 15%
  • Exercises: 10%
  • Assignments: 10%
  • Project work, supervision included: 35%
  • Exam with preparation: 10%

Ordinary Exam

Exam type

D: Submission of written work with following oral, External (7-point scale)

Exam variation

D1G: Submission for groups with following oral exam based on the submission. Shared responsibility for the report.

Exam submission description

The final assessment will be a jointly written report. There will be a group presentation of this report followed by individual questions about the report and the work behind it, resulting in individual grades.

Group submission

Group

2-4

Exam duration per student for the oral exam

15 minutes

Group exam form

Mixed exam 2: Joint student presentation followed by an individual dialogue. The group makes their presentations together and afterwards the students participate in the dialogue individually while the rest of the group is outside the room.

Reexam

Reexam type

B: Oral exam

Reexam variation

B22: Oral exam with no time for preparation.

Reexam duration per student for the oral exam

20 minutes

Time and Date

Ordinary Exam - submission Fri, 09 Jan 2026, 08:00 - 14:00

Ordinary Exam Wed, 21 Jan 2026, 09:00 - 21:00

Ordinary Exam Thu, 22 Jan 2026, 09:00 - 21:00

Ordinary Exam Fri, 23 Jan 2026, 09:00 - 21:00

About

Data Mining KSD (2025)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Jupyter Notebook 99.7%
  • Python 0.3%