====== Data Mining A.A. 2024/25 ====== ===== DM1 - Data Mining: Foundations (6 CFU) ===== Instructors: * **Dino Pedreschi** * KDDLab, Università di Pisa * [[http://www-kdd.isti.cnr.it]] * [[dino.pedreschi@unipi.it]] * **Riccardo Guidotti** * KDDLab, Università di Pisa * [[https://kdd.isti.cnr.it/people/guidotti-riccardo]] * [[riccardo.guidotti@di.unipi.it]] Teaching Assistant * **Andrea Fedele** * KDDLab, Università di Pisa * [[https://www.linkedin.com/in/andrea-fedele/?originalSubdomain=it]] * [[andrea.fedele@phd.unipi.it]] ===== DM2 - Data Mining: Advanced Topics and Applications (6 CFU) ===== Instructors: * **Riccardo Guidotti** * KDDLab, Università di Pisa * [[https://kdd.isti.cnr.it/people/guidotti-riccardo]] * [[riccardo.guidotti@di.unipi.it]] Teaching Assistant * **Andrea Fedele** * KDDLab, Università di Pisa * [[https://www.linkedin.com/in/andrea-fedele/?originalSubdomain=it]] * [[andrea.fedele@phd.unipi.it]] * Meeting: https://calendly.com/andreafedele/ ====== News ====== * **[07.09.2024]** Past years' lectures available at [[https://unipiit-my.sharepoint.com/:f:/g/personal/a_fedele7_studenti_unipi_it/EkecHQpnojVLqX0OqTlfrbMBBRMFbIJfNCw_RdFPN2276g?e=Y2uIcu|link]] * [02.09.2024] Lectures will start on Monday 30 September 2024 at 11.00 room C1. * [02.09.2024] Lectures will be in presence only. Registrations of the lectures of past years can be found at the bottom of this web page. * [02.09.2024] Project Groups [[https://docs.google.com/spreadsheets/d/1RFWIwKM5Myaehh4tHceaf3olMYm_CktGvoNOFX2Oovc/edit?usp=sharing|link]] * [11.09.2023] MS Teams [[https://teams.microsoft.com/l/team/19%3AMMVIsw09XAOGOcd8-D8dKmNUO2hKXsFKpgkOoiFnwJM1%40thread.tacv2/conversations?groupId=3f7fd5a7-5c84-4930-92e4-0704013877f2&tenantId=c7456b31-a220-47f5-be52-473828670aa1|link]] ====== Learning Goals ====== * DM1 * Fundamental concepts of data knowledge and discovery. * Data understanding * Data preparation * Clustering * Classification * Pattern Mining and Association Rules * Sequential Pattern Mining * DM2 * Outlier Detection * Dimensionality Reduction * Regression * Advanced Classification and Regression * Time Series Analysis * Transactional Clustering * Explainability ====== Hours and Rooms ====== ===== DM1 ===== **Classes** ^ Day of Week ^ Hour ^ Room ^ | Monday | 11:00 - 13:00 | C1 | | Tuesday | 14:00 - 16:00 | C1 | **Office hours - Ricevimento:** * Prof. Pedreschi * TBD * Online * Prof. Guidotti * Thursday 16:00 - 18:00 or Appointment by email * Room 363 Dept. of Computer Science or MS Teams ===== DM 2 ===== **Classes** ^ Day of Week ^ Hour ^ Room ^ | Monday | 09:00 - 11:00 | C | | Wednesday | 11:00 - 13:00 | C | **Office Hours - Ricevimento:** * Tuesday 15.00-17.00 or Appointment by email * Room 363 Dept. of Computer Science or MS Teams ====== Learning Material -- Materiale didattico ====== ===== Textbook -- Libro di Testo ===== * Pang-Ning Tan, Michael Steinbach, Vipin Kumar. **Introduction to Data Mining**. Addison Wesley, ISBN 0-321-32136-7, 2006 * [[http://www-users.cs.umn.edu/~kumar/dmbook/index.php]] * I capitoli 3, 5, 7 sono disponibili sul sito del publisher. -- Chapters 3,5 and 7 are also available at the publisher's Web site. * Berthold, M.R., Borgelt, C., Höppner, F., Klawonn, F. **GUIDE TO INTELLIGENT DATA ANALYSIS.** Springer Verlag, 1st Edition., 2010. ISBN 978-1-84882-259-7 * Laura Igual et al.** Introduction to Data Science: A Python Approach to Concepts, Techniques and Applications**. 1st ed. 2017 Edition. * Jake VanderPlas. **[[http://shop.oreilly.com/product/0636920034919.do| Python Data Science Handbook: Essential Tools for Working with Data.]]** 1st Edition. ===== Slides ===== * The slides used in the course will be inserted in the calendar after each class. Most of them are part of the slides provided by the textbook's authors [[http://www-users.cs.umn.edu/~kumar/dmbook/index.php#item4|Slides per "Introduction to Data Mining"]]. ===== Software===== * Python - Anaconda (>3.7): Anaconda is the leading open data science platform powered by Python. [[https://www.anaconda.com/distribution/| Download page]] (the following libraries are already included) * Scikit-learn: python library with tools for data mining and data analysis [[http://scikit-learn.org/stable/ | Documentation page]] * Pandas: pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. [[http://pandas.pydata.org/ | Documentation page]] Other softwares for Data Mining * [[http://www.knime.org | KNIME ]] The Konstanz Information Miner. [[http://www.knime.org/download-desktop| Download page ]] * [[http://www.cs.waikato.ac.nz/ml/weka/ | WEKA ]] Data Mining Software in JAVA. University of Waikato, New Zealand [[http://www.cs.waikato.ac.nz/ml/weka/ | Download page ]] * Didactic Data Mining [[http://matlaspisa.isti.cnr.it:5055/Help| DDMv1]], [[https://kdd.isti.cnr.it/ddm/#/| DDMv2]] ====== Class Calendar (2024/2025) ====== ===== First Semester (DM1 - Data Mining: Foundations) ===== ^ ^ Day ^ Time ^ Room ^ Topic ^ Material ^ Lecturer ^ | | 16.09.2024 |          | | No Lecture | | | | | 17.09.2024 | | | No Lecture | | | | | 23.09.2024 | | | No Lecture | | | | | 24.09.2024 | | | No Lecture | | | |01.| 30.09.2024 | 11-13 |C1| Overview, Introduction | {{ :dm:00_dm1_introduction_2024_25.pdf | Intro}} | Pedreschi| |02.| 01.10.2024 | 14-16 |C1| Lab. Introduction to Python | {{ :dm:dm1_lab01_python_basics_2024_25.zip | Python Basics}} | Pedreschi| |03.| 07.10.2024 | 11-13 |C1| Data Understanding | {{ :dm:01_dm1_data_understanding_2024_25.pdf | Data Understanding}} | Pedreschi| |04.| 08.10.2023 | 14-16 |C1| Data Understanding & Preparation | {{ :dm:01_dm1_data_understanding_2024_25.pdf | Data Understanding}}, {{ :dm:02_dm1_data_preparation_2024_25.pdf | Data Preparation}} | Pedreschi| |05.| 14.10.2023 | 11-13 |C1| Data Preparation & Similarity | {{ :dm:02_dm1_data_preparation_2024_25.pdf | Data Preparation}}, {{ :dm:03_dm1_data_similarity_2024_25.pdf | Data Similarity}} | Pedreschi| |06.| 15.10.2024 | 14-16 |C1| Lab. Data Understanding | {{ :dm:dm1_lab02_data_understanding.zip | Data Understanding}}| Pedreschi| |07.| 21.10.2024 | 11-13 |C1| Introduction to Clustering, K-Means | {{ :dm:04_dm1_clustering_intro_2024_25.pdf | Intro Clustering}}, {{:dm:05_dm1_kmeans_2024_25.pdf | K-Means }} | Pedreschi| |08.| 22.10.2024 | 14-16 |C1| Centroid-based Clustering | {{:dm:05_dm1_kmeans_2024_25.pdf | K-Means }} | Pedreschi| |09.| 28.10.2023 | 11-13 |C1| Hierarchical Clustering & Density-based Clustering | {{ :dm:06_dm1_hierarchical_clustering_2024_25.pdf | Hierarchical Clustering}}, {{ :dm:07_dm1_density_based_2024_25.pdf | Density-based Clustering}} | Pedreschi| |10.| 29.10.2024 | 14-16 |C1| Lab. Clustering | {{ :dm:dm1_lab03_clustering.zip | Clustering}}| Pedreschi| |11.| 04.11.2024 | 11-13 |C1| Ex. Clustering | {{ :dm:ex1_dm1_clustering_2023_24.pdf | ExClustering}}| Guidotti| |12.| 05.11.2024 | 14-16 |C1| Intro Classification & kNN | {{ :dm:08_dm1_classification_intro_2024_25.pdf | Intro Classification}}, {{ :dm:09_dm1_knn_2024_25.pdf | kNN}} | Guidotti| |13.| 11.11.2024 | 11-13 |C1| Naive Bayes, Exercises | {{ :dm:10_dm1_naive_bayes_2024_25.pdf | Naive Bayes}} | Guidotti| |14.| 12.11.2024 | 14-16 |C1| Model Evaluation, Lab. Classification (kNN,NB) | {{ :dm:11_dm1_classification_eval_2024_25.pdf | Model Evaluation}}, {{ :dm:dm1_lab04_classification.zip | Classification}} | Guidotti| |15.| 14.11.2024 | 9-11 |C1| Decision Tree Classifier | {{ :dm:12_dm1_decision_trees_2024_25.pdf | Decision Tree}} | Guidotti| |16.| 18.11.2024 | 11-13 |C1| Decision Tree Classifier | {{ :dm:12_dm1_decision_trees_2024_25.pdf | Decision Tree}} | Guidotti| |17.| 19.11.2024 | 14-16 |C1| Decision Tree Classifier | {{ :dm:12_dm1_decision_trees_2024_25.pdf | Decision Tree}} | Guidotti| |18.| 21.11.2024 | 9-11 |C1| Decision Tree Classifier Exercises and Lab | {{ :dm:12_dm1_decision_trees_2024_25.pdf | Decision Tree}}, {{ :dm:dm1_lab04_classification.zip | Classification}} | Guidotti| |19.| 25.11.2024 | 11-13 |C1| Regression & Lab. Regression | {{ :dm:13_dm1_linear_regression_2024_25.pdf | Regression}}, {{ :dm:dm1_lab05_regression.zip | Regression}}, {{ :dm:dm1_2425_imdb_rating.zip | IMDb Rating}} | Guidotti| |20.| 26.11.2024 | 14-16 |C1| Into Pattern Mining and Apriori | {{ :dm:14_dm1_pattern_mining_2024_25.pdf | Pattern Mining}} | Pedreschi| ===== Second Semester (DM2 - Data Mining: Advanced Topics and Applications) ===== ^ ^ Day ^ Time ^ Room ^ Topic ^ Material ^ Lecturer ^ |01.| 19.02.2024 | 14-16 |C| Overview, Rule-based Models | {{ :dm:14_dm2_intro_2023_24.pdf | Introduction}}, {{ :dm:dm2_project_guidelines_23_24.pdf | Guidelines}}, {{ :dm:15_dm2_rule_based_classifier_2023_24.pdf | Rule-based Models }} | Guidotti| ====== Exams ====== ** How and Where: ** The exam will take place in oral mode only at the teacher's office or classroom previously designated. The exam will be held online on the 420AA Data Mining course channel only at the request of the student in accordance with current legislation. ** When: ** The dates relating to the start of the three exams are/will be published on the online platform https://esami.unipi.it/. Within each session, we will identify dates and slots in order to distribute the various orals. The dates and slots to take the exam will be published on the course page by the end of May. Each student must also register on https://esami.unipi.it/. The examination can only be carried out after the delivery of the project. The project must be delivered one week before when you want to take the exam. Group oral discussions will be preferred in respect of the project groups in order to parallelize any discussion on the project. It is not mandatory to take the oral exam together with the other members of the group. In the event that the oral exam is not passed, it will not be possible to take it for 20 days. If the project is not considered sufficient, it must be carried out again on a new dataset or a very updated version of the current one. ** What: ** The oral test will evaluate the practical understanding of the algorithms. The exam will evaluate three aspects. - Understanding of the theoretical aspects of the topics addressed during the course. The student may be required to write on formulas or pseudocode. During the explanations, the student can use pen and paper. - Understanding of the algorithms illustrated during the course and their practical implementation. You will be asked to perform one or more simple exercises. The text will be shown on the teacher's screen and / or copied to Miro. The student will have to use pen and paper (if online by Miro https://miro.com/ to show how the exercise is solved. - Discussion of the project with questions from the teacher regarding unclear aspects, questionable steps or choices. ** Final Mark: ** for 12-credit exam, the final mark will be obtained as the average mark of DM1 and DM2. ===== Exam Booking Periods ===== * Exam portal link: [[https://esami.unipi.it/|here]] * 1st Appello: from TBD to TBD * 2nd Appello: from TBD to TBD * 3rd Appello: from TBD to TBD * 4th Appello: from TBD to TBD * 5th Appello: from TBD to TBD * 6th Appello: from TBD to TBD ===== Exam Booking Agenda ===== When registering for the oral exam please specify in the notes DM1 if you do not want to do DM2 (that is assumed by default). After having booked for DM1 please contact Prof. Pedreschi to agree on the exam date (put Prof. Guidotti and Andrea Fedele in cc). There will be no agenda for DM1. * 1st Appello - DM1 & DM2: from TBD to TBD (deliver project by TBD) * 2nd Appello - DM1 & DM2: from TBD to TBD (deliver project by TBD) * 3rd Appello: - DM1 & DM2: from TBD to TBD (deliver project by TBD) * 4th Appello: - DM1 & DM2: from TBD to TBD (deliver project by TBD) * 5th Appello: - DM1 & DM2: from TBD to TBD (deliver project by TBD) * 6th Appello: - DM1 & DM2: from TBD to TBD (deliver project by TBD) **Do not forget to make the evaluation of the course!!!** ===== Exam DM1 ====== The exam is composed of two parts: * An **oral exam**, that includes: (1) discussing the project report; (2) discussing topics presented during the classes, including the theory and practical exercises. * A **project**, that consists in exercises requiring the use of data mining tools for analysis of data. Exercises include: data understanding, clustering analysis, pattern mining, and classification (guidelines will be provided for more details). The project has to be performed by min 2, max 3 people. It has to be performed by using Python or any other data mining software. The results of the different tasks must be reported in a unique paper. The total length of this paper must be max 20 pages of text including figures. The paper must be emailed to [[andrea.fedele@phd.unipi.it]] and [[riccardo.guidotti@unipi.it]]. Please, use “[DM1 2024-2025] Project” in the subject. * **Dataset** - Assigned: 15/10/2024 - MidTerm Submission: 15/11/2024 **22/11/2024** (+0.5) (half project required, i.e., Data Understanding & Preparation and Clustering) - Final Submission: 31/12/2024 (+0.5) one week before the oral exam (complete project required). - Dataset: {{ :dm:dm1_dataset_2425_imdb.zip | IMDb}} ** DM1 Project Guidelines ** See {{ :dm:dm1_project_guidelines_24_25.pdf | Project Guidelines}}. ===== Exam DM2 ====== The exam is composed of two parts: * An **oral exam**, that includes: (1) discussing the project report; (2) discussing topics presented during the classes, including the theory and practical exercises. * A **project**, that consists in exercises requiring the use of data mining tools for analysis of data. Exercises include: imbalanced learning, dimensionality reduction, outlier detection, advanced classification/regression methods, time series analysis/clustering/classification (guidelines will be provided for more details). The project has to be performed by min 1, max 3 people. It has to be performed by using Python or any other data mining software. The results of the different tasks must be reported in a unique paper. The total length of this paper must be max 30 pages of text including figures. The paper must be emailed to [[andrea.fedele@phd.unipi.it]] and [[riccardo.guidotti@unipi.it]]. Please, use “[DM2 2023-2024] Project” in the subject. * **Dataset** - Assigned: TBD - MidTerm Submission: 07/05/2024 (Modules 1 and 2 (for TS classification non DL-based models)) - Final Submission: one week before the oral exam (complete project required, also with DL-based models for TS classification). - Dataset: TBD ** DM2 Project Guidelines ** See {{ :dm:dm2_project_guidelines_23_24.pdf | Project Guidelines}}. ===== Past Exams ===== * Past exams texts can be found in old pages of the course. Please do not consider these exercises as a unique way of testing your knowledge. Exercises can be changed and updated every year and will be published together with the slides of the lectures. ===== Reading About the "Data Scientist" Job ===== ** ... a new kind of professional has emerged, the data scientist, who combines the skills of software programmer, statistician and storyteller/artist to extract the nuggets of gold hidden under mountains of data. Hal Varian, Google’s chief economist, predicts that the job of statistician will become the "sexiest" around. Data, he explains, are widely available; what is scarce is the ability to extract wisdom from them. ** //Data, data everywhere. The Economist, Special Report on Big Data, Feb. 2010.// * Data, data everywhere. The Economist, Feb. 2010 {{:dm:economist--010.pdf|download}} * Data scientist: The hot new gig in tech, CNN & Fortune, Sept. 2011 [[http://tech.fortune.cnn.com/2011/09/06/data-scientist-the-hot-new-gig-in-tech/|link]] * Welcome to the yotta world. The Economist, Sept. 2011 {{:dm:economist-2012-dm.pdf|download}} * Data Scientist: The Sexiest Job of the 21st Century. Harvard Business Review, Sept 2012 [[http://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century/ar/1|link]] * Il futuro è già scritto in Big Data. Il SOle 24 Ore, Sept 2012 [[http://www.ilsole24ore.com/art/tecnologie/2012-09-21/futuro-scritto-data-155044.shtml?uuid=AbOQCOhG|link]] * Special issue of Crossroads - The ACM Magazine for Students - on Big Data Analytics {{:dm:crossroadsxrds2012fall-dl.pdf|download}} * Peter Sondergaard, Gartner, Says Big Data Creates Big Jobs. Oct 22, 2012: [[https://www.youtube.com/watch?v=mXLy3nkXQVM|YouTube video]] * Towards Effective Decision-Making Through Data Visualization: Six World-Class Enterprises Show The Way. White paper at FusionCharts.com. [[http://www.fusioncharts.com/whitepapers/downloads/Towards-Effective-Decision-Making-Through-Data-Visualization-Six-World-Class-Enterprises-Show-The-Way.pdf|download]] ====== Previous years ===== * [[dm_ds2023-24]] * [[dm.2022-23ds]] * [[dm.2021-22ds]] * [[dm.2020-21]] * [[dm.2019-20]] * [[dm.2018-19]] * [[dm.2017-18]] * [[dm.2016-17]] * [[dm.2015-16]] * [[dm.2014-15]] * [[dm.2013-14]] * [[dm.2012-13]] * [[dm.2011-12]]