Discord: https://discord.gg/nrJ9VrY9

Fisa disciplinei

Temele de laborator necesită alegerea unui set de date care să conțină atribute numerice și categoriale și să se preteze unei sarcini de clasificare. Vă rugăm să alegeți un dataset dintre următoarele:

Course syllabus

The laboratory assignments require choosing a dataset that contains numerical and categorical attributes and which is suitable for a classification task. Please select one dataset from the following:

Analiza va fi realizată în R (este indicată utilizarea RStudio) sau Python (Jupyter Notebooks) și rezultatele vor fi prezentate ca "notebooks" ce înglobează cod, rezultate, grafice și interpretare a rezultatelor ca secvențe de text. Ca mediu de lucru se poate utiliza Google Colab.
The analysis will be carried out in R (the use of RStudio is recommended) or Python (Jupyter Notebooks), and the results will be presented as "notebooks" that include code, outputs, graphs, and interpretation of the results as text sections. As a working environment, Google Colab may be used.

Task 1: Analiza exploratorie a datelor
Termen limită: săptămâna 3

Analiza exploratorie reprezintă primul contact cu datele: se identifică tipul variabilelor, distribuția acestora, se caută posibile dependențe între acestea, se vizualizează datele și se caută posibile valori aberante. Pentru setul de date ales efectuați o analiză exploratorie care să conțină:
  • analiza univariată - descrierea variabilelor prin metode ale statisticii descriptive: tendința centrală, împrăștierea, forma distribuției (skewness, kurtosis), frecvențe pt. atribute categoriale, grafice (boxplots, histograme, densitate)
  • Analiza bivariată/multivariată - studiul dependenței variabilelor prin calcul de corelații, teste de independență, teste ce compară mai multe populații (precum testul mediilor), vizualizare (scatter plots pe combinații de 2 variabile; grafice 3D; scatter plots pe componente principale; mapări neliniare în spațiu bi-dimensional: Sammon, t-SNE, uMap; proiecții extrase prin metodologii projection pursuit - pachetul tourr în R; boxplots condiționate; histograme stivuite sau suprapuse; corrgrams)
  • în vederea unei analize ulterioare prin clasificare, identificați variabilele care au putere predictivă pentru variabila țintă. Utilizați boxploturi condiționate și teste de independență.
Materiale utile:
Task 1: Exploratory Data Analysis
Deadline: week 3

Exploratory analysis represents the first contact with the data: identifying variable types, their distribution, searching for possible dependencies between them, visualizing the data, and identifying potential outliers. For the chosen dataset, perform an exploratory analysis that includes:
  • Univariate analysis - describing variables through descriptive statistics methods: central tendency, dispersion, distribution shape (skewness, kurtosis), frequencies for categorical attributes, and charts (boxplots, histograms, density plots).
  • Bivariate/Multivariate analysis - studying variable dependency through correlation calculations, independence tests, and tests comparing multiple populations (such as the test of means); visualization (scatter plots on combinations of 2 variables; 3D plots; scatter plots on principal components; non-linear mappings in bi-dimensional space: Sammon, t-SNE, uMap; projections extracted via projection pursuit methodologies - the tourr package in R; conditional boxplots; stacked or overlapped histograms; corrgrams).
  • In view of a subsequent classification analysis, identify the variables that have predictive power for the target variable. Use conditional boxplots and independence tests.
Useful materials:
Task 2: Identificare outliers
Termen limită: săptămâna 6

Utilizați metodele de mai sus (cele univariate și măcar patru din cele multivariate) pentru a identifica outliers pe un set de date ales de aici. În cazul ultimului set, outlierii sunt marcați (etichetați) și se vor raporta scorurile precision și recall . Pentru citirea fișierului de date .mat în R utilizați funcția readMat din pachetul R.matlab.


Aplicați cele două metode univariate și cele 4 multivariate de asemenea pe datasetul de la taskul 1 și pentru acestea determinați o intersecție a tuturor rezultatelor metodelor diferite utilizate.

Analizați ce metode au nevoie de standardizarea datelor și doar pentru acestea realizați standardizarea datelor înaintea aplicării metodelor.

Mai multe detalii aici

Alte materiale utile:
Proiecții neliniare
Task 2: Outlier Identification
Deadline: week 6

Use the methods above (the univariate ones and at least four of the multivariate ones) to identify outliers on a dataset chosen from here. In the case of the latter set, outliers are marked (labeled) and the precision and recall scores shall be reported. To read the .mat data file in R, use the readMat function from the R.matlab package.


Apply the 2 univariate and the 4 multivariate methods as well on the dataset from Task1 and compute an intersection of the output of all different algorithms.

Think about which methods require standardized data and perform only for these methods a standardization of the data beforehand.

More details here

Other useful materials:
Non-linear projections
Task 3: Analiză prin clasificare nesupervizată (clustering)
Termen limită: săptămâna 9

