# Movie Recommendation -------------------------------------------------------------------------------- title: "Introduction" description: "Create a powerful ML pipeline that analyzed historic Movie data and gives meaningful recommendation using the Catalyst QuickML components." last_updated: "2026-08-20T10:20:36.197Z" source: "https://docs.catalyst.zoho.com/en/tutorials/movie-recommendation/introduction/" service: "All Services" -------------------------------------------------------------------------------- # Movie Recommendation Tutorial # Introduction This tutorial will guide you through building a movie recommendation model using **Catalyst QuickML**. The model predicts movies that a user is most likely to enjoy by analyzing historical interactions between users and movies. We'll provide you with a sample dataset that can be used as the data source for the model. Before proceeding with the steps, let’s understand the basics of a recommendation system. A recommendation system is a branch of machine learning that focuses on predicting user preferences and delivering personalized suggestions. It does this by analyzing factors such as past user interactions, behavior patterns, item attributes, and demographic data. These systems are widely applied in domains like ecommerce, media streaming, and social networking, helping users discover relevant products, movies, books, or other content tailored to their interests. By providing personalized suggestions, recommendation systems enhance user satisfaction, boost engagement, improve retention, and drive business growth by presenting the most relevant options for each user. To learn more about recommendation models, their types, and evaluation metrics, refer to our help document. Now, let's have a quick overview of the tutorial. 1. Pre-process the Dataset Begin by [cleaning and preparing the datasets](https://docs.catalyst.zoho.com/en/quickml/help/data-preprocessing/data-cleaning/) — typically a Item features dataset (movie attributes), Interaction dataset (movie rating attributes), and User features dataset (user attributes). This step involves handling missing values, encoding categorical fields, and applying necessary data transformations to make the data ready for training. 2. Build the Unified Recommendation Pipeline In Catalyst QuickML, you can create a single [pipeline](https://docs.catalyst.zoho.com/en/quickml/help/create-data-pipeline/) for a recommendation model that integrates both data preprocessing and ML operations. Use [node operations](https://docs.catalyst.zoho.com/en/quickml/help/operations-in-quickml/encoding/) to perform tasks such as selecting or dropping fields and applying the appropriate encoder to transform categorical variables. Next, link the processed datasets directly to your chosen [recommendation algorithm](https://docs.catalyst.zoho.com/en/quickml/help/ml-algorithms/recommendation/) within the same pipeline. QuickML will then automatically evaluate the trained model to assess its accuracy and recommendation quality—delivering a unified, reusable workflow for your end-to-end process. 3. Deploy the Model via Endpoint Once trained, generate an [endpoint URL](https://docs.catalyst.zoho.com/en/quickml/help/pipeline-endpoints/) in QuickML. This endpoint allows external applications to send user or item data and receive real-time movie recommendations from the model. The final output, after creating all of the required data and ML pipelines in the [Catalyst console](https://console.catalyst.zoho.com/baas/index), will look like this: -------------------------------------------------------------------------------- title: "Prerequisites" description: "Create a powerful ML pipeline that analyzed historic Movie data and gives meaningful recommendation using the Catalyst QuickML components." last_updated: "2026-08-20T10:20:36.198Z" source: "https://docs.catalyst.zoho.com/en/tutorials/movie-recommendation/prerequisites/" service: "All Services" related: - Machine Learning Algorithms (/en/quickml/help/ml-algorithms/classification-algorithms/) -------------------------------------------------------------------------------- # Prerequisites Since this tutorial is focused solely on Catalyst QuickML, all tasks—including building data and ML pipelines, creating models, and training them for recommendations—will be performed within the [Catalyst console](https://console.catalyst.zoho.com/). Before getting started, download the following datasets: * [Item_features_dataset.csv](https://workdrive.zohoexternal.com/external/9fd00bbcd32180b5dcc4c053314a424e8fff6c417dbe55004dc1908f78b7a58f): Contains movie-related details, such as titles, release dates, and genres * [Interaction_dataset.csv](https://workdrive.zohoexternal.com/external/d7cdd2670e6717d9e086769e897988af5f7ae2009cdc6b6cd263cb863c991428): Contains movie rating details * [User_features_dataset.csv](https://workdrive.zohoexternal.com/external/ed8754d1345b3814062040bc80dcacc5e7587b3332284a26feb97df5983d2a4c): Contains user information such as user ID, age, gender, and occupation This tutorial will guide you through cleaning, refining, and preprocessing these datasets, which will then be used for training the recommendation model. -------------------------------------------------------------------------------- title: "Create a project" description: "Create a powerful ML pipeline that analyzed historic Movie data and gives meaningful recommendation using the Catalyst QuickML components." last_updated: "2026-08-20T10:20:36.198Z" source: "https://docs.catalyst.zoho.com/en/tutorials/movie-recommendation/create-a-project/" service: "All Services" related: - Catalyst Projects (/en/getting-started/catalyst-projects) -------------------------------------------------------------------------------- # Create a Project Let's create a Catalyst project from the Catalyst console. 1. Log in to the Catalyst console, then click Create a new Project <br /> 2. Enter the project's name as **Movie-Recommendation** in the pop-up window that appears. <br /> 3. Click Create. Your project will be created and automatically opened. To access your project later, simply click on the Access Project button. <br /> -------------------------------------------------------------------------------- title: "Upload the dataset" description: "Create a powerful ML pipeline that analyzed historic Movie data and gives meaningful recommendation using the Catalyst QuickML components." last_updated: "2026-08-20T10:20:36.198Z" source: "https://docs.catalyst.zoho.com/en/tutorials/movie-recommendation/upload-dataset/" service: "All Services" related: - Create Your First pipeline (/en/quickml/help/create-ml-pipeline) -------------------------------------------------------------------------------- # Upload the Dataset Let's begin by uploading the dataset in Catalyst QuickML using the available dataset dataset connectors. 1. Navigate to the QuickML service in the Catalyst console and click Start Exploring. <br /> 2. Navigate to the Datasets component and click Import Dataset. <br /> 3. An Import Dataset pop-up will be displayed. In the **Data Sources** step, navigate to File Upload and click Upload File. <br /> Upload the Item feature dataset that you have downloaded already. We can have the Quotes Type as "**Double Quotes(")**" and Escape Character as "**Backslash(\)**" and click Next. <br /> The name of the dataset will be auto-populated based on the uploaded file. You can edit it, if required, and click Upload. <br /> The dataset is now uploaded successfully. <br /> The dataset will be displayed in the **All Datasets** section. You can click on the dataset name to view the dataset's details. Likewise, upload the Interaction_dataset and User_features_dataset. Once all of the datasets are uploaded, they'll be displayed in the All Datasets section. You can click on the desired dataset name to view its details. <br /> On the dataset **Details** page, you can view the profiling, data preview and visualization chart of the dataset. For example, the Item_features_dataset's details and its profile can be seen in the screenshot below. <br /> -------------------------------------------------------------------------------- title: "Create pipeline" description: "Create a powerful ML pipeline that analyzed historic Movie data and gives meaningful recommendation using the Catalyst QuickML components." last_updated: "2026-08-20T10:20:36.198Z" source: "https://docs.catalyst.zoho.com/en/tutorials/movie-recommendation/create-pipeline/" service: "All Services" related: - Data Cleaning (/en/quickml/help/data-preprocessing/data-cleaning) - Data Transformation (/en/quickml/help/data-preprocessing/data-transformation) - Data Profiler and Viewer (/en/quickml/help/data-profiler-and-viewer/) -------------------------------------------------------------------------------- # Create a pipeline Now, follow the steps below to create a unified recommendation pipeline that integrates both data pre-processing and ML operations with the uploaded datasets. 1. Navigate to the Pipelines component in the left menu and click **Create Pipeline**. <br /> 2. In the Create Pipeline pop-up window, choose **Recommendation** as the pipeline type. <br /> 3. Set the pipeline name to "Movie Recommendation" and select **Interaction_dataset** as the Transaction dataset. Enable the User dataset option, choose **User_features_dataset**, enable the Item dataset option, choose **Item_features_dataset**, and then click **Create**. Note: The option to enable the User dataset and Item dataset is optional and can be enabled based on your business requirements. <br /> The pipeline builder interface will be opened as shown in the screenshot below. <br /> You'll be performing the following set of data pre-processing and ML operations in different stages in order to clean, refine, and transform the datasets and then execute the pipeline. Each of these operations involves individual data nodes that are used to construct the pipeline. ## Data pre-processing stage First, select the required fields in the datasets to modify them further. Transaction dataset 1. Expand the [Data Cleaning](https://docs.catalyst.zoho.com/en/quickml/help/data-preprocessing/data-cleaning/) component in the Operations menu. Drag and drop the Select/Drop node in the pipeline builder and make a connection with the Transaction dataset node. 2. In the Select/Drop section in the right panel, select the columns **Unnamed** and **Timestamp**. 3. Choose the operation Drop to drop the columns from the Transaction dataset, then click Save. In our case, these columns are generic and serve no further purpose, so we're removing them. <br /> ### User Dataset 1. Expand the [Data Cleaning](https://docs.catalyst.zoho.com/en/quickml/help/data-preprocessing/data-cleaning/) component in the Operations menu. Drag and drop the Select/Drop node in the pipeline builder and make a connection with the **User dataset** node. 2. In the Select/Drop section in the right panel, select the columns **Unnamed** and **Zip-code**. 3. Choose the operation Drop to drop the columns from the User dataset, then click Save. In our case, these columns are generic and serve no further purpose, so we're removing them. ### Item Dataset 1. Expand the [Data Cleaning](https://docs.catalyst.zoho.com/en/quickml/help/data-preprocessing/data-cleaning/) component in the Operations menu. Drag and drop the Select/Drop node in the pipeline builder and make a connection with the Item dataset node. 2. In the Select/Drop section in the right panel, select the columns **Unnamed, movie title, release date,** and **unknown**. 3. Choose the operation Drop to drop the columns from the Item dataset, then click Save. In our case, these columns are generic and serve no further purpose, so we're removing them. <br /> ## Encoding categorical columns stage Since the columns Gender and Occupation in the User dataset contain categorical String-type data, we'll [One-Hot Encode](https://docs.catalyst.zoho.com/en/quickml/help/operations-in-quickml/encoding/) them to meet the requirements of standard ML training. Follow the steps below to perform the encoding. 1. Navigate to **ML tab > ML Operations > Encoding > One-Hot Encoder**. 2. Drag and drop the One-Hot Encoder node into the pipeline builder interface and connect it with the Select/Drop node of the User dataset. 3. In the One-Hot Encoder configuration panel on the right, select the columns **Gender** and **Occupation**, and then click Save. <br /> This operation will convert each unique value in these String columns into separate binary columns (0s and 1s), ensuring the model can interpret categorical attributes without losing information or introducing unintended ordinal relationships. ## Applying ML Algorithm Stage We are using the [Light FM](https://docs.catalyst.zoho.com/en/quickml/help/learning-center/recommendation/#evaluation-metrics-for-specific-algorithms) algorithm to build a hybrid recommendation system that combines both collaborative filtering and content-based filtering. This approach allows the model to learn from user-item interaction data (such as ratings or clicks) as well as from user and item feature data. 1. Navigate to **ML tab > ML Operations > Algorithms > Information Retrieval > Light FM**. 2. Drag and drop the Light FM node into the pipeline builder interface and connect it to the configured operations for the Transaction, User, and Item datasets as shown in the screenshot below. Note:: The Light FM node will get auto-connected to the Destination node. <br /> 3. In the Light FM configuration panel on the right, choose the **UserID** and **MovieID** columns for the Transaction dataset, choose the **UserID** column for the User dataset, and choose the **movie id** column for the Item dataset. Set the loss function parameter to BPR, leave all other parameters unchanged, and click Save. Now we've finished making the required node connections and configurations. We can execute the pipeline by clicking Execute for further evaluation and deployment. <br /> Click Execution Stats to view more details about each stage of the execution in detail. <br /> <br /> Upon successful pipeline execution, the Movie Recommendation model is created and will be displayed under the Models section with a **Ready** state. <br /> You can view the details of the model on the model's Details page by clicking on the model name. <br /> -------------------------------------------------------------------------------- title: "Create an Endpoint" description: "Create a powerful ML pipeline that analyzed historic Movie data and gives meaningful recommendation using the Catalyst QuickML components." last_updated: "2026-08-20T10:20:36.199Z" source: "https://docs.catalyst.zoho.com/en/tutorials/movie-recommendation/create-endpoint/" service: "All Services" related: - Pipeline Endpoints (/en/quickml/help/pipeline-endpoints) -------------------------------------------------------------------------------- # Create an endpoint We will now [create an endpoint](https://docs.catalyst.zoho.com/en/quickml/help/pipeline-endpoints/) for our Movie Recommendation model to allow external applications to interact with the model seamlessly and get recommendations. 1. Navigate to the **Endpoints** component in the left menu and click Create Endpoint. <br /> 2. Name the endpoint **Movie Recommendation**, choose the model as **Movie Recommendation model**, and click Create Endpoint. <br /> 3. On the endpoint's details page, you can test the model by providing a sample request and clicking Get Result. For the request, you can provide the model with a user’s demographic and identifying details, and it will respond with the movie IDs it predicts that the user is most likely to enjoy, sorted in recommendation order. <br /> 4. Click Publish on the top right corner of the page and use the endpoint URL to integrate the ML model with any other applications. <br /> Note : You can also check out this document to implement pipeline authentication to ensure secured access to endpoints, the ML models, and datasets.