Welcome to my repository showcasing the projects I completed as part of the freeCodeCamp "Machine Learning with Python" course. These projects cover a range of machine learning concepts and applications. Feel free to explore each project's folder for more details.
-
Description: Introduction to Reinforcement Learning, by implementing the Q-Learning algorithm.
-
Files:
rps_game.py
: Provides boilerplate code containing four different opponent strategies to compete with our agent.rps_agent.py
: Our agent implementation via a QLearning class.rps_agent_ens.py
: Modified agent to be used in an ensemble model.test_script.ipynb
: Simulating our bot competting against the others, displaying its win rate. Additionally, an alternative method that incorporates several instances of the agent (ensemble) is presented.
-
Description: Implementation of a CNN that correctly classifies images of cats and dogs.
-
Files:
cat_dog_classification.ipynb
: The training dataset undergoes augmentation through random transformations applied to the existing samples. A comparison is conducted between the deployed CNN and a pre-trained MobileNetV2 model to which a classifier layer is added to generate a transfer learning model.
-
Description: Development of a model that suggests books similar to a given book using the Nearest Neighbors algorithm.
-
Files:
book_recommendation_knn.ipynb
: Exploratory analysis of the book and rating dataframes is conducted. Model learns to identify books that are similar to each other based on the user ratings.
-
Description: Predict healthcare costs of individuals using a regression algorithm.
-
Files:
predict_health_costs_with_regression.ipynb
: Preprocessing involves the transformation of both numeric and categorical features. During the modeling stage, linear regression and gradient boosting models serve as a baseline and are compared to a dense NN, employed with the premise to capture more complex relationships within the data.
-
Description: Introduction to NLP, by a machine learning model that predicts whether an SMS message is "ham" or "spam."
-
Files:
sms_text_classification.ipynb
: An imbalance in labels is idintified, resulting to thoughtful consideration to determine the appropriate course of action. The text messages undergo preprocessing, and a bag-of-words model is constructed using linear regression as a baseline. Additionally, a dense neural network is implemented for comparative analysis, based on word embeddings.
git clone https://github.com/efthimisfytsilis/freeCodeCamp.git
cd your-local-path/freeCodeCamp
- List of dependencies to run the projects:
requirements.txt
.
I hope this repository serves as a valuable resource for exploring machine learning concepts in Python, catering to those in the early stages of their journey.
Lastly, I want to convey special thanks to the author of this Reddit post for offering such useful guidelines!