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:
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:
- Reddit Bot vs. Human
- Airline Passenger Satisfaction
- Heart Failure Prediction
- Work From Home Employee Burnout
- Apple Quality
- Housing Price Prediction Data
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ă:
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ță.
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:
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.
Task 2: Identificare outliers
Termen limită: săptămâna 6
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
Termen limită: săptămâna 6
- analiză univariată: medie +- k*sd, regula 1.5IQR
- analiză multivariată
- utilizând distanțe Mahalanobis: distanța Mahalanobis; aplicații; Mahalanobis outliers în R
- local outlier factor: LOF paper; LOF în R
- metode de proiecție: extensii Stahel-Donoho pentru distribuții asimetrice, pachetul mrfDepth
- autoencoders: autoencoders on keras blog; detecție tranzacții frauduloase în keras
- arbori de decizie: Isolation forest, pachet R
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
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
Deadline: week 6
- univariate analysis: mean ± k*sd, 1.5IQR rule
- multivariate analysis
- using Mahalanobis distances: Mahalanobis distance; applications; Mahalanobis outliers in R
- local outlier factor: LOF paper; LOF in R
- projection methods: Stahel-Donoho extensions for skewed distributions, the mrfDepth package
- autoencoders: autoencoders on keras blog; fraudulent transaction detection in keras
- decision trees: Isolation forest, R 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.
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:
- Algoritmii ierarhici: single link, complete link, average link, Ward variance
- Algoritmi bazați pe densitate: DBSCAN sau variații
- Algoritmul k-Means
- Expectation-Maximization (EM) clustering
- Self-organizing maps (SOM)
-
Materiale de studiu:
- Secțiunile 6.6, 7.6 din Data Mining - Practical Machine Learning Tools and Techniques
- Short tutorial in R , Wiki R
- Compararea a două partiții: Adjusted Rand Index
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.
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:
- Hierarchical algorithms: single link, complete link, average link, Ward variance
- Density-based algorithms: DBSCAN or variations
- k-Means algorithm
- Expectation-Maximization (EM) clustering
- Self-organizing maps (SOM)
-
Study materials:
- Sections 6.6, 7.6 from Data Mining - Practical Machine Learning Tools and Techniques
- Short tutorial in R , Wiki R
- Comparing two partitions: Adjusted Rand Index
Task 4: Association Rules Mining
Termen limită: săptămâna 11
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
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
Alte legături utile:
Competitive data science -curs online oferit pe Coursera
Mining of Massive Datasets book
Kaggle in-class competitions
Kaggle sponsored competitions
Competitive data science -curs online oferit pe Coursera
Mining of Massive Datasets book
Kaggle in-class competitions
Kaggle sponsored competitions
Other useful links:
Competitive data science - online course offered on Coursera
Mining of Massive Datasets book
Kaggle in-class competitions
Kaggle sponsored competitions
Competitive data science - online course offered on Coursera
Mining of Massive Datasets book
Kaggle in-class competitions
Kaggle sponsored competitions
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:
Modelele dezvoltate trebuie validate și comparate prin procesul de validare încrucișată.
Mai multe despre temă aici
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).
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:
The developed models must be validated and compared through the cross-validation process.
More about the assignment here
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).
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