Clasificarea nesupervizată (clustering) are ca scop identificarea de grupuri naturale în date. Există o largă varietate de tehnici de clasificare nesupervizată care, depinzând de setul de date supus analizei, partiționează datele în mod diferit. Scopul acestei teme este de a înțelege principiile ce stau în spatele fiecărei metode de clustering și, drept urmare, a alege cea mai potrivită metodă a fi aplicată într-un context dat.
Seturile de date pe care veți aplica algoritmii conțin atât date reale (setul iris), precum și date artificiale ce urmează diverse distribuții, unele generate special pentru acest laborator. Ultima coloană va fi exclusă înainte de aplicarea algoritmilor, aceasta conținând atributul clasă, utilizat doar pentru a evalua calitatea clusterizării cu indici externi de validare. Seturile de date vor fi descărcate de aici și vor fi vizualizate utilizând grafice simple de tip scatter plot.
Cele mai multe metode necesită stabilirea prealabilă a numărului de grupuri. Există însă și modalități de identificare automată, precum reprezentarea grafică a unui index numeric în funcție de numărul de grupuri, urmată de identificarea unui cot pe grafic ("elbow") sau maximizarea unui scor precum Silhouette-Width.
    Metodele de clasificare nesupervizată cu care se va lucra în cadrul acestei teme:
  1. Algoritmii ierarhici: single link, complete link, average link, Ward variance
  2. Algoritmi bazați pe densitate: DBSCAN sau variații
  3. Algoritmul k-Means
  4. Expectation-Maximization (EM) clustering
  5. Self-organizing maps (SOM)
Descrierea temei se regăsește aici
Task 3: Unsupervised Classification Analysis (Clustering)
Deadline: week 9

Unsupervised classification (clustering) aims to identify natural groups within data. There is a wide variety of unsupervised classification techniques which, depending on the dataset under analysis, partition the data differently. The goal of this assignment is to understand the principles behind each clustering method and, consequently, to choose the most appropriate method to be applied in a given context.
The datasets you will apply the algorithms to contain both real-world data (the iris set) and artificial data following various distributions, some specifically generated for this lab. The last column will be excluded before applying the algorithms, as it contains the class attribute, used only to evaluate the quality of the clustering with external validation indices. The datasets can be downloaded here and will be visualized using simple scatter plots.
Most methods require the prior determination of the number of groups. However, there are automatic identification methods such as the graphical representation of a numerical index versus the number of groups, followed by identifying a "knee" or "elbow" on the graph, or maximizing a score such as Silhouette-Width.
    Unsupervised classification methods to be used in this assignment:
  1. Hierarchical algorithms: single link, complete link, average link, Ward variance
  2. Density-based algorithms: DBSCAN or variations
  3. k-Means algorithm
  4. Expectation-Maximization (EM) clustering
  5. Self-organizing maps (SOM)
The detailed task description can be found here
Task 4: Association Rules Mining
Termen limită: săptămâna 11

    Pentru setul de date de la primul task extrageți reguli de asociere utilizând ca Python sau R. Fixați diverse valori pentru suport și încredere și comparați mulțimile de reguli rezultate. Identificați regulile ce pot primi o interpretare utilă.
    Mai multe despre temă aici
Task 4: Association Rules Mining
Deadline: week 11

    For the dataset from the first task, extract association rules using Python and/or R. Set various values for support and confidence and compare the resulting sets of rules. Identify rules that can be given a useful interpretation.
    More about the assignment here
Task 5: Analiza prin clasificare supervizată
Termen limită: săptămâna 14

Scopul acestui task este de a lucra cu cei mai populari algoritmi de clasificare supervizată.
Fiecare echipă va lucra cu următorii algoritmi de clasare:
  • arbori de decizie (utili într-o primă fază pentru a descoperi atributele mai relevante), clasificatorul Bayes naiv, kNN
  • rețele neuronale
  • SVM
  • strategii de tip bagging (random forest) și strategii de tip boosting (xgBoost).
Fiecare algoritm va necesita o etapă de optimizare empirică a hiper-parametrilor.
Modelele dezvoltate trebuie validate și comparate prin procesul de validare încrucișată.

Mai multe despre temă aici
    Materiale de studiu:
  • capitolul 5 din Data Mining - Practical Machine Learning Tools and Techniques
  • Support Vector Machines
Task 5: Analysis through Supervised Classification
Deadline: week 14

The goal of this task is to work with the most popular supervised classification algorithms.
Each team will work with the following classification algorithms:
  • decision trees (useful in an initial phase to discover the most relevant attributes), Naive Bayes classifier, kNN
  • neural networks
  • SVM
  • bagging strategies (random forest) and boosting strategies (xgBoost).
Each algorithm will require a stage of empirical hyper-parameter optimization.
The developed models must be validated and compared through the cross-validation process.

More about the assignment here
    Study materials:
  • Chapter 5 from Data Mining - Practical Machine Learning Tools and Techniques
  • Support Vector Machines