My Projects

AI Training & Fine Tuning

Personal project: ML model to find the root of a sentence using Python. Imported libraries from sklearn to define the models and tuned them by defining our own fit and predict functions while also optimizing hyperparameters such as the alfa.

PythonML
AI Training & Fine Tuning
View Details

My Portfolio

Personal project: personal portfolio presented as a website using Astro and TypeScript, then deploying it to Cloudflare. Its main purpose is to showcase my professional skills as well as to practice and hone them even further. I also wanted to try Astro for the first time, as it is a very interesting framework.

TypeScriptAstroCloudflare
My Portfolio
View Details

Paginator

Personal project: simple project to learn the syntaxis of Go and simple code good practices.

Go
Paginator
View Details
AI Training & Fine Tuning

AI Training & Fine Tuning

PythonML

The purpose of this project is to train multiple Machine Learning models to get the best one at finding the root of a sentence given a free tree based in a set of selected features. The data that has been used to train these models is given in multiple languages, one file per language. The features extracted from this data have been analyzed to determine how relevant they are to the model's performance. It is an indispensable step, because the simpler the model the better if the performance is barely affected by the deletion of this feature.

Data has been divided into two parts: the training and the validation portions. The main reason is to avoid overfitting due to bias and variance, and this method is perfect for that. These portions have been modified using the K-Fold Cross-Validation method for k=10, which consists in saving a few portions that are not used for training but to evaluate how good the model is afterwards.

Different models have been tested to compare them and use the best one for this use case. For the training of each model, hyperparameters like alfa and others for each own model have been optimized. Before the training of each of the models feature data has been normalized. The scoring methods used to evaluate the performance of the models are the MSE and the R-squared values, used to quantify the error rate and the accuracy rate of the models respectively.

Key Features

  • Training of multiple ML models
  • Find root of free tree
  • Optimization of hyperparameters
  • Two different score evaluators

Technologies Used

  • Python
My Portfolio

My Portfolio

TypeScriptAstroCloudflare

Personal portfolio presented as a website using Astro and TypeScript, then deploying it to Cloudflare. Its main purpose is to showcase my professional skills as well as to practice and hone them even further. I also wanted to try Astro for the first time, as it is a very interesting framework. It has four main pages that I plan on updating and maintaining:

  • Home: it is a simple home page that presents the 3 most relevant projects that I have worked on. Clicking on them leads you to the Projects page which we will explain later.

  • Timeline: this page shows a timeline of my professional life, as well as my studies or additional courses that are relevant to mention.

  • Projects: clicking on this page allows the user to see all the projects I have worked on, all the details of each project and a link to see them in GitHub. When only the README file is visible it means that the main project is private. This project of my portfolio is the best example of this.

  • About me: page that contains information about my life, my skills and my contact, as well as an image of myself.

Key Features

  • Summary of professional life
  • Showcase professional abilities
  • Learn how to use Astro
  • Deployment using Cloudlare

Technologies Used

  • TypeScript
  • Astro
  • Cloudflare
Paginator

Paginator

Go

This program receives a file with only one line as an input and returns an output file that is paginated in the following manner:

  • All pages have 25 lines.
  • Each line as 80 characters.
  • Everything is coded in extended ASCII (0-255).
  • Each line has a new line symbol at the end.
  • There is an end of page symbol at the end of the page.
  • Page number occupies 1 unsigned integer (4 bytes), meaning the maximum number of pages allowed for this program is 2³²-1.
  • New line symbol occupies 1 byte (0x0A in ASCII).
  • Line 25 of each page has 5 less bytes of information (used up by end of page symbol + page number).
  • Lines 1-24 have 79 bytes of information from the original file, line 25 has only 75 bytes.

Key Features

  • Paginate sentences given a file with one line
  • Learn how to use go

Technologies Used

  • Go