Data Mining - NDBX023
Title: Dobývání znalostí
Guaranteed by: Student Affairs Department (32-STUD)
Faculty: Faculty of Mathematics and Physics
Actual: from 2022
Semester: summer
E-Credits: 9
Hours per week, examination: summer s.:4/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: English
Teaching methods: full-time
Teaching methods: full-time
Is provided by: NDBI023
Guarantor: doc. RNDr. Iveta Mrázová, CSc.
Class: Informatika Mgr. - Teoretická informatika
Informatika Mgr. - Softwarové systémy
Classification: Informatics > Database Systems, Theoretical Computer Science
Pre-requisite : {NXXX027, NXXX028, NXXX029, NXXX032, NXXX038, NXXX039, NXXX040, NXXX067, NXXX068, NXXX069}
Incompatibility : NDBI023
Interchangeability : NDBI023
Opinion survey results   Examination dates   SS schedule   Noticeboard   
Annotation -
A rapid development in the area of data mining is motivated by the necessity to "translate" huge amounts of processed and stored data into meaningful information easy to use in practice. This lecture is focused on understanding principal concepts and techniques applicable to data mining. Basic principles of their application to novel solutions of practical tasks will be used to solve a student project as a part of the subject. Possible application areas comprise mainly business and Web applications, but others as well. Knowledge BSc. in CS of mathematical principles and programming is assumed.
Last update: Hric Jan, RNDr. (28.05.2020)
Aim of the course -

Understand the main principles of data mining methods and learn how to apply these methods in practice.

Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Course completion requirements -

A) The labs

Step by step, in an accompanying Moodle course, there will be published assignments and quizzes.


Each assignment has a deadline till which the assignment should be submitted for grading. A draft solution of an assignment can be edited at any time, but the time of submission is the time you click the button "Submit assignment". After clicking this button, you cannot edit your submission anymore, but you can ask (per e-mail) your teacher to return the assignment to the draft state. The teacher will grade each submitted assignment with 0-10 points. During the semester, you will solve 2 assignments.

A typical solution for an assignment will consist of a Jupyter notebook containing a description of the solution and a Python code used for solving the assignment.

Warning: If N≥2 participants of the course submit solutions that are very similar or identical, all these solutions will be considered as a single solution. The solution will be graded by B points according to its quality, and all students who submit it will obtain only the integer part of the value B/N points.


Beside the assignments, you will solve 5 on-line quizzes for at most 25 points altogether. Each quiz will have set up also a deadline. In contrast to assignments, it will be not possible to solve any quiz after its deadline.

For obtaining credits for the seminar, it is necessary:

  1. To solve all assignments and to obtain at least 1 point for each solution. WARNING: late solution submission will be penalized by a 1-point decrease for each started week of the delay after the deadline.
  2. To prepare and to present a term project in the lab in the last week of the term or on a date (during the following exam period) that will be set up in the lab within the last week of the semester. The subject of the project will be discussed in the lab in the middle of the term. Each project will be graded up to 15 points according to its quality.

The quizzes are not among the necessary conditions for obtaining credits for the lab. During seminars, it is possible to obtain additional points

  • for demonstrating a solution to a problem assigned during a seminar – 1 point,
  • for demonstrating a solution submitted as a solution for an assignment in Moodle (after its deadline) – the integer part of the half of the number of points awarded for the solution (after evaluation by the teacher).

Except for the additional points, it is possible to obtain up to 60 points. All points obtained during seminars will be accounted for up to 40% of the final score on the exam. However, when a student obtains more than 60 points within labs (counting also additional points), these points will still account for only 40% of the final exam score.

Continuous work throughout the whole term is required to obtain the credits. Therefore, there will be no additional possibilities to acquire them later.

B) The lecture

The lecture will be given once a week according to the schedule. As already mentioned above, points acquired within the labs will account for up to 40% of the final score for the exam. Further, during the first lecture, a date will be set up for an online test, which will be written during a lab. The date for the online test will published in the accompanying Moodle course.

This test will be graded with 0-15% toward the final score. The exam at the end of this term will add up to the remaining 45% of the final score. The following table gives the final grade according to the achieved score:

grade 1 grade 2 grade 3 failure
100%–86% 85%–71% 70%–56% less than 56%

Last update: Mráz František, RNDr., CSc. (19.02.2024)
Literature -

  1. Aggarwal C. C.: Data Mining: The Textbook, Springer, 2015
  2. Berka P.: Dobývání znalostí z databází, Academia, 2003
  3. Liu B.: Web Data Mining, Springer, 2007
  4. Murphy K. P.: Machine Learning: A Probabilistic Perspective, The MIT Press, 2012

Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Requirements to the exam -

The exam consists of a written and oral part. The written part precedes the oral part. Failing the written part impacts failing the whole exam, i.e. the exam will be classified by the grade 4 (failed) and the exam will not continue with the oral part. When failing the oral part the next (reparative) attempt will consist again of both the written and oral parts. The final grade of the exam is set based on points awarded for the written and oral parts of the exam as well as on the points obtained for student’s work throughout the semester - see Course completion requirements.

The written part of the exam consists of three questions related to the syllabus of the lecture and/or material covered during the lab classes.

The requirements for the exam correspond to the syllabus of the lecture within the extent presented in the classes. In order to take part in the exam, it is necessary to obtain Final course credit.

Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)
Syllabus -

  1. Introduction to the area of data mining

    • Motivation for data mining and its importance for practice, an overview of frequent data mining tasks, main data mining methodologies.
    • Main principles of machine learning – supervised training, self-organization, semi-supervised learning, training set, test set and validation set, generalization and overfitting, Occam´s razor.

  2. Fundamental paradigms of the data mining process

    • Data gathering, preparation and preprocessing – sampling, variability and confidence, discretization of numeric attributes and handling nonnumerical variables, replacement of missing and empty values, series variables.
    • Transformation, reduction and cleaning of the data – relationships among the attributes (similarity measures, hypothesis testing, correlation, regression, discriminant and cluster analysis), dimensionality reduction.
    • Validation of the obtained results – cross-validation, overall accuracy, confusion matrix, learning curve, lift curve, ROC curve, combination of models (bagging, boosting).

  3. Techniques for association rule mining

    • Market basket analysis – frequent itemsets, association rules, their formulation and main characteristics.
    • Generation of frequent item combinations – algorithm apriori, "frequent-pattern-growth"-techniques (FP-Growth and TD-FP-Growth), combinational data analysis.
    • Constraint-based search for interesting rules (specification of time, items, etc.).

  4. Methods for cluster analysis

    • The k-means algorithm, the choice of a suitable metric, evaluation of the obtained results (cluster validity), representation and visualization of the found clusters.
    • Clustering based on the fuzzy set approach (FCM-clustering), neural approach and hierarchical clustering.
    • Advanced concepts – scalable techniques (CLARANS, BIRCH, CURE), outlier analysis.

  5. Approaches to data classification and prediction

    • Decision trees and their induction – algorithms ID3, C4.5, CART and CHAID.
    • Probabilistic classifiers – Bayessian models and techniques for their training and inference.
    • Nature-inspired models – artificial neural networks of the perceptron type, SVM-machines, ELM-networks, genetic algorithms.

Last update: Mrázová Iveta, doc. RNDr., CSc. (27.05.2020)