This is the repository for our 10 week Data Mining and Machine Learning Module (CS909 and CS429) (previously Data Mining) at the University of Warwick by Fayyaz Minhas.
Videos and class questions for each week
Various Demos Can be accessed as: https://foxtrotmike.github.io/CS909/.html
(e.g., https://foxtrotmike.github.io/CS909/association.html)
This file lists each top-level file in the repository with a short description of what it contains or does.
0_to_AI_in_10_Lines_of_Python.ipynb: Introductory Jupyter tutorial showing a concise pipeline to train an image classifier with fast.ai and demonstration code.2024/,2025/,2026/: Year-based folders containing assignment data and small CSVs (train/test splits and readmes).2026_Assignment_2.ipynb: Notebook for 2026 assignment 2 (student coursework notebook).AND-NEURON.html: HTML explanation/visualization of an AND neuron (logic neuron tutorial page).Assignment_2.ipynb: Another assignment notebook (coursework / tutorial notebook).Attention_Kernels.ipynb: Notebook exploring attention mechanisms and kernel interpretations.Attention_XOR.html: Attention/Transformer based implementation of XOR classification (Demo).CPHHR.ipynb: Notebook likely related to a course or project (CPHHR) — detailed content in notebook cells.DM_1_kNN.ipynb: Notebook about k-NN (k-nearest neighbours) for data mining coursework.DSVC.ipynb: Notebook demonstrating or explaining differentiable support vector clustering.GPGen.ipynb: Notebook related to Generating Synthetic Time Series Data with Gaussian Processes.HSVHistoCompare.ipynb: Notebook to Calculate the histogram similarity of Hue and Saturation between two images..ICA_Tutorial.ipynb: Independent Component Analysis tutorial notebook.JEPA.ipynb: Notebook on JEPA (Joint Embedding Predictive Architecture) concepts or experiments.MDS_tutorial.ipynb: Multidimensional scaling tutorial notebook.MinimalDM.ipynb: Minimal diffusion model tutorial notebook.PVI.ipynb: Notebook for Understanding Dataset Difficulty with V-Usable Information.README.md: Repository README with course links, module description and pointers to resources.RMT.ipynb: Random Matrix Theory based dimensionality reduction and classification.SS.pdf: PDF included in repo (content unspecified in summary).SVC.ipynb: Notebook demonstrating Support Vector Classification examples.affine_transformation.ipynb: Notebook implementing and demonstrating affine transformations and recovery (includes classAffineTransformation).association.html: Interactive demo (mean, variance, covariance, correlation, entropy, KL divergence, mutual information, total correlation)attention.html: representation of a query token changes in a transformer based on its relation to other tokens and the specified transformationautodiff_backprop.ipynb: Notebook about automatic differentiation and backpropagation. See alsobackprop.htmlautodiff_forward.ipynb: Notebook about forward-mode automatic differentiation.autoenncoders.ipynb: Notebook on autoencoders (note: filename contains a small typo).backprop.html: Demo about automatic differentiation and backpropagation (See also `autodiff_backprop.ipynb).barebones.ipynb: Minimal Representation, Evaluation and Optimization Framework in PyTorchbarebones_tsvm.ipynb: Notebook showing a barebones Transductive SVM.barebones_tsvm_clean.ipynb: Cleaned variant of the barebones TSVM notebook.barebones_tsvm_clean_moons.ipynb: TSVM demo using moon-shaped dataset.bitgpt.html: A minimal binary GPT implementation that also presents connections of Large Models with Finite State Automata and Turning Machines.barebones_tsvm_cleaned.ipynb: Another cleaned variant of TSVM examples.brevitas.ipynb: Notebook possibly demonstrating brevitas quantized models.clustering_pytorch.ipynb: Notebook with clustering examples implemented in PyTorch.ci.html: Demonstrates the concept of confidence intervalscnn_kernels.html: Learning filters and kernels (see learn_filters.py/ipynb)cnn_mnist_pytorch.ipynb: CNN tutorial for MNIST implemented in PyTorch.denoising_local_pca.ipynb: Notebook demonstrating denoising with local PCA.distance_dot.html: HTML explaining distance measures and dot products.dm_lab_2_fm.ipynb: Data-mining lab notebook (likely lab 2 by Fayyaz Minhas).eigen.html: HTML overview of eigenvalues/eigenvectors.evaluation_example.ipynb: Notebook with evaluation metrics / examples.fourier.html: HTML version of the Fourier notebook/tutorial.fourier.ipynb: Tutorial notebook illustrating Fourier transform via a neural-network-style representation and examples (FourierNet).fourier_phase.ipynb: Notebook exploring Fourier phases and related visualizations.gd.py: Small Python module implementing gradient descent (gd) and plotting helpers; includes example usages.gibbs.html: HTML notes or visualisation about Gibbs sampling.gmm_ecdf_time_normalise.ipynb: Time-Adjusted Normalization of Multivariate Measurementsgmm_time_normalise.ipynb: Time-Adjusted Normalization of Multivariate Measurements [Improved].gpt_finite_state.ipynb: Notebook exploring GPT as a finite-state markov chain.gradients.html: HTML notes about gradients and differentiation.harris.html: HTML notes or demo relating to the Harris corner detector.height_weight_information.ipynb: Notebook Measuring association between variables: from variance to information.highdimensiondistance.py: Script that plots contrast between max/min norms in high-dimensional spaces (demonstrates curse of dimensionality behavior).highdimensions.ipynb: Notebook exploring high-dimensional phenomena (distance concentration etc.).in.jpg: Image used by example notebooks / demos.inferring_causality.ipynb: Notebook on causality inference topics.ipca.html: PCA in 2D: choose components, see reconstruction and per-point vector sum.keras_barebones.ipynb: Minimal examples using Keras.kernelizedSVM_pytorch.py: Demonstration implementation of both linear and kernelized SVM in PyTorch with plotting helpers and aKernelSVMclass.kernelized_pca_visualization.ipynb: Tutorial on visualising Kernel PCA projections and projection curves (contains explanations and plots).kernelized_predictor.html: HTML demo of a kernelized predictor / tutorial.kfold-test.ipynb: Notebook showing k-fold cross-validation examples.knn.html: HTML notes/demos for k-nearest neighbours.learn_filters.ipynb: Notebook on learning convolutional filters (shows training a small conv filter to match a target).learn_filters.py: Small PyTorch script that learns a 2D convolutional filter from an image and visualises learned kernel (see cnn_kernels.html demo as well)lines.html: HTML notes about line detection or transformations.lpips.ipynb: Notebook exploring LPIPS perceptual similarity metric.mcdonald.html: Lagrange multipliers tutorial.minimal_VQVAE.ipynb: Minimal variational VQVAE notebook.mixed_effects_model_tutorial.ipynb: Tutorial notebook on mixed effects statistical models.mnist_transformer.ipynb: Notebook demonstrating transformer architectures on MNIST.molecules_graphs.ipynb: Notebook on molecular graphs and graph-based representations.mosvm_pytorch.ipynb: Notebook for a multioutput variant of SVM (MOSVM) in PyTorch.multilinear.ipynb: Notebook on Multilinear Layer with Additive and Multiplicative Combinations.nn_optimization.ipynb: Understanding Optimization and Convergence Issues in Neural Networks.nn_optimization_comparison.ipynb: Comparison of Neural Network optimizers.pca.html: HTML notes on PCA.pca_finding_K.ipynb: Notebook for selecting number of principal components (K) in PCA.perceptron.py: Simple Perceptron implementation withfit,predict,scoreand demo plotting usingplotit.perceptron_video.py: Script to create an animation or demo video for perceptron learning (visualisation helper).performance_demo.html: Binary Classifier Metrics Demo with live metrics + ROC + PR + threshold curves.plotit.py: 2D scatter plotting utility used across demos for plotting data and decision boundaries (plotitfunction andgetExamples).pvalues.ipynb: Notebook exploring p-values and statistical testing.pytorch_conv.py: Script / demo creating convolution examples in PyTorch (Filter module and demos for learned kernels).pytorch_mlp_mnist.ipynb: Notebook training an MLP on MNIST using PyTorch.pytorch_nn_barebones.ipynb: Barebones PyTorch neural network examples.radar.html: Demo explaining how convolution and correlation emerge (for use with convolutional neural networks)regper.ipynb: Notebook on regularised perceptron.regression.html: HTML notes about regression methods.regression.ipynb: Notebook with regression examples and diagnostics with sk-learn.regression_residuals.ipynb: Tutorial on Regression.resnet_mnist.ipynb: Notebook training ResNet on MNIST dataset.rgb2hed.ipynb: Notebook converting RGB to HED color space (stain deconvolution for histology images).simpleGAN.ipynb: Notebook implementing a simple GAN (generative adversarial network) demo.soft_decision_tree_pytorch.ipynb: Notebook on differentiable/soft decision trees implemented in PyTorch.time_normalise.ipynb: Notebook on time series normalization techniques.transformation.html: HTML notes on geometric transformations.transformations.ipynb: Notebook covering geometric transformations and examples.trees.ipynb: Notebook covering decision trees and tree-based methods.uniapprox.html: Demo on universal approximation.uniapprox.ipynb: Notebook on universal approximation.vapnik.ipynb: Notebook discussing Vapnik's theories (statistical learning theory / SVMs).vapnik2.ipynb: Follow-up notebook tovapnik.ipynbwith more examples.xor_gnn.ipynb: Notebook applying graph neural networks (GNNs) to XOR problems.xor_gpt_finite_state.ipynb: Notebook experimenting with GPT-like models on finite-state XOR tasks.xor_transformer.ipynb: Transformer-based experiments solving XOR tasks.xornet_batch_normalization.ipynb: XOR network experiments with batch normalization.
Notes:
- Descriptions are concise and intended for quick orientation; open a notebook or script for full details and examples.