https://github.com/omerdahan1/machine_learning_course
This repository contains my solutions and projects for a machine learning course. The course covers various topics and assignments, each of which is organized into separate folders.
https://github.com/omerdahan1/machine_learning_course
data-science python3
Last synced: about 2 months ago
JSON representation
This repository contains my solutions and projects for a machine learning course. The course covers various topics and assignments, each of which is organized into separate folders.
- Host: GitHub
- URL: https://github.com/omerdahan1/machine_learning_course
- Owner: OmerDahan1
- Created: 2024-06-29T14:15:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-30T10:49:27.000Z (about 2 years ago)
- Last Synced: 2025-01-21T13:44:20.748Z (over 1 year ago)
- Topics: data-science, python3
- Language: Jupyter Notebook
- Homepage:
- Size: 8.56 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Machine_Learning_Course
## Overview
This repository contains my solutions and projects for a machine learning course. The course covers various topics and assignments, each of which is organized into separate folders.
## Table of Contents
1. [HW1 - Linear Regression](hw1-Linear-Regression)
2. [HW2 - Decision Trees](hw2-decision-trees)
3. [HW3 - MAP Classifier](hw3-map-classifier)
4. [HW4 - Logistic Regression, Bayes, and EM](hw4-logistic-regression-bayes-and-em)
5. [HW5 - PAC Learning](hw5-pac-learning)
6. [HW6 - Clustering - k-means](hw6-clustering-k-means)
7. [How to Run the Code](how-to-run-the-code)
## HW1 - Linear Regression
### Files
hw1.py
hw1.ipynb
data.csv
### Description
This folder contains my solutions and implementations for Homework 1, which focuses on Linear Regression. It includes the following components:
- Single Variable Linear Regression
- Gradient Descent
- Pseudoinverse
- Forward Feature Selection
- Multivariate Linear Regression
## HW2 - Decision Trees
### Files
hw2.py
hw2.ipynb
agaricus-lepiota.csv
### Description
In Homework 2, I worked on Decision Trees. This folder includes:
- Gini Impurity
- Entropy Value
- Goodness of Split
- Depth Pruning
- Chi Pruning
## HW3 - MAP Classifier
### Files
hw3.py
hw3.ipynb
data directory that contains csv files
### Description
Homework 3 is centered around the MAP Classifier. It comprises:
- Maximum Likelihood Estimation
- Normal Naive Bayes Classifier
- Full Bayes Classifier
## HW4 - Logistic Regression, Bayes, and EM
### Files
hw4.py
hw4.ipynb
data.csv
training_set.csv
test_set.csv
### Description
The fourth assignment delves into Logistic Regression, Bayes, and EM. It encompasses:
- Pearson Correlation & Feature Selection
- Cross-Validation
- Normal Distribution PDF
- Expectation Maximization
- GMM (Gaussian Mixture Model)
- Naive Bayes
- Model Evaluation
## HW5 - PAC Learning
### Files
HW5.pdf
Ex5 PAC-Learnable.ipynb
### Description
Assignment 5 is a comprehensive exercise on PAC learning, VC dimension, kernels, and Lagrange multipliers. The assignment includes both theoretical questions and practical tasks:
- PAC Learning and VC Dimension
- Calculation of VC dimension and sample complexity.
- Polynomial sample complexity algorithm.
- Comparison of sample complexity bounds.
- VC Dimension of Decision Trees
- Analysis of VC dimension for x-node decision trees.
- Kernels and Mapping Functions
- Finding kernel functions and their corresponding mapping functions.
- Efficiency of kernel methods.
- Lagrange Multipliers
- Finding minimum and maximum points under constraints using Lagrange multipliers.
- Notebook Exercise
- Practical implementation and analysis based on the notebook exercises.
## HW6 - Clustering - k-means
### Files
hw6.py
hw6.ipynb
### Description
The sixth and final homework assignment focuses on Clustering with k-means. It includes:
- Implementing k-means and k-means++ algorithms.
- Running each algorithm 10 times.
- Visualizing the performance differences.
## How to Run the Code
1. **Clone the repository:**
```bash
git clone https://github.com/yourusername/machine-learning-course.git
```
2. **Open the appropriate Jupyter notebooks for each assignment:**
- Homework 1:
```bash
jupyter notebook hw1.ipynb
```
- Homework 2:
```bash
jupyter notebook hw2.ipynb
```
- Homework 3:
```bash
jupyter notebook hw3.ipynb
```
- Homework 4:
```bash
jupyter notebook hw4.ipynb
```
- Homework 5:
```bash
jupyter notebook Ex5 PAC-Learnable.ipynb
```
- Homework 6:
```bash
jupyter notebook hw6.ipynb
```