Skip to content

efthimisfytsilis/freeCodeCamp

Repository files navigation

Machine Learning with Python

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.

Projects

  • 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.

Setting Up

git clone https://github.com/efthimisfytsilis/freeCodeCamp.git
cd your-local-path/freeCodeCamp

Contributions and Feedback

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!