{"id":8530,"date":"2024-01-09T06:00:03","date_gmt":"2024-01-09T14:00:03","guid":{"rendered":"https:\/\/live-cometml.pantheonsite.io\/?p=8530"},"modified":"2025-04-24T17:03:35","modified_gmt":"2025-04-24T17:03:35","slug":"how-to-integrate-comet-with-catboost-workflows","status":"publish","type":"post","link":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows\/","title":{"rendered":"How to Integrate Comet with Catboost Workflows"},"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=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*oygcvjT9V-Z9plzY\" alt=\"person writing a workflow strategy on a whiteboard\" width=\"700\" height=\"467\"><\/figure><div class=\"ly lz ma\"><picture><\/picture><\/div>\n<\/div><figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Photo by <a href=\"https:\/\/unsplash.com\/@campaign_creators?utm_source=medium&amp;utm_medium=referral\">Campaign Creators<\/a> on <a href=\"https:\/\/unsplash.com\/?utm_source=medium&amp;utm_medium=referral\">Unsplash<\/a><\/figcaption><\/figure>\n<p id=\"a674\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">Catboost is one of the most versatile gradient-boosting models. Its crucial capability is processing categorical data without converting it to numerical data. This means that the model can perform its function as you desire after specifying categorical data. An added benefit is that a data practitioner can easily and quickly establish a baseline with minimal data transformations. Unfortunately, as you scroll through Comet\u2019s supported libraries, you will discover the glaring lack of Catboost workflows support. Fortunately, I have a clever but straightforward workaround leveraging Comet\u2019s versatile capabilities.<\/p>\n<p id=\"6413\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">Comet\u2019s support for Tensorflow\u2019s Tensorboard can become a saving grace for anyone using Catboost effectively with Comet. One integral feature of Catboost is that it uses Tensorboard to keep track of training runs and stores that information locally on the machine\u2019s disk. Let\u2019s look at the general workflow of performing this integration.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"fk fl fm fn fo\">\n<div class=\"ab ca\">\n<div class=\"ch bg ew ex ey ez\">\n<h2 id=\"3bb7\" class=\"nw nx fr be ny nz oa ob oc od oe of og nb oh oi oj nf ok ol om nj on oo op oq bj\" data-selectable-paragraph=\"\">Requirements<\/h2>\n<p id=\"37bb\" class=\"pw-post-body-paragraph ms mt fr mu b gp or mw mx gs os mz na nb ot nd ne nf ou nh ni nj ov nl nm nn fk bj\" data-selectable-paragraph=\"\">There are a few things you need to install before you go through with this:<br>\n1. Catboost.<\/p>\n<p id=\"5e2c\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">2. Comet\u2019s official library.<\/p>\n<p id=\"9f4d\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">3. A Comet account that you can get by signing up <a href=\"https:\/\/www.comet.com\/site\/\">here<\/a>.<\/p>\n<p id=\"bd1c\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">3. Visual Studio Code (or any IDE that supports Tensorboard Integration).<\/p>\n<p id=\"fa20\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">With the above, it is now possible to proceed.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"fk fl fm fn fo\">\n<div class=\"ab ca\">\n<div class=\"ch bg ew ex ey ez\">\n<h2 id=\"17c1\" class=\"nw nx fr be ny nz oa ob oc od oe of og nb oh oi oj nf ok ol om nj on oo op oq bj\" data-selectable-paragraph=\"\">Catboost Workflows Integration with Tensorboard<\/h2>\n<p id=\"712d\" class=\"pw-post-body-paragraph ms mt fr mu b gp or mw mx gs os mz na nb ot nd ne nf ou nh ni nj ov nl nm nn fk bj\" data-selectable-paragraph=\"\">Catboost integrates with Tensorboard to ensure we can adequately visualize training runs. It indicates the desired metric that one has specified during the training run, graphs it, and allows for customization. The picture below is an excellent example of what I am talking about.<\/p>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*yN2vTIsWSEFta4kMMWRuvQ.png\" alt=\"tensorboard screenshot\" width=\"700\" height=\"363\"><\/figure><div class=\"ly lz ow\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*yN2vTIsWSEFta4kMMWRuvQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*yN2vTIsWSEFta4kMMWRuvQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*yN2vTIsWSEFta4kMMWRuvQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*yN2vTIsWSEFta4kMMWRuvQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*yN2vTIsWSEFta4kMMWRuvQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*yN2vTIsWSEFta4kMMWRuvQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*yN2vTIsWSEFta4kMMWRuvQ.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*yN2vTIsWSEFta4kMMWRuvQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*yN2vTIsWSEFta4kMMWRuvQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*yN2vTIsWSEFta4kMMWRuvQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*yN2vTIsWSEFta4kMMWRuvQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*yN2vTIsWSEFta4kMMWRuvQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*yN2vTIsWSEFta4kMMWRuvQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*yN2vTIsWSEFta4kMMWRuvQ.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<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Tensorboard for Catboost, screenshot by author<\/figcaption>\n<\/figure>\n<p id=\"4502\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">An added advantage of this library is that it stores the information in a local directory or a directory you initially specified before the training run, as seen below.<\/p>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:179\/1*zOJry_8V3qmKkJ5_eYBoIg.png\" alt=\"Catboost directory\" width=\"179\" height=\"187\"><\/figure><div class=\"ly lz ox\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*zOJry_8V3qmKkJ5_eYBoIg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*zOJry_8V3qmKkJ5_eYBoIg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*zOJry_8V3qmKkJ5_eYBoIg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*zOJry_8V3qmKkJ5_eYBoIg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*zOJry_8V3qmKkJ5_eYBoIg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*zOJry_8V3qmKkJ5_eYBoIg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:358\/format:webp\/1*zOJry_8V3qmKkJ5_eYBoIg.png 358w\" 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, 179px\"><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*zOJry_8V3qmKkJ5_eYBoIg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*zOJry_8V3qmKkJ5_eYBoIg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*zOJry_8V3qmKkJ5_eYBoIg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*zOJry_8V3qmKkJ5_eYBoIg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*zOJry_8V3qmKkJ5_eYBoIg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*zOJry_8V3qmKkJ5_eYBoIg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:358\/1*zOJry_8V3qmKkJ5_eYBoIg.png 358w\" 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, 179px\" data-testid=\"og\"><\/picture><\/div>\n<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Catboost directory by author<\/figcaption>\n<\/figure>\n<p id=\"1077\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">In this article, we use this feature to our advantage as Comet allows us to upload this information and create a custom panel to have a clear view of the given data. Despite the lack of support for this library, we see that the support for TensorFlow\u2019s Tensorboard gives us an added advantage because we can leverage a single aspect of the Catboost library and upload critical information through an existing Comet function.<\/p>\n<p id=\"6759\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">Let\u2019s code!<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"fk fl fm fn fo\">\n<div class=\"ab ca\">\n<div class=\"ch bg ew ex ey ez\">\n<h2 id=\"492d\" class=\"nw nx fr be ny nz oa ob oc od oe of og nb oh oi oj nf ok ol om nj on oo op oq bj\" data-selectable-paragraph=\"\">Simple Project<\/h2>\n<p id=\"50c2\" class=\"pw-post-body-paragraph ms mt fr mu b gp or mw mx gs os mz na nb ot nd ne nf ou nh ni nj ov nl nm nn fk bj\" data-selectable-paragraph=\"\">Our simple project here will only focus on the capabilities Catboost, Tensorboard, and Comet offer. All data transformation has already been done, so we have a reasonably clean dataset that will be fed into the model.<\/p>\n<p id=\"9b86\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">The dataset of our choice is the Bengaluru House Prediction Dataset from <a href=\"https:\/\/machinehack.com\/hackathons\/predicting_house_prices_in_bengaluru\/overview\">Machinehack<\/a>. This competition aims to test your skills in regression problems. We can now check our preprocessed data with Pandas to have a general overview of our data.<\/p>\n<pre class=\"mb mc md me mf oy oz pa bo pb ba bj\"><span id=\"4c49\" class=\"pc nx fr oz b bf pd pe l pf pg\" data-selectable-paragraph=\"\"><span class=\"hljs-keyword\">import<\/span> pandas <span class=\"hljs-keyword\">as<\/span> pd\n\n<span class=\"hljs-comment\">#reading data in local directory<\/span>\ndf = pd.read_csv(<span class=\"hljs-string\">\"preprocessed_train_data.csv\"<\/span>)\n\n<span class=\"hljs-comment\">#defining features(X) and targets(y)<\/span>\nX = df.drop([<span class=\"hljs-string\">\"price\"<\/span>], axis=<span class=\"hljs-number\">1<\/span>)\ny = df[<span class=\"hljs-string\">\"price\"<\/span>]\n\n<span class=\"hljs-comment\">#printing the top 5 positions of X and y<\/span>\n<span class=\"hljs-built_in\">print<\/span>(X.head())\n<span class=\"hljs-built_in\">print<\/span>(y.head())<\/span><\/pre>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*3HGq438y7_iKJqffXQxMgg.png\" alt=\"dataset\" width=\"700\" height=\"53\"><\/figure><div class=\"ly lz ph\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*3HGq438y7_iKJqffXQxMgg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*3HGq438y7_iKJqffXQxMgg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*3HGq438y7_iKJqffXQxMgg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*3HGq438y7_iKJqffXQxMgg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*3HGq438y7_iKJqffXQxMgg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*3HGq438y7_iKJqffXQxMgg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*3HGq438y7_iKJqffXQxMgg.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*3HGq438y7_iKJqffXQxMgg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*3HGq438y7_iKJqffXQxMgg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*3HGq438y7_iKJqffXQxMgg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*3HGq438y7_iKJqffXQxMgg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*3HGq438y7_iKJqffXQxMgg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*3HGq438y7_iKJqffXQxMgg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*3HGq438y7_iKJqffXQxMgg.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<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">X data by author<\/figcaption>\n<\/figure>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:232\/1*3cb3BQZv6a4CDPrOzpWdMQ.png\" alt=\"dataset\" width=\"232\" height=\"86\"><\/figure><div class=\"ly lz pi\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:464\/format:webp\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 464w\" 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, 232px\"><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:464\/1*3cb3BQZv6a4CDPrOzpWdMQ.png 464w\" 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, 232px\" data-testid=\"og\"><\/picture><\/div>\n<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">y data by author<\/figcaption>\n<\/figure>\n<p id=\"dccb\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">Now that we have seen our myriad of features (including one categorical one), we can incorporate this into Comet.<\/p>\n<h2 id=\"1e75\" class=\"nw nx fr be ny nz oa ob oc od oe of og nb oh oi oj nf ok ol om nj on oo op oq bj\" data-selectable-paragraph=\"\">Comet Incorporation<\/h2>\n<p id=\"964e\" class=\"pw-post-body-paragraph ms mt fr mu b gp or mw mx gs os mz na nb ot nd ne nf ou nh ni nj ov nl nm nn fk bj\" data-selectable-paragraph=\"\">Note: Import the Comet library first and initialize the project before proceeding with any other code for a smoother way forward.<\/p>\n<p id=\"2956\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">First, import the Comet library and initialize our project under the name \u201ccatboost_comet.\u201d<\/p>\n<pre class=\"mb mc md me mf oy oz pa bo pb ba bj\"><span id=\"93a8\" class=\"pc nx fr oz b bf pd pe l pf pg\" data-selectable-paragraph=\"\"><span class=\"hljs-keyword\">import<\/span> comet_ml\ncomet_ml.login(project_name=<span class=\"hljs-string\">\"catboost_comet\"<\/span>)<\/span><\/pre>\n<p id=\"62d5\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">We then define our categorical features and perform train-validation splits for the training of our model. Catboost requires a user to specify the categorical features that a dataset has.<\/p>\n<pre class=\"mb mc md me mf oy oz pa bo pb ba bj\"><span id=\"4f67\" class=\"pc nx fr oz b bf pd pe l pf pg\" data-selectable-paragraph=\"\"><span class=\"hljs-keyword\">from<\/span> sklearn.model_selection <span class=\"hljs-keyword\">import<\/span> train_test_split\n<span class=\"hljs-keyword\">import<\/span> numpy <span class=\"hljs-keyword\">as<\/span> np\n\n<span class=\"hljs-comment\">#defining categorical features<\/span>\ncategorical_features_indices = np.where(X.dtypes !=np.<span class=\"hljs-built_in\">float<\/span>)[<span class=\"hljs-number\">0<\/span>]\n\n<span class=\"hljs-comment\">#Train-test split<\/span>\nX_train, X_validation, y_train, y_validation = train_test_split(X, y, train_size = <span class=\"hljs-number\">0.8<\/span>, random_state = <span class=\"hljs-number\">12<\/span>)\n<\/span><\/pre>\n<p id=\"adc5\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">Now, we can feed the above information into Catboost\u2019s regressor and perform training.<\/p>\n<pre class=\"mb mc md me mf oy oz pa bo pb ba bj\"><span id=\"8daf\" class=\"pc nx fr oz b bf pd pe l pf pg\" data-selectable-paragraph=\"\"><span class=\"hljs-keyword\">from<\/span> catboost <span class=\"hljs-keyword\">import<\/span> CatBoostRegressor\n\n<span class=\"hljs-comment\">#defining model params<\/span>\nmodel  = CatBoostRegressor(iterations=<span class=\"hljs-number\">50<\/span>, depth=<span class=\"hljs-number\">3<\/span>, learning_rate=<span class=\"hljs-number\">0.1<\/span>, loss_function=<span class=\"hljs-string\">'RMSE'<\/span>, early_stopping_rounds=<span class=\"hljs-number\">5<\/span>)\n\n<span class=\"hljs-comment\">#training model on data<\/span>\nmodel.fit(X_train, y_train, cat_features=categorical_features_indices, eval_set=(X_validation, y_validation), plot=<span class=\"hljs-literal\">True<\/span>)\n\n<span class=\"hljs-comment\">#performing inference<\/span>\ny_valid = model.predict(X_validation)\n<\/span><\/pre>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*EgOSVotYGMPATOPv1loaWw.png\" alt=\"training runs and results\" width=\"700\" height=\"345\"><\/figure><div class=\"ly lz pj\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*EgOSVotYGMPATOPv1loaWw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*EgOSVotYGMPATOPv1loaWw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*EgOSVotYGMPATOPv1loaWw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*EgOSVotYGMPATOPv1loaWw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*EgOSVotYGMPATOPv1loaWw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*EgOSVotYGMPATOPv1loaWw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*EgOSVotYGMPATOPv1loaWw.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*EgOSVotYGMPATOPv1loaWw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*EgOSVotYGMPATOPv1loaWw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*EgOSVotYGMPATOPv1loaWw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*EgOSVotYGMPATOPv1loaWw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*EgOSVotYGMPATOPv1loaWw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*EgOSVotYGMPATOPv1loaWw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*EgOSVotYGMPATOPv1loaWw.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<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Training run and results by author<\/figcaption>\n<\/figure>\n<p id=\"d11b\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">After this run, there is the expectation that information on the training run will be stored in a folder for the Tensorboard to perform a visualization. This folder will be within the project\u2019s directory. We can extract two files containing the critical info we need from it.<\/p>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:162\/1*xRTWBgHgWevTop-fzHz5_Q.png\" alt=\"local directory\" width=\"162\" height=\"74\"><\/figure><div class=\"ly lz pk\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*xRTWBgHgWevTop-fzHz5_Q.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*xRTWBgHgWevTop-fzHz5_Q.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*xRTWBgHgWevTop-fzHz5_Q.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*xRTWBgHgWevTop-fzHz5_Q.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*xRTWBgHgWevTop-fzHz5_Q.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*xRTWBgHgWevTop-fzHz5_Q.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:324\/format:webp\/1*xRTWBgHgWevTop-fzHz5_Q.png 324w\" 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, 162px\"><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*xRTWBgHgWevTop-fzHz5_Q.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*xRTWBgHgWevTop-fzHz5_Q.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*xRTWBgHgWevTop-fzHz5_Q.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*xRTWBgHgWevTop-fzHz5_Q.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*xRTWBgHgWevTop-fzHz5_Q.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*xRTWBgHgWevTop-fzHz5_Q.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:324\/1*xRTWBgHgWevTop-fzHz5_Q.png 324w\" 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, 162px\" data-testid=\"og\"><\/picture><\/div>\n<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Local directory by author<\/figcaption>\n<\/figure>\n<p id=\"33bb\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">Within the \u201ccatboost_info\u201d directory, we will find the \u201clearn_error.tsv\u201d and \u201ctest_error.tsv\u201d files. We shall log these files into Comet using \u201clog_table().\u201d<\/p>\n<pre class=\"mb mc md me mf oy oz pa bo pb ba bj\"><span id=\"2445\" class=\"pc nx fr oz b bf pd pe l pf pg\" data-selectable-paragraph=\"\"><span class=\"hljs-comment\">#logging both tables to Comet<\/span>\nexperiment.log_table(<span class=\"hljs-string\">\".\/src\/catboost_info\/learn_error.tsv\"<\/span>)\nexperiment.log_table(<span class=\"hljs-string\">\".\/src\/catboost_info\/test_error.tsv\"<\/span>)<\/span><\/pre>\n<p id=\"8d49\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">Once those are complete, we can end the experiment and open Comet to see whether it was successful.<\/p>\n<pre class=\"mb mc md me mf oy oz pa bo pb ba bj\"><span id=\"0d8e\" class=\"pc nx fr oz b bf pd pe l pf pg\" data-selectable-paragraph=\"\"><span class=\"hljs-comment\">#Ending experiment<\/span>\nexperiment.<span class=\"hljs-keyword\">end<\/span>()<\/span><\/pre>\n<h2 id=\"da32\" class=\"nw nx fr be ny nz oa ob oc od oe of og nb oh oi oj nf ok ol om nj on oo op oq bj\" data-selectable-paragraph=\"\">Comet Visualization<\/h2>\n<p id=\"a027\" class=\"pw-post-body-paragraph ms mt fr mu b gp or mw mx gs os mz na nb ot nd ne nf ou nh ni nj ov nl nm nn fk bj\" data-selectable-paragraph=\"\">Once we open our Comet project page, we will find and open our project.<\/p>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:291\/1*zQ6lwqbENHj_FgVudzb0aA.png\" alt=\"Catboost and Comet project cover\" width=\"291\" height=\"399\"><\/figure><div class=\"ly lz pl\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*zQ6lwqbENHj_FgVudzb0aA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*zQ6lwqbENHj_FgVudzb0aA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*zQ6lwqbENHj_FgVudzb0aA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*zQ6lwqbENHj_FgVudzb0aA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*zQ6lwqbENHj_FgVudzb0aA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*zQ6lwqbENHj_FgVudzb0aA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:582\/format:webp\/1*zQ6lwqbENHj_FgVudzb0aA.png 582w\" 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, 291px\"><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*zQ6lwqbENHj_FgVudzb0aA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*zQ6lwqbENHj_FgVudzb0aA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*zQ6lwqbENHj_FgVudzb0aA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*zQ6lwqbENHj_FgVudzb0aA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*zQ6lwqbENHj_FgVudzb0aA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*zQ6lwqbENHj_FgVudzb0aA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:582\/1*zQ6lwqbENHj_FgVudzb0aA.png 582w\" 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, 291px\" data-testid=\"og\"><\/picture><\/div>\n<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Project image by author<\/figcaption>\n<\/figure>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*LP7lAP1e2HK67zPz1bHJkQ.png\" alt=\"screenshot of project in Comet\" width=\"700\" height=\"323\"><\/figure><div class=\"ly lz pm\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*LP7lAP1e2HK67zPz1bHJkQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*LP7lAP1e2HK67zPz1bHJkQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*LP7lAP1e2HK67zPz1bHJkQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*LP7lAP1e2HK67zPz1bHJkQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*LP7lAP1e2HK67zPz1bHJkQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*LP7lAP1e2HK67zPz1bHJkQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*LP7lAP1e2HK67zPz1bHJkQ.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*LP7lAP1e2HK67zPz1bHJkQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*LP7lAP1e2HK67zPz1bHJkQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*LP7lAP1e2HK67zPz1bHJkQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*LP7lAP1e2HK67zPz1bHJkQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*LP7lAP1e2HK67zPz1bHJkQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*LP7lAP1e2HK67zPz1bHJkQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*LP7lAP1e2HK67zPz1bHJkQ.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<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Screenshot of project by author<\/figcaption>\n<\/figure>\n<p id=\"c49a\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">After pressing the prominent blue button in the middle, you will get the menu below and pick \u201cData Panel.\u201d<\/p>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*9iT8WUSSbRCQdfaNeSrbOQ.png\" alt=\"Comet menu with scatter chart highlighted \" width=\"700\" height=\"287\"><\/figure><div class=\"ly lz pn\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*9iT8WUSSbRCQdfaNeSrbOQ.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*9iT8WUSSbRCQdfaNeSrbOQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*9iT8WUSSbRCQdfaNeSrbOQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*9iT8WUSSbRCQdfaNeSrbOQ.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<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Comet Menu by author<\/figcaption>\n<\/figure>\n<p id=\"1620\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">After opening that menu, we will find a drop-down menu called \u201cData Selection,\u201d where we will see the two tables we initially uploaded.<\/p>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*cQEqdwaMnwRNVHI0GiTudA.png\" alt=\"adding data chart to Comet project\" width=\"700\" height=\"716\"><\/figure><div class=\"ly lz po\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*cQEqdwaMnwRNVHI0GiTudA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*cQEqdwaMnwRNVHI0GiTudA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*cQEqdwaMnwRNVHI0GiTudA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*cQEqdwaMnwRNVHI0GiTudA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*cQEqdwaMnwRNVHI0GiTudA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*cQEqdwaMnwRNVHI0GiTudA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*cQEqdwaMnwRNVHI0GiTudA.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*cQEqdwaMnwRNVHI0GiTudA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*cQEqdwaMnwRNVHI0GiTudA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*cQEqdwaMnwRNVHI0GiTudA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*cQEqdwaMnwRNVHI0GiTudA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*cQEqdwaMnwRNVHI0GiTudA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*cQEqdwaMnwRNVHI0GiTudA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*cQEqdwaMnwRNVHI0GiTudA.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<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Screenshot by author<\/figcaption>\n<\/figure>\n<p id=\"4085\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">We then pick the first table, and it will give a preview of the data. After we press it, it will appear on the original page with no panels, as seen below.<\/p>\n<figure class=\"mb mc md me mf mg ly lz paragraph-image\">\n<div class=\"mh mi ee mj bg mk\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"bg lf ml c alignnone\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/1*yJNHHfiRjgWmEVK8r9qtAQ.png\" alt=\"screenshot of project in Comet\" width=\"700\" height=\"326\"><\/figure><div class=\"ly lz pp\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*yJNHHfiRjgWmEVK8r9qtAQ.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*yJNHHfiRjgWmEVK8r9qtAQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*yJNHHfiRjgWmEVK8r9qtAQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*yJNHHfiRjgWmEVK8r9qtAQ.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<figcaption class=\"mm mn mo ly lz mp mq be b bf z dw\" data-selectable-paragraph=\"\">Screenshot by author.<\/figcaption>\n<\/figure>\n<p id=\"b267\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">When we press \u201cAdd\u201d in the top right corner, we see the option to add another panel, and then we can repeat the process for the other table that we logged in.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"fk fl fm fn fo\">\n<div class=\"ab ca\">\n<div class=\"ch bg ew ex ey ez\">\n<p id=\"028d\" class=\"pw-post-body-paragraph ms mt fr mu b gp mv mw mx gs my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn fk bj\" data-selectable-paragraph=\"\">We finally have logged information concerning Catboost workflows using Comet\u2019s support for the Tensorboard. In this tutorial, we have successfully integrated a library that Comet does not officially support.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Photo by Campaign Creators on Unsplash Catboost is one of the most versatile gradient-boosting models. Its crucial capability is processing categorical data without converting it to numerical data. This means that the model can perform its function as you desire after specifying categorical data. An added benefit is that a data practitioner can easily and [&hellip;]<\/p>\n","protected":false},"author":79,"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":"","footnotes":""},"categories":[23,7],"tags":[],"coauthors":[176],"class_list":["post-8530","post","type-post","status-publish","format-standard","hentry","category-integrations","category-tutorials"],"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>How to Integrate Comet with Catboost Workflows<\/title>\n<meta name=\"description\" content=\"Learn how to integrat Catboost workflows, a library that Comet does not officially support, in this step by step tutorial.\" \/>\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\/how-to-integrate-comet-with-catboost-workflows\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Integrate Comet with Catboost Workflows\" \/>\n<meta property=\"og:description\" content=\"Learn how to integrat Catboost workflows, a library that Comet does not officially support, in this step by step tutorial.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows\" \/>\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=\"2024-01-09T14:00:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-24T17:03:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*oygcvjT9V-Z9plzY\" \/>\n<meta name=\"author\" content=\"Mwanikii Njagi\" \/>\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=\"Mwanikii Njagi\" \/>\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":"How to Integrate Comet with Catboost Workflows","description":"Learn how to integrat Catboost workflows, a library that Comet does not officially support, in this step by step tutorial.","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\/how-to-integrate-comet-with-catboost-workflows","og_locale":"en_US","og_type":"article","og_title":"How to Integrate Comet with Catboost Workflows","og_description":"Learn how to integrat Catboost workflows, a library that Comet does not officially support, in this step by step tutorial.","og_url":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows","og_site_name":"Comet","article_publisher":"https:\/\/www.facebook.com\/cometdotml","article_published_time":"2024-01-09T14:00:03+00:00","article_modified_time":"2025-04-24T17:03:35+00:00","og_image":[{"url":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*oygcvjT9V-Z9plzY","type":"","width":"","height":""}],"author":"Mwanikii Njagi","twitter_card":"summary_large_image","twitter_creator":"@Cometml","twitter_site":"@Cometml","twitter_misc":{"Written by":"Mwanikii Njagi","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows#article","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows\/"},"author":{"name":"Mwanikii Njagi","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/c7043b3e6b992af7b3220aa1f27d2162"},"headline":"How to Integrate Comet with Catboost Workflows","datePublished":"2024-01-09T14:00:03+00:00","dateModified":"2025-04-24T17:03:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows\/"},"wordCount":833,"publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows#primaryimage"},"thumbnailUrl":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*oygcvjT9V-Z9plzY","articleSection":["Integrations","Tutorials"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows\/","url":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows","name":"How to Integrate Comet with Catboost Workflows","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows#primaryimage"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows#primaryimage"},"thumbnailUrl":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*oygcvjT9V-Z9plzY","datePublished":"2024-01-09T14:00:03+00:00","dateModified":"2025-04-24T17:03:35+00:00","description":"Learn how to integrat Catboost workflows, a library that Comet does not officially support, in this step by step tutorial.","breadcrumb":{"@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows#primaryimage","url":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*oygcvjT9V-Z9plzY","contentUrl":"https:\/\/miro.medium.com\/v2\/resize:fit:700\/0*oygcvjT9V-Z9plzY"},{"@type":"BreadcrumbList","@id":"https:\/\/www.comet.com\/site\/blog\/how-to-integrate-comet-with-catboost-workflows#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.comet.com\/site\/"},{"@type":"ListItem","position":2,"name":"How to Integrate Comet with Catboost Workflows"}]},{"@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\/c7043b3e6b992af7b3220aa1f27d2162","name":"Mwanikii Njagi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/image\/1a3c516cf04aca9418dfb2213081f4df","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2023\/08\/cropped-1_2jy9gyk0G_yaniWm8gJFVA-1-96x96.webp","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2023\/08\/cropped-1_2jy9gyk0G_yaniWm8gJFVA-1-96x96.webp","caption":"Mwanikii Njagi"},"url":"https:\/\/www.comet.com\/site\/blog\/author\/freddynjagigmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/8530","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\/79"}],"replies":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/comments?post=8530"}],"version-history":[{"count":1,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/8530\/revisions"}],"predecessor-version":[{"id":15407,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/8530\/revisions\/15407"}],"wp:attachment":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media?parent=8530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/categories?post=8530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/tags?post=8530"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/coauthors?post=8530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}