# TikTok Algorithm with Machine Learning

The discovery of the TikTok Algorithm is a very popular and powerful recommendation system. Similar to Netflix and YouTube, the TikTok algorithm works out of you. It can only provide you with profiled recommendations if you use the app by interacting with it in some way. In this article, I’ll walk you through how to build a TikTok algorithm with Machine Learning.

Just think about how long a person can watch a video, which videos he watches, which ones he skips, which ones he likes and on what videos he comments on, etc. These are features that we have to take into account to feed the algorithm.

TikTok has graciously shared the conceptual workings of their algorithm on its website. It focuses on the concepts of the algorithm, rather than the code, so here I’m going to apply those concepts to the code and share a simple guide to creating this type of popular algorithm.

## How the TikTok Algorithm Works?

The TikTok algorithm splits into two types of recommendation algorithms which can ultimately be formed into a single ensemble-type algorithm, namely collaborative filtering and content-based filtering.

### Collaborative Filtering

Collaborative filtering works by comparing you to others. Lets’s say you are new to this app and you start liking a video, you will start to see the recommended videos. These videos are the videos that other people like, who also liked the same past videos of you. This type of recommendation is technically called alternating least squares and matrix factorization.

### Content-Based Filtering

Content-based filtering works by comparing video attributes to suggest similar videos sharing those same attributes. The basic idea of this recommendation is the cosine similarity in this case. Think about attributes of the video like length, sound, and text. These features are used to recommend videos that carry similar attribute values.

## Let’s Code The TikTok Algorithm

Now, how do you implement the concepts of Collaborative-Filtering and Content-Based filtering to create a TikTok algorithm? Let’s see how we can code the TikTok algorithm with Machine Learning.

#### Collaborative-Filtering:

You need to start by importing your essential libraries from PySpark first. Next, you need to load your data and create a pandas dataframe. Then you divide your data into a train and a test. Then, you will adapt your ALS model (alternation of least squares).

Next, you need to make predictions and evaluate the model against a designated metric; in this case, it was RMSE. Finally, you can print the video recommendations based on the columns or features that you have chosen to include in your user interaction dataset:

#### Content-Based Filtering:

This code is relatively simple, but you can also expand it. Essentially, you will import your libraries and use the consine_similarity library which will calculate the videos from the past, to suggest similar videos as recommendations:

I hope you like this article on the TikTok Algorithm with Machine Learning. These algorithms can be used not only for TikTok recommendations but also for other similar platforms. Feel free to ask your valuable questions in the comments section below.