{"id":201497,"date":"2024-01-24T10:30:10","date_gmt":"2024-01-24T15:30:10","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=201497"},"modified":"2024-01-24T10:30:53","modified_gmt":"2024-01-24T15:30:53","slug":"hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/","title":{"rendered":"Hierarchical Clustering in Python: A Comprehensive Implementation Guide &#8211; Part II"},"content":{"rendered":"\n<p><em>See<a href=\"\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-i\/\"> Part I<\/a> for an overview.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"key-concepts-of-hierarchical-clustering\">Key concepts of hierarchical clustering<\/h2>\n\n\n\n<p>Let us find the key concepts of hierarchical clustering before moving forward since these will help you with the in-depth learning of hierarchical clustering.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-to-identify-if-two-clusters-are-similar\">How to identify if two clusters are similar?<\/h3>\n\n\n\n<p>One of the ways to do so is to find the distance between clusters.<\/p>\n\n\n\n<p><strong>Measure of distance (similarity)<\/strong><\/p>\n\n\n\n<p>The distance between two clusters can be computed based on the length of the straight line drawn from one cluster to another. This is commonly known as the Euclidean distance.<\/p>\n\n\n\n<p>The Euclidean distance between two points in either the plane or 3-dimensional space measures the length of a segment connecting the two points. It is the most obvious way of representing distance between two points.<\/p>\n\n\n\n<p>If the (x1,y1) and (x2,y2) are points in 2-dimensional space then the euclidean distance between is:<\/p>\n\n\n\n<p>(x2-x1)2 &#8211; (y2-y1)2<\/p>\n\n\n\n<p>Other than Euclidean distance, several other metrics have been developed to measure distance such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hamming Distance<\/li>\n\n\n\n<li>Manhattan Distance (Taxicab or City Block)<\/li>\n\n\n\n<li>Minkowski Distance<\/li>\n<\/ul>\n\n\n\n<p>The choice of distance metrics should be based on the field of study or the problem that you are trying to solve.<\/p>\n\n\n\n<p>For example, if you are trying to measure the distance between objects on a uniform grid, like a chessboard or city blocks. Then Manhattan distance would be an apt choice.<\/p>\n\n\n\n<p><strong>Linkage Criterion<\/strong><\/p>\n\n\n\n<p>After selecting a distance metric, it is necessary to determine from where distance is computed. Some of the common linkage methods are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Single-Linkage:&nbsp;<\/strong>Single linkage or nearest linkage is the shortest distance between a pair of observations in two clusters.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"538\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Single-linkage-quantinsti.png\" alt=\"\" class=\"wp-image-201500 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Single-linkage-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Single-linkage-quantinsti-700x523.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Single-linkage-quantinsti-300x224.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/538;\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Complete-linkage:&nbsp;<\/strong>Complete linkage or farthest linkage is the farthest distance between a pair of observations in two clusters.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"538\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Complete-Linkage-quantinsti.png\" alt=\"\" class=\"wp-image-201501 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Complete-Linkage-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Complete-Linkage-quantinsti-700x523.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Complete-Linkage-quantinsti-300x224.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/538;\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Average-linkage:<\/strong>&nbsp;Average linkage is the distance between each observation in one cluster to every observation in the other cluster.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"538\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Average-Linkage-quantinsti.png\" alt=\"\" class=\"wp-image-201502 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Average-Linkage-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Average-Linkage-quantinsti-700x523.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Average-Linkage-quantinsti-300x224.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/538;\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Centroid-linkage:&nbsp;<\/strong>Centroid linkage is the distance between the centroids of two clusters. In this, you need to find the centroid of two clusters and then calculate the distance between them before merging.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"538\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Centroid-Linkage-quantinsti.png\" alt=\"\" class=\"wp-image-201503 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Centroid-Linkage-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Centroid-Linkage-quantinsti-700x523.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Centroid-Linkage-quantinsti-300x224.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/538;\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ward\u2019s-linkage:&nbsp;<\/strong>Ward\u2019s method or minimum variance method or Ward\u2019s minimum variance clustering method calculates the distance between two clusters as the increase in the error sum of squares after merging two clusters into a single cluster.<\/li>\n<\/ul>\n\n\n\n<p>In short, ward linkage is the distance which minimises variance in the cluster and maximises variance between the clusters.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"825\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Ward-s-linkage-quantinsti.png\" alt=\"\" class=\"wp-image-201505 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Ward-s-linkage-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Ward-s-linkage-quantinsti-700x802.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Ward-s-linkage-quantinsti-300x344.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/825;\" \/><\/figure>\n\n\n\n<p>The choice of linkage criterion is based on the domain application. Average-linkage and complete-linkage are the two most popular distance metrics in hierarchical clustering.<\/p>\n\n\n\n<p>However, when there are no clear theoretical justifications for the choice of linkage criteria, Ward\u2019s method is the default option.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-to-choose-the-number-of-clusters\">How to choose the number of clusters?<\/h3>\n\n\n\n<p>To choose the number of clusters in hierarchical clustering, we make use of a concept called dendrogram.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-a-dendrogram\">What is a Dendrogram?<\/h3>\n\n\n\n<p>A dendrogram is a tree-like diagram that shows the hierarchical relationship between the observations. It contains the memory of hierarchical clustering algorithms.<\/p>\n\n\n\n<p>Just by looking at the Dendrogram, you can tell how the cluster is formed. Let&#8217;s see how to form the dendrogram for the below data points.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"488\" height=\"395\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Dendrogram-2-quantinsti.png\" alt=\"\" class=\"wp-image-201506 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Dendrogram-2-quantinsti.png 488w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Dendrogram-2-quantinsti-300x243.png 300w\" data-sizes=\"(max-width: 488px) 100vw, 488px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 488px; aspect-ratio: 488\/395;\" \/><\/figure>\n\n\n\n<p>The observations E and F are closest to each other by any other points. So, they are combined into one cluster and also the height of the link that joins them together is the smallest. The next observations that are closest to each other are A and B which are combined together.<\/p>\n\n\n\n<p>This can also be observed in the dendrogram as the height of the block between A and B is slightly bigger than E and F. Similarly, D can be merged into E and F clusters and then C can be combined to that. Finally, A and B combined to C, D, E and F to form a single cluster.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"182\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Combined-to-become-single-cluster-quantinsti.png\" alt=\"\" class=\"wp-image-201507 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Combined-to-become-single-cluster-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Combined-to-become-single-cluster-quantinsti-700x177.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Combined-to-become-single-cluster-quantinsti-300x76.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/182;\" \/><\/figure>\n\n\n\n<p>The important point to note while reading the dendrogram is that:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The Height of the blocks represents the distance between clusters, and<\/li>\n\n\n\n<li>Distance between observations represents dissimilarities.<\/li>\n<\/ol>\n\n\n\n<p>But the question still remains the same, how do we find the number of clusters using a dendrogram or where should we stop merging the clusters? Observations are allocated to clusters by drawing a horizontal line through the dendrogram.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"584\" height=\"460\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Figure-the-number-of-clusters-quantinsti.png\" alt=\"\" class=\"wp-image-201508 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Figure-the-number-of-clusters-quantinsti.png 584w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/01\/Figure-the-number-of-clusters-quantinsti-300x236.png 300w\" data-sizes=\"(max-width: 584px) 100vw, 584px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 584px; aspect-ratio: 584\/460;\" \/><\/figure>\n\n\n\n<p>Generally, we cut the dendrogram in such a way that it cuts the tallest vertical line. In the above example, we have two clusters. One cluster has observations A and B, and a second cluster has C, D, E, and F.<\/p>\n\n\n\n<p><em>Stay tuned for Part III.<\/em><\/p>\n\n\n\n<p><em>Originally posted on&nbsp;<a href=\"https:\/\/blog.quantinsti.com\/hierarchical-clustering-python\/\">QuantInsti<\/a>&nbsp;blog.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let us find the key concepts of hierarchical clustering before moving forward since these will help you with the in-depth learning of hierarchical clustering.<\/p>\n","protected":false},"author":186,"featured_media":181436,"comment_status":"open","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,343,349,338,341],"tags":[16587,16590,16588,806,16591,16557,16558,595,16586,16589],"contributors-categories":[13654],"class_list":{"0":"post-201497","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-programing-languages","9":"category-python-development","10":"category-ibkr-quant-news","11":"category-quant-development","12":"tag-average-linkage","13":"tag-centroid-linkage","14":"tag-complete-linkage","15":"tag-data-science","16":"tag-dendrogram","17":"tag-hierarchical-clustering","18":"tag-k-means-in-hierarchical-clustering","19":"tag-python","20":"tag-single-linkage","21":"tag-wards-linkage","22":"contributors-categories-quantinsti"},"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Hierarchical Clustering in Python: A Comprehensive Implementation Guide &#8211; Part II<\/title>\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.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/201497\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hierarchical Clustering in Python: A Comprehensive Implementation Guide \u2013 Part II\" \/>\n<meta property=\"og:description\" content=\"Let us find the key concepts of hierarchical clustering before moving forward since these will help you with the in-depth learning of hierarchical clustering.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-24T15:30:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-24T15:30:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/01\/abstract-data.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"563\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Contributor Author\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Contributor Author\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Contributor Author\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/e823e46b42ca381080387e794318a485\"\n\t            },\n\t            \"headline\": \"Hierarchical Clustering in Python: A Comprehensive Implementation Guide &#8211; Part II\",\n\t            \"datePublished\": \"2024-01-24T15:30:10+00:00\",\n\t            \"dateModified\": \"2024-01-24T15:30:53+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/\"\n\t            },\n\t            \"wordCount\": 763,\n\t            \"commentCount\": 0,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/01\\\/abstract-data.jpg\",\n\t            \"keywords\": [\n\t                \"Average-linkage\",\n\t                \"Centroid-linkage\",\n\t                \"Complete-linkage\",\n\t                \"Data Science\",\n\t                \"Dendrogram\",\n\t                \"Hierarchical Clustering\",\n\t                \"K-Means in Hierarchical Clustering\",\n\t                \"Python\",\n\t                \"Single-Linkage\",\n\t                \"Ward\u2019s-linkage\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\",\n\t                \"Quant Development\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/\",\n\t            \"name\": \"Hierarchical Clustering in Python: A Comprehensive Implementation Guide - Part II | IBKR Campus US\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/01\\\/abstract-data.jpg\",\n\t            \"datePublished\": \"2024-01-24T15:30:10+00:00\",\n\t            \"dateModified\": \"2024-01-24T15:30:53+00:00\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/01\\\/abstract-data.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/01\\\/abstract-data.jpg\",\n\t            \"width\": 1000,\n\t            \"height\": 563,\n\t            \"caption\": \"Making Informed Investment Decisions with Alternative Data\"\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/e823e46b42ca381080387e794318a485\",\n\t            \"name\": \"Contributor Author\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/contributor-author\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Hierarchical Clustering in Python: A Comprehensive Implementation Guide &#8211; Part II","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.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/201497\/","og_locale":"en_US","og_type":"article","og_title":"Hierarchical Clustering in Python: A Comprehensive Implementation Guide \u2013 Part II","og_description":"Let us find the key concepts of hierarchical clustering before moving forward since these will help you with the in-depth learning of hierarchical clustering.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/","og_site_name":"IBKR Campus US","article_published_time":"2024-01-24T15:30:10+00:00","article_modified_time":"2024-01-24T15:30:53+00:00","og_image":[{"width":1000,"height":563,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/01\/abstract-data.jpg","type":"image\/jpeg"}],"author":"Contributor Author","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Contributor Author","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/"},"author":{"name":"Contributor Author","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/e823e46b42ca381080387e794318a485"},"headline":"Hierarchical Clustering in Python: A Comprehensive Implementation Guide &#8211; Part II","datePublished":"2024-01-24T15:30:10+00:00","dateModified":"2024-01-24T15:30:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/"},"wordCount":763,"commentCount":0,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/01\/abstract-data.jpg","keywords":["Average-linkage","Centroid-linkage","Complete-linkage","Data Science","Dendrogram","Hierarchical Clustering","K-Means in Hierarchical Clustering","Python","Single-Linkage","Ward\u2019s-linkage"],"articleSection":["Data Science","Programming Languages","Python Development","Quant","Quant Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/","name":"Hierarchical Clustering in Python: A Comprehensive Implementation Guide - Part II | IBKR Campus US","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/01\/abstract-data.jpg","datePublished":"2024-01-24T15:30:10+00:00","dateModified":"2024-01-24T15:30:53+00:00","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/hierarchical-clustering-in-python-a-comprehensive-implementation-guide-part-ii\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/01\/abstract-data.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/01\/abstract-data.jpg","width":1000,"height":563,"caption":"Making Informed Investment Decisions with Alternative Data"},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/e823e46b42ca381080387e794318a485","name":"Contributor Author","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/contributor-author\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2023\/01\/abstract-data.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/201497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/186"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=201497"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/201497\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/181436"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=201497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=201497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=201497"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=201497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}