This repository contains the material for the Introduction to Artificial Intelligence course aimed at undergraduate students. The course introduces the theoretical and practical foundations of Machine Learning and Artificial Intelligence through guided tutorials, model-focused exercises, and real-world applications.
The course is organized into thematic units, each including:
- 📘 Tutorials: End-to-end machine learning pipelines for realistic problems.
- 🔬 Practicals: Focused exercises for deepening understanding of specific models.
- 🌐 Web Applications: Deployment of trained models using Flask.
- Topics: risk minimization, generalization, underfitting, overfitting
- Models: linear regression, logistic regression, Principal Component Analysis (PCA)
- Extras: model deployment via Flask
Notebooks:
simple_pipeline.ipynb: Our first pipeline to understand some key concepts: generalization, overfitting, underfitting, error minimization, etc.guia_1.ipynb: Introductory pipeline with housing prices datasetguia_1_extended.ipynb: Extended version with additional features and improved modelguia_2.ipynb: Classification pipeline using astronomical datapractico_1.ipynb: Regression analysis on global temperature datapractico_2.ipynb: Logistic regression for university admission predictionpractico_3.ipynb: PCA on handwritten digitsapp.py: Web application with a deployed regression model
Datasets:
| Notebook | Dataset |
|---|---|
guia_1.ipynb, extended |
Used Houses RM Chile (May 2020) Chilean cities |
guia_2.ipynb |
Stellar Classification SDSS17 |
practico_1.ipynb |
Global Temperature Records |
practico_2.ipynb |
University Admission Chile |
practico_3.ipynb |
Digit Recognizer (MNIST) |
- Unsupervised Learning: K-Means, Agglomerative Clustering, DBSCAN, Gaussian Mixtures
- Supervised Learning: Naive Bayes, K-Nearest Neighbors (KNN), Decision Trees, Random Forest
- Bayesian Reasoning: Illustrations of the sequential nature of Bayes' theorem
Notebooks:
guia_1.ipynb: Clustering with four algorithms on the penguin datasetbayes_1.ipynb,bayes_2.ipynb: Bayes theorem applied to toy examplespractico_1.ipynb: Naive Bayes for tweet sentiment classificationpractico_2.ipynb: KNN classifier to predict Alzheimer's statuspractico_3.ipynb: KNN, decision tree and random forest music genre classifierpractico_4.ipynb: KNN, decision tree and random forest music genre classifier
Datasets:
| Notebook | Dataset |
|---|---|
guia_1.ipynb |
Clustering Penguins |
practico_1.ipynb |
Sentimental Analysis for Tweets |
practico_2.ipynb |
Alzheimer Features |
practico_3.ipynb |
Music features |
practico_4.ipynb |
Spam Text Message Classification |
- Multilayer Perceptron
- Transfer learning and Fine tuning
Notebooks:
practico_1.ipynb: Use a model, apply transfer learning and finetuning.practico_2.ipynb: Basic concepts of dense neural networks.
Datasets:
| Notebook | Dataset |
|---|---|
practico_1.ipynb |
Cats and Dogs |
practico_2.ipynb |
Simulated data |
practico_3_CNN.ipynb |
CIFAR-10 (imported directly from the notebook) |
Install Python 3 and the following libraries:
pip install numpy pandas scikit-learn matplotlib seaborn flask joblib nltkInstall torch following the instructions of Get Started
pip install install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118You may also want:
- Jupyter Notebook or JupyterLab
- VSCode
venvorcondafor environment management
- Clone the repository:
git clone https://github.com/GabrielCabas/ML_Course.git
cd ML_Course- Open the notebooks:
jupyter notebook- (Optional) Run web applications like
app.py:
python unidad_1/app.pyThis course was created by Gabriel Cabas for undergraduate students beginning their journey in Artificial Intelligence.
Contributions, feedback, and pull requests are welcome!
This repository is released under the MIT License. You are free to use, modify, and share the content with appropriate attribution.