This repository is a comprehensive collection of assignments for the Programming for Artificial Intelligence (Python) course. Designed with a clear focus on logical progression and skill mastery, it provides students with a solid foundation in Python programming, data analysis, and machine learning. Each assignment is meticulously organized into separate directories, containing Jupyter notebooks and HTML renderings to facilitate both hands-on practice and quick reviews.
The repository not only covers foundational concepts but also extends to advanced machine learning techniques, ensuring an incremental learning experience. Solution files with detailed explanations are included for deeper understanding and self-assessment.
The repository is structured to promote clarity and accessibility. Each homework assignment builds upon the previous one, integrating foundational concepts with advanced techniques.
-
hw1/
- Python Fundamentals- Introduces variables, control structures, functions, and basic data visualization with Matplotlib.
- Exercises focus on arithmetic operations, loops, and plotting graphs.
Files:hw1 林澈 15220202205098.ipynb
,hw1 林澈 15220202205098.html
-
hw2/
- Ordinary Least Squares Regression- Covers OLS estimation, statistical concepts, and regression result visualization.
- Exercises include implementing linear regression and analyzing residuals.
Files:hw2 林澈 15220202205098.ipynb
,hw2 林澈 15220202205098.html
-
hw3/
- Advanced Python Programming- Explores generators, iterators, decorators, and advanced data processing techniques.
- Exercises emphasize practical use of Python's advanced features.
Files:hw3 林澈 15220202205098.ipynb
,hw3 林澈 15220202205098.html
,hw3 林澈 15220202205098(updated).html
-
hw4/
- Logistic Regression and Gradient Descent- Introduces logistic regression models and gradient descent optimization.
- Includes visualization of decision boundaries and classifier performance.
Files:hw4 林澈 15220202205098.ipynb
,hw4 林澈 15220202205098.html
-
hw5/
- Object-Oriented Programming- Focuses on classes, inheritance, encapsulation, and abstraction.
- Exercises involve creating class hierarchies and applying OOP principles.
Files:hw5 林澈 15220202205098.ipynb
,hw5 林澈 15220202205098.html
-
hw6&7/
- AdaBoost and Visualization- Explains ensemble methods and AdaBoost implementation.
- Emphasizes performance visualization and Iris dataset plotting.
Files:hw67 林澈 15220202205098.ipynb
,hw67 林澈 15220202205098.html
,plotiris.py
-
hw8/
- Data Manipulation with Pandas- Covers DataFrame operations, cleaning, preprocessing, and exploratory data analysis (EDA).
- Exercises include inspecting datasets, EDA, and data visualization with Seaborn.
Files:hw8 林澈 15220202205098.ipynb
The solutions/
directory consolidates step-by-step solutions for all assignments. Each solution provides clear explanations, annotated code, and insights to enhance understanding.
Files: hw1_solution.ipynb
, hw2_solution.ipynb
, ..., hw6_solution.ipynb
- Clone the Repository:
git clone <repository-url>
- Navigate to the Desired Directory:
cd hw1/
- Open the Jupyter Notebook:
jupyter notebook
- Explore the
.ipynb
files for interactive learning or.html
files for quick reference.
To fully utilize the repository, ensure you have the following installed:
- Python 3.x
- Jupyter Notebook
- Libraries:
NumPy
,Pandas
,Matplotlib
,Seaborn
,Scikit-learn
This project is licensed under the Modified BSD License. Refer to the LICENSE
file for terms and conditions.
This repository represents a methodical and disciplined approach to mastering AI programming concepts. It is designed for learners who value structure, logical progression, and hands-on practice. Whether you are solidifying your foundation or exploring advanced topics, this repository serves as a resource to enhance both your theoretical understanding and practical expertise.