{"id":8495,"date":"2023-12-18T09:12:25","date_gmt":"2023-12-18T17:12:25","guid":{"rendered":"https:\/\/live-cometml.pantheonsite.io\/?p=8495"},"modified":"2025-04-24T17:03:47","modified_gmt":"2025-04-24T17:03:47","slug":"recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet","status":"publish","type":"post","link":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet\/","title":{"rendered":"Recommender System Optimization for Online Platforms: A Comparative Study Using Comet"},"content":{"rendered":"\n<div class=\"fk fl fm fn fo\">\n<div class=\"ab ca\">\n<div class=\"ch bg ew ex ey ez\">\n<figure class=\"lp lq lr ls lt lu lm ln paragraph-image\">\n<div class=\"lv lw ee lx bg ly\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg kt lz c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*NVO9FuR1dmcAZEPN\" alt=\"black headphones on a yellow background\" width=\"700\" height=\"467\"><\/figure><div class=\"lm ln lo\"><picture><\/picture><\/div>\n<\/div><figcaption class=\"ma mb mc lm ln md me be b bf z dw\" data-selectable-paragraph=\"\">Photo by <a class=\"af mf\" href=\"https:\/\/unsplash.com\/@cdx2?utm_source=medium&amp;utm_medium=referral\" target=\"_blank\" rel=\"noopener ugc nofollow\">C D-X<\/a> on <a class=\"af mf\" href=\"https:\/\/unsplash.com\/?utm_source=medium&amp;utm_medium=referral\" target=\"_blank\" rel=\"noopener ugc nofollow\">Unsplash<\/a><\/figcaption><\/figure>\n<p data-selectable-paragraph=\"\">\n<\/p><p id=\"aa7f\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Imagine scrolling through your favorite online platform, whether it&#8217;s <a class=\"af mf\" href=\"https:\/\/www.netflix.com\/ke\/\" target=\"_blank\" rel=\"noopener ugc nofollow\">Netflix<\/a>, <a class=\"af mf\" href=\"https:\/\/www.youtube.com\/\" target=\"_blank\" rel=\"noopener ugc nofollow\">YouTube<\/a>, or <a class=\"af mf\" href=\"https:\/\/open.spotify.com\/\" target=\"_blank\" rel=\"noopener ugc nofollow\">Spotify<\/a>, searching for that perfect movie, video, or song that matches your tastes. It can be daunting. Fortunately, recommender systems can help!<\/p>\n<p id=\"00b3\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Have you ever wondered how these systems work behind the scenes? How do they predict what movies or songs you might like? Well, the answer lies in the power of optimization. Optimizing recommender systems is crucial to enhance their performance and provide accurate recommendations that resonate with each user.<\/p>\n<p id=\"24f4\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><a class=\"af mf\" href=\"https:\/\/www.bing.com\/ck\/a?%21=&amp;p=4026502fde8752a4JmltdHM9MTcwMjI1MjgwMCZpZ3VpZD0wOGQ0MzEwMy1mMTA0LTY0ZGItMzlmNC0yMzYxZjA5MjY1N2EmaW5zaWQ9NTI2MQ&amp;ptn=3&amp;ver=2&amp;hsh=3&amp;fclid=08d43103-f104-64db-39f4-2361f092657a&amp;psq=Recommender+systems+are+the+unsung+heroes+behind+the+scenes%2C+quietly+analyzing+our+preferences%2C+interests%2C+and+behaviors+to+provide+us+with+personalized+recommendations.+They%27re+like+our+trusty+digital+companions%2C+always+ready+to+suggest+the+next+great+movie+to+watch%2C+the+perfect+song+to+lift+our+spirits%2C+or+the+latest+viral+video+to+make+us+laugh.&amp;u=a1aHR0cHM6Ly9idWlsdGluLmNvbS9kYXRhLXNjaWVuY2UvcmVjb21tZW5kZXItc3lzdGVtcw&amp;ntb=1\" target=\"_blank\" rel=\"noopener ugc nofollow\">Recommender systems<\/a> are the unsung heroes behind the scenes, quietly analyzing our preferences, interests, and behaviors to provide us with personalized recommendations. They&#8217;re like our trusty digital companions, always ready to suggest the next great movie, the perfect song to lift our spirits, or the latest viral video.<\/p>\n<p id=\"0906\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Get ready to embark on a journey where we unravel the secrets behind optimizing recommender systems for online platforms. We will explore the challenges, the techniques, and the insights that Comet can bring to the table. So, let&#8217;s dive in and discover how we can make your online experience even more delightful with optimized recommender systems!<\/p>\n<p id=\"7571\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Selection of Recommender System Algorithms:<\/strong><\/p>\n<p id=\"94b7\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">When selecting recommender system algorithms for comparative study, it&#8217;s crucial to incorporate various methods encompassing different recommendation approaches. This diversity ensures a comprehensive understanding of each algorithm&#8217;s performance under various scenarios.<\/p>\n<p id=\"3131\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">One fundamental category is Collaborative Filtering (CF), which predicts user preferences based on collected data from numerous users. Within CF, there are two primary approaches. User-Based Collaborative Filtering (UB-CF) suggests items based on users with similar preferences. For example, if two users have rated several items similarly, the system might recommend an item liked by one user to the other. On the other hand, Item-Based Collaborative Filtering (IB-CF) focuses on item similarities. If a user likes a specific item, the system recommends other items that similar users have rated highly.<\/p>\n<p id=\"459c\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Another critical approach is Content-Based Filtering. This method utilizes item features (like genre or author in books and directors or actors in movies) to recommend items similar to those the user has shown interest in. For instance, if a user frequently watches sci-fi movies, the system might recommend other movies in the same genre.<\/p>\n<p id=\"4b0e\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Hybrid Systems blend collaborative filtering and content-based filtering, often resulting in more accurate recommendations. These systems can operate by combining predictions from both methods or integrating content-based capabilities into a collaborative filtering framework. The versatility of hybrid systems allows them to leverage the strengths of both approaches.<\/p>\n<p id=\"3b28\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Matrix Factorization Techniques, such as Singular Value Decomposition (SVD), have gained popularity, especially in scenarios with large, sparse datasets. These techniques decompose the user-item interaction matrix into lower-dimensional matrices, capturing latent factors representing user preferences and item characteristics.<\/p>\n<p id=\"700c\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">With the advent of Deep Learning, recommender systems have seen significant advancements. These methods accurately capture complex, non-linear relationships between users and items. Techniques like autoencoders, neural collaborative filtering, and recurrent neural networks (RNNs) are examples of this approach, offering nuanced and sophisticated recommendation capabilities.<\/p>\n<p id=\"2db2\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Knowledge-Based Systems take a different approach, relying on explicit knowledge about users and items. They are particularly beneficial when there is insufficient user-item interaction data to employ collaborative or content-based methods effectively.<\/p>\n<p id=\"fc29\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Context-Aware Recommenders consider the specific context of recommendations, such as time, location, or social circumstances. Adapting to these contextual factors can provide more relevant and timely recommendations.<\/p>\n<p id=\"f3c7\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">A comprehensive study of recommender systems should ideally include a range of these algorithms, each offering unique strengths and catering to different aspects of user preference and behavior. The selection of algorithms should align with the dataset&#8217;s specific characteristics and the recommendation system&#8217;s overall goals.<\/p>\n<h2 id=\"53bc\" class=\"ne nf fr be ng nh ni nj nk nl nm nn no mr np nq nr mv ns nt nu mz nv nw nx ny bj\" data-selectable-paragraph=\"\">Dataset Selection<\/h2>\n<p id=\"ae4f\" class=\"pw-post-body-paragraph mg mh fr mi b mj nz ml mm mn oa mp mq mr ob mt mu mv oc mx my mz od nb nc nd fk bj\" data-selectable-paragraph=\"\">Enter the &#8220;1,2,3,4,5 Dataset&#8221; \u2014 a seemingly simple yet intriguing dataset. Despite its modest numbers, it holds the secrets to understanding user opinions and preferences through numerical ratings. Users express their thoughts by assigning ratings ranging from 1 to 5, showing their likes, dislikes, and unique tastes.<\/p>\n<figure class=\"of og oh oi oj lu lm ln paragraph-image\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg kt lz c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:196\/1*VYtSWAsobi5bTHqeMCPmZQ.png\" alt=\"table of user ID, item ID, and rating\" width=\"196\" height=\"235\"><\/figure><div class=\"lm ln oe\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*VYtSWAsobi5bTHqeMCPmZQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*VYtSWAsobi5bTHqeMCPmZQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*VYtSWAsobi5bTHqeMCPmZQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*VYtSWAsobi5bTHqeMCPmZQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*VYtSWAsobi5bTHqeMCPmZQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*VYtSWAsobi5bTHqeMCPmZQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:392\/format:webp\/1*VYtSWAsobi5bTHqeMCPmZQ.png 392w\" type=\"image\/webp\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 196px\"><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*VYtSWAsobi5bTHqeMCPmZQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*VYtSWAsobi5bTHqeMCPmZQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*VYtSWAsobi5bTHqeMCPmZQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*VYtSWAsobi5bTHqeMCPmZQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*VYtSWAsobi5bTHqeMCPmZQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*VYtSWAsobi5bTHqeMCPmZQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:392\/1*VYtSWAsobi5bTHqeMCPmZQ.png 392w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 196px\" data-testid=\"og\"><\/picture><\/div>\n<\/figure>\n<p id=\"943c\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">This dataset has five users (Users 1 to 5) and three items (Items 101 to 103). Each user has assigned a rating from 1 to 5 to different items based on their preferences.<\/p>\n<h2 id=\"252e\" class=\"ne nf fr be ng nh ni nj nk nl nm nn no mr np nq nr mv ns nt nu mz nv nw nx ny bj\" data-selectable-paragraph=\"\">Integration of Comet: Unleashing the Power of Experiment Management and Performance Tracking<\/h2>\n<p id=\"5bce\" class=\"pw-post-body-paragraph mg mh fr mi b mj nz ml mm mn oa mp mq mr ob mt mu mv oc mx my mz od nb nc nd fk bj\" data-selectable-paragraph=\"\">We need to install and set Comet up to get started with the library in our Python environment.<\/p>\n<p id=\"4df9\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><a class=\"af mf\" href=\"https:\/\/www.comet.com\/site\/\" target=\"_blank\" rel=\"noopener ugc nofollow\">Comet \u2014 Build better models faster<\/a><\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"40e1\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\">pip install comet_ml<\/span><\/pre>\n<p id=\"211a\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">After installation, we can import the Comet library into our code and initialize it with our Comet API key.<\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"067e\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\">\n<span class=\"hljs-keyword\">from<\/span> comet_ml <span class=\"hljs-keyword\">import<\/span> Experiment\n\nexperiment = Experiment(\n  api_key = <span class=\"hljs-string\">\"YOUR-COMET-API-KEY\"<\/span>,\n  project_name = <span class=\"hljs-string\">\"gicheru\"<\/span>,\n  workspace= <span class=\"hljs-string\">\"innocent\"<\/span>\n)\n<span class=\"hljs-comment\"># Report multiple hyperparameters using a dictionary:<\/span>\nhyper_params = {\n    <span class=\"hljs-string\">\"learning_rate\"<\/span>: <span class=\"hljs-number\">0.5<\/span>,\n    <span class=\"hljs-string\">\"steps\"<\/span>: <span class=\"hljs-number\">100000<\/span>,\n    <span class=\"hljs-string\">\"batch_size\"<\/span>: <span class=\"hljs-number\">50<\/span>,\n}\nexperiment.log_parameters(hyper_params)\n\n<span class=\"hljs-comment\"># Or report single hyperparameters:<\/span>\nhidden_layer_size = <span class=\"hljs-number\">50<\/span>\nexperiment.log_parameter(<span class=\"hljs-string\">\"hidden_layer_size\"<\/span>, hidden_layer_size)\n\n<span class=\"hljs-comment\"># Long any time-series metrics:<\/span>\ntrain_accuracy = <span class=\"hljs-number\">3.14<\/span>\nexperiment.log_metric(<span class=\"hljs-string\">\"accuracy\"<\/span>, train_accuracy, step=<span class=\"hljs-number\">0<\/span>)\n\n<span class=\"hljs-comment\"># Run your code and go to \/<\/span><\/span><\/pre>\n<h2 id=\"03a2\" class=\"ne nf fr be ng nh ni nj nk nl nm nn no mr np nq nr mv ns nt nu mz nv nw nx ny bj\" data-selectable-paragraph=\"\">Comparative Analysis: Unveiling Cosmic Performance<\/h2>\n<p id=\"e531\" class=\"pw-post-body-paragraph mg mh fr mi b mj nz ml mm mn oa mp mq mr ob mt mu mv oc mx my mz od nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Dataset Loading and Preprocessing<\/strong><\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"e2b8\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\"><span class=\"hljs-keyword\">import<\/span> pandas <span class=\"hljs-keyword\">as<\/span> pd\n\n<span class=\"hljs-comment\"># Load the dataset<\/span>\ndata = {\n    <span class=\"hljs-string\">'User ID'<\/span>: [<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">5<\/span>],\n    <span class=\"hljs-string\">'Item ID'<\/span>: [<span class=\"hljs-number\">101<\/span>, <span class=\"hljs-number\">102<\/span>, <span class=\"hljs-number\">103<\/span>, <span class=\"hljs-number\">101<\/span>, <span class=\"hljs-number\">103<\/span>, <span class=\"hljs-number\">101<\/span>, <span class=\"hljs-number\">102<\/span>, <span class=\"hljs-number\">103<\/span>, <span class=\"hljs-number\">102<\/span>, <span class=\"hljs-number\">101<\/span>],\n    <span class=\"hljs-string\">'Rating'<\/span>: [<span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">3<\/span>]\n}\n\ndataset = pd.DataFrame(data)\n\n<span class=\"hljs-comment\"># Perform preprocessing steps (if required)<\/span>\n<span class=\"hljs-comment\"># ...<\/span><\/span><\/pre>\n<p id=\"ad91\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Dataset Splitting<\/strong><\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"596d\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\"><span class=\"hljs-keyword\">from<\/span> sklearn.model_selection <span class=\"hljs-keyword\">import<\/span> train_test_split\n\n<span class=\"hljs-comment\"># Split the dataset into features (X) and target (y)<\/span>\nX = dataset[[<span class=\"hljs-string\">'User ID'<\/span>, <span class=\"hljs-string\">'Item ID'<\/span>]]\ny = dataset[<span class=\"hljs-string\">'Rating'<\/span>]\n\n<span class=\"hljs-comment\"># Split the data into training and test sets<\/span>\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=<span class=\"hljs-number\">0.2<\/span>, random_state=<span class=\"hljs-number\">42<\/span>)\n\n<span class=\"hljs-comment\"># Print the shapes of the resulting datasets<\/span>\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"Training set shape:\"<\/span>, X_train.shape, y_train.shape)\n<span class=\"hljs-built_in\">print<\/span>(<span class=\"hljs-string\">\"Test set shape:\"<\/span>, X_test.shape, y_test.shape)<\/span><\/pre>\n<p id=\"4955\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Building and Training Recommender System Models<\/strong><\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"c587\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\"><span class=\"hljs-comment\"># Build and train recommender system models<\/span>\n<span class=\"hljs-comment\"># Example using collaborative filtering with surprise library<\/span>\n\n<span class=\"hljs-keyword\">from<\/span> surprise <span class=\"hljs-keyword\">import<\/span> Dataset, Reader, KNNBasic\n<span class=\"hljs-keyword\">from<\/span> surprise.model_selection <span class=\"hljs-keyword\">import<\/span> cross_validate\n\n<span class=\"hljs-comment\"># Prepare the data in Surprise format<\/span>\nreader = Reader(rating_scale=(<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">5<\/span>))\nsurprise_data = Dataset.load_from_df(data[[<span class=\"hljs-string\">'User ID'<\/span>, <span class=\"hljs-string\">'Item ID'<\/span>, <span class=\"hljs-string\">'Rating'<\/span>]], reader)\n\n<span class=\"hljs-comment\"># Define the model<\/span>\nmodel = KNNBasic()\n\n<span class=\"hljs-comment\"># Perform cross-validation<\/span>\ncross_validate(model, surprise_data, measures=[<span class=\"hljs-string\">'RMSE'<\/span>, <span class=\"hljs-string\">'MAE'<\/span>], cv=<span class=\"hljs-number\">5<\/span>, verbose=<span class=\"hljs-literal\">True<\/span>)\n\n<span class=\"hljs-comment\"># Train the model on the full training set<\/span>\ntrainset = surprise_data.build_full_trainset()\nmodel.fit(trainset)\n\n<\/span><\/pre>\n<p id=\"bf08\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Tracking Experiments with Comet:<\/strong><\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"b7a1\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\"><span class=\"hljs-comment\"># Import Comet.ml and initialize the experiment<\/span>\n<span class=\"hljs-keyword\">from<\/span> comet_ml <span class=\"hljs-keyword\">import<\/span> Experiment\n\nexperiment = Experiment(api_key=<span class=\"hljs-string\">\"K41zohhUKne75k57jmZvBivYD\"<\/span>, project_name=<span class=\"hljs-string\">\"recommender-system\"<\/span>)\n\n<span class=\"hljs-comment\"># Log important information and parameters<\/span>\nexperiment.log_dataset_info(name=<span class=\"hljs-string\">\"1,2,3,4,5 Dataset\"<\/span>)\nexperiment.log_parameters({<span class=\"hljs-string\">\"model\"<\/span>: <span class=\"hljs-string\">\"KNNBasic\"<\/span>, <span class=\"hljs-string\">\"cv\"<\/span>: <span class=\"hljs-number\">5<\/span>})\n\n<span class=\"hljs-comment\"># Start tracking metrics during training<\/span>\n<span class=\"hljs-keyword\">for<\/span> epoch <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(num_epochs):\n    <span class=\"hljs-comment\"># Training code<\/span>\n    <span class=\"hljs-comment\"># ...<\/span>\n\n    <span class=\"hljs-comment\"># Log metrics<\/span>\n    experiment.log_metric(<span class=\"hljs-string\">\"loss\"<\/span>, loss_value, step=epoch)\n\n<\/span><\/pre>\n<p id=\"f68a\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Evaluating Model Performance and Comparing Results<\/strong><\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"a461\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\"><span class=\"hljs-comment\"># Evaluate model performance on the test set<\/span>\n<span class=\"hljs-keyword\">from<\/span> surprise <span class=\"hljs-keyword\">import<\/span> accuracy\n\ntestset = surprise_data.construct_testset(test_data[[<span class=\"hljs-string\">'User ID'<\/span>, <span class=\"hljs-string\">'Item ID'<\/span>, <span class=\"hljs-string\">'Rating'<\/span>]].values)\npredictions = model.test(testset)\n\n<span class=\"hljs-comment\"># Calculate evaluation metrics<\/span>\nrmse = accuracy.rmse(predictions)\nmae = accuracy.mae(predictions)\n\n<span class=\"hljs-comment\"># Compare results with other models<\/span>\n<span class=\"hljs-comment\"># ...<\/span><\/span><\/pre>\n<p id=\"47ae\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Visualizing Experiment Metrics and Performance using Comet<\/strong><\/p>\n<pre class=\"of og oh oi oj ok ol om bo on ba bj\"><span id=\"0987\" class=\"oo nf fr ol b bf op oq l or os\" data-selectable-paragraph=\"\"><span class=\"hljs-comment\"># Visualize experiment metrics and performance<\/span>\n<span class=\"hljs-comment\"># Example using Comet.ml's interactive charts and graphs<\/span>\n\n<span class=\"hljs-comment\"># Log metrics and performance<\/span>\nexperiment.log_metric(<span class=\"hljs-string\">\"RMSE\"<\/span>, rmse)\nexperiment.log_metric(<span class=\"hljs-string\">\"MAE\"<\/span>, mae)\n\n<span class=\"hljs-comment\"># Generate visualizations<\/span>\nexperiment.display()<\/span><\/pre>\n<figure class=\"of og oh oi oj lu lm ln paragraph-image\">\n<div class=\"lv lw ee lx bg ly\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg kt lz c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*v-24IMyaIZwPm9UkyFLfvw.png\" alt=\"screenshot of experiment in Comet platform\" width=\"700\" height=\"375\"><\/figure><div class=\"lm ln ot\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*v-24IMyaIZwPm9UkyFLfvw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*v-24IMyaIZwPm9UkyFLfvw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*v-24IMyaIZwPm9UkyFLfvw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*v-24IMyaIZwPm9UkyFLfvw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*v-24IMyaIZwPm9UkyFLfvw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*v-24IMyaIZwPm9UkyFLfvw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*v-24IMyaIZwPm9UkyFLfvw.png 1400w\" type=\"image\/webp\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*v-24IMyaIZwPm9UkyFLfvw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*v-24IMyaIZwPm9UkyFLfvw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*v-24IMyaIZwPm9UkyFLfvw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*v-24IMyaIZwPm9UkyFLfvw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*v-24IMyaIZwPm9UkyFLfvw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*v-24IMyaIZwPm9UkyFLfvw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*v-24IMyaIZwPm9UkyFLfvw.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" data-testid=\"og\"><\/picture><\/div>\n<\/div>\n<\/figure>\n<p id=\"d0b2\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">In our quest to optimize recommender systems, we&#8217;ve uncovered their immense potential in enhancing user experiences on online platforms. Comet has been our guiding star, empowering us to manage experiments and track performance effortlessly.<\/p>\n<p id=\"6917\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Through techniques like feature engineering, hyperparameter tuning, and evaluation metrics, we&#8217;ve fine-tuned our models to deliver personalized recommendations that captivate users. With Comet, we&#8217;ve gained valuable insights and made informed decisions to elevate our recommender systems.<\/p>\n<p id=\"05b6\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">The impact of optimization is profound \u2014 user satisfaction soars, engagement deepens, and online platforms become realms of discovery and delight. By embracing recommender system optimization and harnessing the power of Comet, we can shape a digital universe where every recommendation is a revelation.<\/p>\n<p id=\"1d4d\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">As we bid farewell to our journey, let us continue to optimize and explore the vast possibilities. With Comet as our ally, we can create a celestial online experience that leaves a lasting impression on users.<\/p>\n<p id=\"7652\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">Together, let&#8217;s forge ahead, fueled by the desire to optimize recommender systems and unlock the true potential of online platforms. The cosmos of optimized recommendations await, ready to delight and inspire users around the globe.<\/p>\n<h2 id=\"8867\" class=\"ne nf fr be ng nh ni nj nk nl nm nn no mr np nq nr mv ns nt nu mz nv nw nx ny bj\" data-selectable-paragraph=\"\">Resources<\/h2>\n<p id=\"9e6b\" class=\"pw-post-body-paragraph mg mh fr mi b mj nz ml mm mn oa mp mq mr ob mt mu mv oc mx my mz od nb nc nd fk bj\" data-selectable-paragraph=\"\"><strong class=\"mi fs\">Comet Documentation:<\/strong> Comet&#8217;s official documentation provides detailed information on integrating Comet into machine learning projects, tracking experiments, and visualizing results.<\/p>\n<p id=\"7b55\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><a class=\"af mf\" href=\"https:\/\/www.comet.com\/site\/\" target=\"_blank\" rel=\"noopener ugc nofollow\">Comet \u2014 Build better models faster<\/a><\/p>\n<p id=\"86e9\" class=\"pw-post-body-paragraph mg mh fr mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\"><a class=\"af mf\" href=\"https:\/\/www.bing.com\/ck\/a?%21=&amp;p=0dcf6c784c1d3302JmltdHM9MTcwMjI1MjgwMCZpZ3VpZD0wOGQ0MzEwMy1mMTA0LTY0ZGItMzlmNC0yMzYxZjA5MjY1N2EmaW5zaWQ9NTE5NA&amp;ptn=3&amp;ver=2&amp;hsh=3&amp;fclid=08d43103-f104-64db-39f4-2361f092657a&amp;psq=TensorFlow+Recommenders%3A+TensorFlow+Recommenders+is+an+open-source+library+that+provides+tools+and+algorithms+for+building+recommender+systems+using+TensorFlow.+It+offers+implementation+examples+and+code+snippets+that+can+be+used+as+a+reference.&amp;u=a1aHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvcmVjb21tZW5kZXJz&amp;ntb=1\" target=\"_blank\" rel=\"noopener ugc nofollow\"><strong class=\"mi fs\">TensorFlow Recommenders<\/strong><\/a><strong class=\"mi fs\">:<\/strong> TensorFlow Recommenders is an open-source library that provides tools and algorithms for building recommender systems using TensorFlow. It offers implementation examples and code snippets that can be referenced.<\/p>\n<blockquote class=\"ou ov ow\"><p id=\"72f2\" class=\"mg mh ox mi b mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd fk bj\" data-selectable-paragraph=\"\">By leveraging these resources, you can deepen your understanding of recommender systems, explore optimization techniques, and utilize Comet effectively in your projects. Happy exploring and optimizing!<\/p><\/blockquote>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Photo by C D-X on Unsplash Imagine scrolling through your favorite online platform, whether it&#8217;s Netflix, YouTube, or Spotify, searching for that perfect movie, video, or song that matches your tastes. It can be daunting. Fortunately, recommender systems can help! Have you ever wondered how these systems work behind the scenes? How do they predict [&hellip;]<\/p>\n","protected":false},"author":98,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"customer_name":"","customer_description":"","customer_industry":"","customer_technologies":"","customer_logo":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[],"coauthors":[196],"class_list":["post-8495","post","type-post","status-publish","format-standard","hentry","category-machine-learning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Recommender System Optimization for Online Platforms<\/title>\n<meta name=\"description\" content=\"Learn how to optimize recommender systems for online platforms, including the challenges, techniques, and how Comet can help.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recommender System Optimization for Online Platforms: A Comparative Study Using Comet\" \/>\n<meta property=\"og:description\" content=\"Learn how to optimize recommender systems for online platforms, including the challenges, techniques, and how Comet can help.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet\" \/>\n<meta property=\"og:site_name\" content=\"Comet\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cometdotml\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-18T17:12:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-24T17:03:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*NVO9FuR1dmcAZEPN\" \/>\n<meta name=\"author\" content=\"Innocent Gicheru Wambui\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Cometml\" \/>\n<meta name=\"twitter:site\" content=\"@Cometml\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Innocent Gicheru Wambui\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Recommender System Optimization for Online Platforms","description":"Learn how to optimize recommender systems for online platforms, including the challenges, techniques, and how Comet can help.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet","og_locale":"en_US","og_type":"article","og_title":"Recommender System Optimization for Online Platforms: A Comparative Study Using Comet","og_description":"Learn how to optimize recommender systems for online platforms, including the challenges, techniques, and how Comet can help.","og_url":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet","og_site_name":"Comet","article_publisher":"https:\/\/www.facebook.com\/cometdotml","article_published_time":"2023-12-18T17:12:25+00:00","article_modified_time":"2025-04-24T17:03:47+00:00","og_image":[{"url":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*NVO9FuR1dmcAZEPN","type":"","width":"","height":""}],"author":"Innocent Gicheru Wambui","twitter_card":"summary_large_image","twitter_creator":"@Cometml","twitter_site":"@Cometml","twitter_misc":{"Written by":"Innocent Gicheru Wambui","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet#article","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet\/"},"author":{"name":"Innocent Gicheru Wambui","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/5f6953ef942c48884151ed1a69b8c4ed"},"headline":"Recommender System Optimization for Online Platforms: A Comparative Study Using Comet","datePublished":"2023-12-18T17:12:25+00:00","dateModified":"2025-04-24T17:03:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet\/"},"wordCount":1056,"publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet#primaryimage"},"thumbnailUrl":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*NVO9FuR1dmcAZEPN","articleSection":["Machine Learning"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet\/","url":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet","name":"Recommender System Optimization for Online Platforms","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet#primaryimage"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet#primaryimage"},"thumbnailUrl":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*NVO9FuR1dmcAZEPN","datePublished":"2023-12-18T17:12:25+00:00","dateModified":"2025-04-24T17:03:47+00:00","description":"Learn how to optimize recommender systems for online platforms, including the challenges, techniques, and how Comet can help.","breadcrumb":{"@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet#primaryimage","url":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*NVO9FuR1dmcAZEPN","contentUrl":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*NVO9FuR1dmcAZEPN"},{"@type":"BreadcrumbList","@id":"https:\/\/www.comet.com\/site\/blog\/recommender-system-optimization-for-online-platforms-a-comparative-study-using-comet#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.comet.com\/site\/"},{"@type":"ListItem","position":2,"name":"Recommender System Optimization for Online Platforms: A Comparative Study Using Comet"}]},{"@type":"WebSite","@id":"https:\/\/www.comet.com\/site\/#website","url":"https:\/\/www.comet.com\/site\/","name":"Comet","description":"Build Better Models Faster","publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.comet.com\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.comet.com\/site\/#organization","name":"Comet ML, Inc.","alternateName":"Comet","url":"https:\/\/www.comet.com\/site\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","width":310,"height":310,"caption":"Comet ML, Inc."},"image":{"@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/cometdotml","https:\/\/x.com\/Cometml","https:\/\/www.youtube.com\/channel\/UCmN63HKvfXSCS-UwVwmK8Hw"]},{"@type":"Person","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/5f6953ef942c48884151ed1a69b8c4ed","name":"Innocent Gicheru Wambui","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/image\/e3ee9b6311e4e27be0e9dfae0a7544e7","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2023\/10\/cropped-1680263997660-1-96x96.jpg","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2023\/10\/cropped-1680263997660-1-96x96.jpg","caption":"Innocent Gicheru Wambui"},"url":"https:\/\/www.comet.com\/site\/blog\/author\/innocentwambui5gmail-com\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/8495","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/users\/98"}],"replies":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/comments?post=8495"}],"version-history":[{"count":1,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/8495\/revisions"}],"predecessor-version":[{"id":15416,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/8495\/revisions\/15416"}],"wp:attachment":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media?parent=8495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/categories?post=8495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/tags?post=8495"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/coauthors?post=8495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}