<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Data For Science]]></title><description><![CDATA[A newsletter about all things Data Science, Machine Learning and AI, by Bruno Gonçalves]]></description><link>https://data4sci.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!4Dtu!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc84f944b-a7ca-472c-bccb-7f9f18ad0bfa_540x540.png</url><title>Data For Science</title><link>https://data4sci.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sat, 23 May 2026 04:50:04 GMT</lastBuildDate><atom:link href="https://data4sci.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Data For Science, Inc]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[data4sci@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[data4sci@substack.com]]></itunes:email><itunes:name><![CDATA[Bruno Gonçalves]]></itunes:name></itunes:owner><itunes:author><![CDATA[Bruno Gonçalves]]></itunes:author><googleplay:owner><![CDATA[data4sci@substack.com]]></googleplay:owner><googleplay:email><![CDATA[data4sci@substack.com]]></googleplay:email><googleplay:author><![CDATA[Bruno Gonçalves]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[From News Articles to Knowledge Graphs with spaCy and NetworkX]]></title><description><![CDATA[Building a complete NLP pipeline to extract entities, discover relationships, and visualize knowledge networks from unstructured text]]></description><link>https://data4sci.substack.com/p/from-news-articles-to-knowledge-graphs</link><guid isPermaLink="false">https://data4sci.substack.com/p/from-news-articles-to-knowledge-graphs</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sat, 09 May 2026 11:38:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jigf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>News articles encode relationships in plain language all the time&#8230; &#8220;Apple acquired Beats Electronics&#8221;, &#8220;President Obama visited France&#8221;, &#8220;Google announced a partnership with Samsung&#8221;. </p><p>Each sentence is a triple in disguise: two entities and a verb tying them together. If we extract enough of them across enough articles, we get a knowledge graph: a structure we can query, visualize, and reason over.</p><p>This post walks through that pipeline end-to-end. We start from raw news text, run named entity recognition with spaCy, infer relationships, and analyze the resulting graph.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>As always, you can find the companion notebook on the Graphs for Data Science GitHub repository:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://github.com/DataForScience/Graphs4Sci&quot;,&quot;text&quot;:&quot;Graphs For Science GitHub&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://github.com/DataForScience/Graphs4Sci"><span>Graphs For Science GitHub</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ydTG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0aff2125-c801-4968-985d-479c9506a82d_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>We use the AG News corpus, 120,000 articles across four categories (World, Sports, Business, Sci/Tech). For the sake of expediency, we sample 2,000 articles, balanced 500 per category. Loading is a single call to <a href="https://huggingface.co/datasets/sh0416/ag_news">Hugging Face</a>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;fd866c2f-fad6-4801-9b2e-e60bc03c8047&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">from datasets import load_dataset

dataset = load_dataset('ag_news', split='train')
df = dataset.to_pandas()
df.columns = ['text', 'label']
df['category'] = df['label'].map({0: 'World', 1: 'Sports',
                                  2: 'Business', 3: 'Sci/Tech'})
df = df.groupby('category').sample(500, random_state=42)</code></pre></div><p>Two thousand articles are enough that real co-occurrences rise above noise, but small enough that the whole pipeline runs in a few minutes. A light cleaning pass to strip HTML, collapse whitespace, etc., is all the preprocessing the parser needs.</p><h1>Named Entity Recognition</h1><p>The first step in any knowledge graph pipeline is pulling entities out of the text. We use spaCy&#8217;s `en_core_web_lg` model and keep five entity types relevant to news: <em>PERSON</em>, <em>ORG</em>, <em>GPE</em> (countries, cities, states), <em>EVENT</em>, and <em>NORP</em> (nationalities, religious or political groups).</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;f92a978d-65eb-496e-ad4c-cbda681d10a2&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">import spacy
nlp = spacy.load('en_core_web_lg')
ENTITY_TYPES = {'PERSON', 'ORG', 'GPE', 'EVENT', 'NORP'}

rows = []
for art_idx, doc in enumerate(nlp.pipe(df['text_clean'], batch_size=100)):
    for sent in doc.sents:
        for ent in sent.ents:
            if ent.label_ in ENTITY_TYPES:
                rows.append({'article_idx': art_idx,
                             'sentence':    sent.text,
                             'entity':      ent.text,
                             'label':       ent.label_})</code></pre></div><p>On my MBP laptop, these 4,000 articles parse in less than five minutes. One problem becomes immediately apparent when NER finishes: The same entity can be referred to in different ways. For example, &#8221;U.S.&#8221;, &#8221;US&#8221;, &#8221;United States&#8221;, and &#8221;the United States&#8221; all refer to the same entity, but spaCy returns them as four distinct strings. If we want to prevent the graph from fragmenting into duplicate copies of every common entity, we must merge these variations into a single entity. </p><p>We implement this with a few simple hand-curated mappings (see notebook for the full list):</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;40661f3e-8414-4284-9bed-4492a4e7187b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">ABBREV_MAP = {'U.S.': 'United States', 'US': 'United States',
              'UK': 'United Kingdom',  'EU': 'European Union'}

def normalize_entity(text):
    text = text.strip()
    for prefix in ('the ', 'The ', 'a ', 'A '):
        if text.startswith(prefix):
            text = text[len(prefix):]
            break
    text = re.sub(r"'s$", '', text)
    return ABBREV_MAP.get(text, text)</code></pre></div><p>On AG News, this reduces duplicate node forms by 40-60%, significantly improving the quality of our graph. For a production system, you&#8217;d want to perform entity linking against Wikidata or DBpedia. Still, for a simple exploratory pipeline, this gets you most of the way at a fraction of the cost.</p><p>Our sample has a wide range of entities covering a wealth of different topics:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mLqH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mLqH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 424w, https://substackcdn.com/image/fetch/$s_!mLqH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 848w, https://substackcdn.com/image/fetch/$s_!mLqH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 1272w, https://substackcdn.com/image/fetch/$s_!mLqH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mLqH!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png" width="1200" height="690.6593406593406" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:838,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:715415,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mLqH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 424w, https://substackcdn.com/image/fetch/$s_!mLqH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 848w, https://substackcdn.com/image/fetch/$s_!mLqH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 1272w, https://substackcdn.com/image/fetch/$s_!mLqH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceca67bc-8d7e-4f87-8652-d41b7c2944cf_4656x2679.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h1>Relation Extraction</h1><p>Entities alone are just a list. The edges are where the graph becomes interesting, and there are two complementary ways to find them.</p><p>The first is <strong>co-occurrence</strong>. If two entities appear in the same sentence, treat them as related and accumulate a count across sentences:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;59601ed7-46e9-4eb6-bdaf-ecf697010cea&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">from itertools import combinations
from collections import Counter

pair_counter = Counter()
for (_, _), group in ent_df.groupby(['article_idx', 'sentence_idx']):
    entities = sorted(set(group['entity_norm']))
    for e1, e2 in combinations(entities, 2):
        pair_counter[(e1, e2)] += 1</code></pre></div><p>Co-occurrence is high-recall and noisy. Two entities mentioned in one sentence aren&#8217;t necessarily related. Still, the noise corrects itself at scale: real relationships co-occur repeatedly across articles, while spurious pairings have lower weights and get pruned later. The downside is that the edges are unlabeled: we know two entities are related, but not how.</p><p>For labels, we need syntax. The trick is to walk up spaCy&#8217;s dependency tree from each entity to the lowest common ancestor, and if that ancestor is a verb, that verb is the relation:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;a8b5da20-8bc1-4cda-a7e5-6da58c885889&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">def get_relation_verb(ent1_span, ent2_span):
    e1_ancestors = set()
    tok = ent1_span.root
    while tok.head is not tok:
        e1_ancestors.add(tok.head); tok = tok.head

    tok = ent2_span.root
    while tok.head is not tok:
        if tok.head in e1_ancestors and tok.head.pos_ == 'VERB':
            return tok.head.lemma_
        tok = tok.head
    return None</code></pre></div><p>This produces labeled triples like <em>(Apple, acquire, Beats)</em>, <em>(Biden, visit, France)</em>, and <em>(Google, announce, Samsung)</em>. Dependency parsing is precise when it works, but still limited. Passages using the passive voice, complex clauses with multiple verbs, and conjunctions all defeat it. In practice, the right move is to use both: co-occurrence for edge weights and coverage, dependency parsing as a labeling layer that fills in verbs wherever it can.</p><h1>Building the Graph and Pruning It Down</h1><p>NetworkX assembly is mechanical once you have entities and edges. Each node carries its dominant entity type and a mention count; each edge carries a co-occurrence weight and an optional verb label. The interesting work is what comes next.</p><p>The raw graph is a messy hairball with thousands of nodes, most appearing once, and most edges are sentence-level coincidences. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k5wa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k5wa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 424w, https://substackcdn.com/image/fetch/$s_!k5wa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 848w, https://substackcdn.com/image/fetch/$s_!k5wa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 1272w, https://substackcdn.com/image/fetch/$s_!k5wa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k5wa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png" width="1456" height="964" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:964,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:19626475,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k5wa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 424w, https://substackcdn.com/image/fetch/$s_!k5wa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 848w, https://substackcdn.com/image/fetch/$s_!k5wa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 1272w, https://substackcdn.com/image/fetch/$s_!k5wa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a229b5c-d936-48b9-b3f1-8cd6b7fc1d14_7098x4698.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We drop edges with weight below 2, then drop nodes with degree below 2. In our data sample, this removes 70-80% of the structure, and what remains are entities that meaningfully co-occur and are connected by relationships that are consistent across multiple articles. The result is much cleaner:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!svk8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!svk8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 424w, https://substackcdn.com/image/fetch/$s_!svk8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 848w, https://substackcdn.com/image/fetch/$s_!svk8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 1272w, https://substackcdn.com/image/fetch/$s_!svk8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!svk8!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png" width="1200" height="794.5054945054945" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:964,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:2938682,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!svk8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 424w, https://substackcdn.com/image/fetch/$s_!svk8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 848w, https://substackcdn.com/image/fetch/$s_!svk8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 1272w, https://substackcdn.com/image/fetch/$s_!svk8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88c6ac05-f4a7-40f9-8ff8-533c5216852c_7098x4698.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h1>Analysis</h1><p>Once the graph is clean, classical network analysis answers most of the interesting questions. <a href="https://data4sci.substack.com/p/markov-chains-and-pagerank">PageRank</a> ranks entities by structural prominence (an entity is important if it&#8217;s connected to many other important entities) and surfaces the heads of state, large corporations, and geopolitical hot spots that sit at the center of news coverage. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3IZS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3IZS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 424w, https://substackcdn.com/image/fetch/$s_!3IZS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 848w, https://substackcdn.com/image/fetch/$s_!3IZS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 1272w, https://substackcdn.com/image/fetch/$s_!3IZS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3IZS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png" width="1456" height="995" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:995,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:190728,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3IZS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 424w, https://substackcdn.com/image/fetch/$s_!3IZS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 848w, https://substackcdn.com/image/fetch/$s_!3IZS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 1272w, https://substackcdn.com/image/fetch/$s_!3IZS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc04cebef-9091-43b9-847c-04cfc55ee560_1502x1026.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If we now size the nodes by their PageRank, and restrict our graph to just the Top 100 nodes by PageRank, we obtain a nice visual representation of the contents of the news knowledge graph:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jigf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jigf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 424w, https://substackcdn.com/image/fetch/$s_!jigf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 848w, https://substackcdn.com/image/fetch/$s_!jigf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 1272w, https://substackcdn.com/image/fetch/$s_!jigf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jigf!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png" width="1200" height="815.1098901098901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:989,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1224776,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jigf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 424w, https://substackcdn.com/image/fetch/$s_!jigf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 848w, https://substackcdn.com/image/fetch/$s_!jigf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 1272w, https://substackcdn.com/image/fetch/$s_!jigf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F828f1802-f6ce-4fd1-a8ee-a0edd35b9b24_3738x2538.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://data4sci.substack.com/p/node-centrality">Betweenness centrality</a>, on the other hand, finds bridges between clusters, entities that show up in multiple otherwise-separate stories. A pharmaceutical company that appears in both Business and Sci/Tech, or a country that turns up in both World and Sports, will have a lower PageRank but a high betweenness. That&#8217;s how we can identify cross-domain stories.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fcn1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fcn1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 424w, https://substackcdn.com/image/fetch/$s_!Fcn1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 848w, https://substackcdn.com/image/fetch/$s_!Fcn1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!Fcn1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fcn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png" width="1266" height="1034" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1034,&quot;width&quot;:1266,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:153212,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Fcn1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 424w, https://substackcdn.com/image/fetch/$s_!Fcn1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 848w, https://substackcdn.com/image/fetch/$s_!Fcn1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!Fcn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe252ed62-91eb-4a65-aac9-805fd9bb31a2_1266x1034.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://data4sci.substack.com/p/community-structure-and-modularity">Community detection</a> adds one extra layer of nuance to our analysis. News naturally clusters around storylines: the US presidential election, a European football transfer window, a tech acquisition wave. The Louvain algorithm for community detection finds these clusters by maximizing modularity, a measure of how strongly connected a community is internally relative to its external connections. </p><p>The communities we identify map cleanly to recognizable real-world stories, even though Louvain knows nothing about news categories. The graph structure alone is enough!</p><p>In total, we identify 41 communities of varying sizes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sSSC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sSSC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 424w, https://substackcdn.com/image/fetch/$s_!sSSC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 848w, https://substackcdn.com/image/fetch/$s_!sSSC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 1272w, https://substackcdn.com/image/fetch/$s_!sSSC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sSSC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png" width="1456" height="989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:989,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:274445,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sSSC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 424w, https://substackcdn.com/image/fetch/$s_!sSSC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 848w, https://substackcdn.com/image/fetch/$s_!sSSC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 1272w, https://substackcdn.com/image/fetch/$s_!sSSC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5890eaae-ff7b-4634-b4e6-8ca43ac3dfd6_3738x2538.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And a quick look at the nodes that constitute each community makes it clear that they are related, validating the knowledge we included in our knowledge graph:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V4Sg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V4Sg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 424w, https://substackcdn.com/image/fetch/$s_!V4Sg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 848w, https://substackcdn.com/image/fetch/$s_!V4Sg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!V4Sg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V4Sg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png" width="1456" height="968" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:968,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:215380,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/194536080?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!V4Sg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 424w, https://substackcdn.com/image/fetch/$s_!V4Sg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 848w, https://substackcdn.com/image/fetch/$s_!V4Sg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!V4Sg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3a7af-aa69-44b0-9770-dd96d3fecd4c_1586x1054.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ydTG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0aff2125-c801-4968-985d-479c9506a82d_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We hope you enjoyed this Graphs post on the Data for Science Substack and look forward to hearing your thoughts. We hope you</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/from-news-articles-to-knowledge-graphs/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/from-news-articles-to-knowledge-graphs/comments"><span>Leave a comment</span></a></p><p>You can find all the code for the analysis in this post in our companion GitHub Repository <a href="https://github.com/DataForScience/Graphs4Sci">https://github.com/DataForScience/Graphs4Sci</a></p><p>And, of course, don&#8217;t forget to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/from-news-articles-to-knowledge-graphs?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/from-news-articles-to-knowledge-graphs?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>this post with others who might be interested, and encourage them to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>so that they have access to the entire backlog of posts and be the first to know when a new a new article is posted.</p>]]></content:encoded></item><item><title><![CDATA[Airline Traffic Between States]]></title><description><![CDATA[Use custom made pie charts to visualize U.S. Map of State-to-State Travel]]></description><link>https://data4sci.substack.com/p/airline-traffic-between-states</link><guid isPermaLink="false">https://data4sci.substack.com/p/airline-traffic-between-states</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Tue, 21 Apr 2026 20:53:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KcVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Pie charts have a rich history. <a href="https://en.wikipedia.org/wiki/Pie_chart#History">William Playfair</a> first used them in 1801, and despite decades of criticism from data visualization purists, they remain one of the most instantly recognizable ways to show proportions. Today we'll put them to work in a decidedly non-standard way: placing custom-built pie charts directly on a geographic map to reveal where Americans fly.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>You can find the companion notebook on the Visualizarion for Data Science GitHub repository:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://github.com/DataForScience/Viz4sci&quot;,&quot;text&quot;:&quot;Visualization For Science GitHub&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://github.com/DataForScience/Viz4sci"><span>Visualization For Science GitHub</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ydTG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0aff2125-c801-4968-985d-479c9506a82d_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>The <a href="https://www.transtats.bts.gov/Tables.asp?QO_VQ=EED&amp;QO_anzr=Nv4%FDPn44vr4%FDf6n6v56vp5%FD%FLS14z%FDHE%FDg4nssvp%FM-%FD%FDh.f.%FDPn44vr45&amp;QO_fu146_anzr=Nv4%FDPn44vr45">Bureau of Transportation Statistics</a> provides a wide range of datasets on US and global transportation infrastructure. We have used it previously <a href="https://data4sci.substack.com/p/graphs-101">here</a>, <a href="https://data4sci.substack.com/p/network-assortativity-and-the-configurational">here</a>, and <a href="https://data4sci.substack.com/p/geographical-maps-with-cartopy">here</a>.</p><p>The first step in our analysis is to extract the Top destinations for each state. We sort the outgoing destination of each state and extract the Top <strong>n:</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XmR-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XmR-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 424w, https://substackcdn.com/image/fetch/$s_!XmR-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 848w, https://substackcdn.com/image/fetch/$s_!XmR-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 1272w, https://substackcdn.com/image/fetch/$s_!XmR-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XmR-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png" width="1412" height="620" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:620,&quot;width&quot;:1412,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:160259,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/160058618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XmR-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 424w, https://substackcdn.com/image/fetch/$s_!XmR-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 848w, https://substackcdn.com/image/fetch/$s_!XmR-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 1272w, https://substackcdn.com/image/fetch/$s_!XmR-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c9fee27-eee8-4acc-b108-2eae7dbc159b_1412x620.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Applying this function using Pandas <a href="https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html">apply</a> gives us just the edges we need:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dxb_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dxb_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 424w, https://substackcdn.com/image/fetch/$s_!dxb_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 848w, https://substackcdn.com/image/fetch/$s_!dxb_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 1272w, https://substackcdn.com/image/fetch/$s_!dxb_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dxb_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png" width="1456" height="69" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:69,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47565,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/160058618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dxb_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 424w, https://substackcdn.com/image/fetch/$s_!dxb_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 848w, https://substackcdn.com/image/fetch/$s_!dxb_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 1272w, https://substackcdn.com/image/fetch/$s_!dxb_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa01e2e86-46fb-4e3f-85dd-e57813e063a8_2306x110.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Matplotlib has support for <a href="https://matplotlib.org/stable/gallery/pie_and_polar_charts/pie_features.html">pie charts</a>, but it does not allow us to easily draw multiple pie charts in the same Axes object. To achieve this, we have to build our pie charting function from scratch by leveraging matplotlib&#8217;s <a href="https://matplotlib.org/stable/api/patches_api.html">Patches</a>, 2-D shapes such as a rectangles, circles, wedges, arrows, or arbitrarily complex polygons. </p><p>We will represent each slice of the pie as a <a href="https://matplotlib.org/stable/api/_as_gen/matplotlib.patches.Wedge.html">Wedge</a>. </p><p>Our <code>draw_pie</code> function takes a center position, a radius, a list of fractions, and a list of colors. It loops through the fractions, converting each one into a start and end angle, then creates a <code>Wedge</code> patch and adds it to the current Axes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lt_i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lt_i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 424w, https://substackcdn.com/image/fetch/$s_!Lt_i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 848w, https://substackcdn.com/image/fetch/$s_!Lt_i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 1272w, https://substackcdn.com/image/fetch/$s_!Lt_i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lt_i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png" width="1136" height="1458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1458,&quot;width&quot;:1136,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:242596,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/160058618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Lt_i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 424w, https://substackcdn.com/image/fetch/$s_!Lt_i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 848w, https://substackcdn.com/image/fetch/$s_!Lt_i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 1272w, https://substackcdn.com/image/fetch/$s_!Lt_i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd9b771-84d3-4e11-9829-0de7f1d1c85e_1136x1458.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With the function in place, we need to position the pies on a map. We'll use <a href="https://scitools.org.uk/cartopy/docs/latest/">Cartopy</a> for the geographic projection and map features. For each state, we look up its centroid coordinates and draw a pie chart showing the relative share of traffic to its top destinations:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1i5S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1i5S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 424w, https://substackcdn.com/image/fetch/$s_!1i5S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 848w, https://substackcdn.com/image/fetch/$s_!1i5S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 1272w, https://substackcdn.com/image/fetch/$s_!1i5S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1i5S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png" width="1456" height="475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:475,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126935,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/160058618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1i5S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 424w, https://substackcdn.com/image/fetch/$s_!1i5S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 848w, https://substackcdn.com/image/fetch/$s_!1i5S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 1272w, https://substackcdn.com/image/fetch/$s_!1i5S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ecc558-2c5d-46f5-8fbb-1a196df76a8b_1674x546.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Before going all-in, it's always a good idea to test with a single state. Here's what the pie chart for one state (California) looks like on its own:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!id9H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!id9H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 424w, https://substackcdn.com/image/fetch/$s_!id9H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 848w, https://substackcdn.com/image/fetch/$s_!id9H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 1272w, https://substackcdn.com/image/fetch/$s_!id9H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!id9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png" width="443" height="418" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:418,&quot;width&quot;:443,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!id9H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 424w, https://substackcdn.com/image/fetch/$s_!id9H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 848w, https://substackcdn.com/image/fetch/$s_!id9H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 1272w, https://substackcdn.com/image/fetch/$s_!id9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd7ce59d-4b78-4862-a798-0e3b8540ce5e_443x418.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now we can put it all together. We iterate over every state, compute the traffic fractions for its top destinations, and draw a pie chart at the corresponding location on the map. The radius of each pie is scaled by the total traffic volume, so busier states get larger charts:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vVJG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vVJG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 424w, https://substackcdn.com/image/fetch/$s_!vVJG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 848w, https://substackcdn.com/image/fetch/$s_!vVJG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 1272w, https://substackcdn.com/image/fetch/$s_!vVJG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vVJG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png" width="1456" height="611" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:611,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150354,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/160058618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vVJG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 424w, https://substackcdn.com/image/fetch/$s_!vVJG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 848w, https://substackcdn.com/image/fetch/$s_!vVJG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 1272w, https://substackcdn.com/image/fetch/$s_!vVJG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9fc68b8-3589-4067-b540-ba23754a31bb_1648x692.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And here's the result &#8212; a full map of the continental U.S. with pie charts showing the top 5 destinations from each state:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nDaD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nDaD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 424w, https://substackcdn.com/image/fetch/$s_!nDaD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 848w, https://substackcdn.com/image/fetch/$s_!nDaD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!nDaD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nDaD!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png" width="1200" height="834.8901098901099" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1013,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nDaD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 424w, https://substackcdn.com/image/fetch/$s_!nDaD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 848w, https://substackcdn.com/image/fetch/$s_!nDaD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!nDaD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14ab12c0-e025-4604-90af-01b450514bf2_1589x1106.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The visualization is already revealing. States like California and Texas have large, diverse pie charts, while smaller states show more concentrated travel patterns &#8212; often dominated by a single hub. But what happens when we increase the number of destinations? Let's bump it up to the top 10 and see how the picture changes:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YdHz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YdHz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 424w, https://substackcdn.com/image/fetch/$s_!YdHz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 848w, https://substackcdn.com/image/fetch/$s_!YdHz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 1272w, https://substackcdn.com/image/fetch/$s_!YdHz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YdHz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png" width="1256" height="626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:626,&quot;width&quot;:1256,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130805,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/160058618?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YdHz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 424w, https://substackcdn.com/image/fetch/$s_!YdHz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 848w, https://substackcdn.com/image/fetch/$s_!YdHz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 1272w, https://substackcdn.com/image/fetch/$s_!YdHz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce432918-47e4-4728-8cbf-593764a16c3a_1256x626.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With more slices in each pie, the regional patterns become even clearer. Neighboring states often share the same dominant destinations, creating natural clusters of travel corridors:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KcVW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KcVW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 424w, https://substackcdn.com/image/fetch/$s_!KcVW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 848w, https://substackcdn.com/image/fetch/$s_!KcVW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!KcVW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KcVW!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png" width="1200" height="834.8901098901099" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1013,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KcVW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 424w, https://substackcdn.com/image/fetch/$s_!KcVW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 848w, https://substackcdn.com/image/fetch/$s_!KcVW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!KcVW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de96c14-35c2-4ba2-ae9c-63863917a5e1_1589x1106.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What stands out most is how geography shapes air travel. Coastal states connect to distant hubs &#8212; New York, Los Angeles, Chicago &#8212; while states in the middle of the country funnel traffic through regional powerhouses like Dallas and Denver. The pie charts make these patterns immediately visible in a way that a simple table of numbers never could.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ydTG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0aff2125-c801-4968-985d-479c9506a82d_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ydTG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!ydTG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0aff2125-c801-4968-985d-479c9506a82d_1400x76.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We hope you enjoyed this Visualization post on the Data for Science Substack and look forward to hearing your thoughts. We hope you</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/airline-traffic-between-states/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/airline-traffic-between-states/comments"><span>Leave a comment</span></a></p><p></p><p>You can find all the code for the analysis in this post in our companion GitHub Repository </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://github.com/DataForScience/Viz4sci&quot;,&quot;text&quot;:&quot;Visualization For Science GitHub&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://github.com/DataForScience/Viz4sci"><span>Visualization For Science GitHub</span></a></p><p>And, of course, don&#8217;t forget to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/airline-traffic-between-states?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/airline-traffic-between-states?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>this post with others who might be interested, and encourage them to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>so that they have access to the entire backlog of posts and be the first to know when a new a new article is posted.</p>]]></content:encoded></item><item><title><![CDATA[Graph Neural Networks 101]]></title><description><![CDATA[Predicting Molecular Properties from Scratch]]></description><link>https://data4sci.substack.com/p/graph-neural-networks-101</link><guid isPermaLink="false">https://data4sci.substack.com/p/graph-neural-networks-101</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sun, 12 Apr 2026 14:45:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LVU1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the latest post in the Graphs for Data Science substack. In this post, we explore the fundamentals of Graph Neural Networks using a fascinating dataset on molecular structures.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>As always, you can find the companion notebook on the Graphs for Data Science GitHub repository:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://github.com/DataForScience/Graphs4Sci&quot;,&quot;text&quot;:&quot;Graphs For Data Science GitHub&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://github.com/DataForScience/Graphs4Sci"><span>Graphs For Data Science GitHub</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IHgW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>In this post, we&#8217;re flipping our usual script, and instead of focusing on <em><strong>analyzing</strong></em> a graph, we&#8217;re going to <em><strong>learn</strong></em> from one. We&#8217;ll build a neural network to predict a molecule's solubility in water purely from the graph structure of the connections between atoms. The family of models that pulls this off goes by the name <a href="https://en.wikipedia.org/wiki/Graph_neural_network">Graph Neural Networks (GNNs)</a>, and they&#8217;ve quietly become one of the most versatile tools in the modern ML toolkit.</p><p>For the sake of convenience (and a shiny new dataset), we&#8217;re using molecules as our playground. Still, the core ideas: message passing, neighborhood aggregation, and graph-level readout are applicable anywhere you encounter graph structure: social networks, road systems, knowledge graphs, protein interactions, you name it.</p><h2>Why Graph Neural Networks?</h2><p>If you&#8217;re a data scientist, you already have great intuitions for images and text. Images are a grid of pixels, and CNNs exploit that grid by sliding small filters across it. Text is a sequence of tokens that <a href="https://en.wikipedia.org/wiki/Transformer_(deep_learning)">Transformers</a> and <a href="https://en.wikipedia.org/wiki/Recurrent_neural_network">RNNs</a> can leverage.</p><p>Now look back to your high school chemistry class and think about everyones favorite molecule, <a href="https://en.wikipedia.org/wiki/Caffeine">Caffeine</a>: 14 heavy atoms in a fused ring system. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g82i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g82i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 424w, https://substackcdn.com/image/fetch/$s_!g82i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 848w, https://substackcdn.com/image/fetch/$s_!g82i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 1272w, https://substackcdn.com/image/fetch/$s_!g82i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g82i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png" width="250" height="243" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:243,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;2D structure of caffeine&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="2D structure of caffeine" title="2D structure of caffeine" srcset="https://substackcdn.com/image/fetch/$s_!g82i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 424w, https://substackcdn.com/image/fetch/$s_!g82i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 848w, https://substackcdn.com/image/fetch/$s_!g82i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 1272w, https://substackcdn.com/image/fetch/$s_!g82i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16fa8361-1f3b-452b-ba5c-da79053439eb_250x243.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s no natural &#8220;first pixel&#8221; or &#8220;first token&#8221; here. The atoms have no inherent order. The connectivity pattern is a graph.</p><p>You *could* try to flatten a molecule into a fixed-length vector. That&#8217;s exactly what traditional molecular fingerprints do: walk the graph, hash substructures, and pack everything into a bit vector. It works okay, but you&#8217;re throwing away structural information in the process. Atoms that are three hops apart in the molecular graph end up jumbled with their direct neighbors. The representation has no idea who&#8217;s bonded to whom.</p><p>GNNs take a different approach. They operate directly on the graph, respecting its topology. Every atom &#8220;talks&#8221; (sends messages) to its neighbors, and the network learns which conversations matter and which ones don&#8217;t.</p><p>Naturally, these same ideas are applicable well beyond molecules. Traditional Neural networks struggle with *any* graph-structured data for three fundamental reasons:</p><ol><li><p><strong>Variable size:</strong> different graphs have different numbers of nodes and edges. You can&#8217;t just reshape them into a nicely shaped tensor</p></li><li><p><strong>No natural ordering:</strong> unlike pixels in a grid or words in a sentence, graph nodes have no inherent sequence.</p></li><li><p><strong>Complex relationships:</strong> information flows along edges in patterns that don&#8217;t map neatly onto convolutions or recurrence.</p></li></ol><p>GNNs were designed from the ground up to handle all three of these challenges.</p><h2>Message Passing: A Game of Telephone</h2><p>The main idea at the heart of every GNN couldn&#8217;t be simpler, just <em>message passing </em>(typically known to physicists as <a href="https://en.wikipedia.org/wiki/Belief_propagation">Believe Propagation</a>). Think of it like a game of telephone, where you&#8217;re an atom sitting inside a molecule. You start with an initial feature vector that describes you: your element type, how many bonds you have, whether you&#8217;re part of an aromatic ring, your formal charge, and so on. </p><p>Now, at each step, you:</p><ol><li><p>Collect the feature vectors (messages) of all your neighbors</p></li><li><p>Aggregate those messages by summing, averaging, etc.</p></li><li><p>Update your own representation by combining what you just learned with what you already knew</p></li></ol><p>After one round, you know about your immediate neighborhood. After two rounds, you know about your neighbors&#8217; neighbors. After <em><strong>k</strong></em> rounds, your representation encodes information from your entire <em><strong>k</strong></em>-hop neighborhood. It&#8217;s like each atom gradually building up a richer and richer picture of its local chemical environment.</p><p>Mathematically, this looks like:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;h_v^{(l+1)} = \\text{UPDATE}^{(l)}\\left(h_v^{(l)}, \\text{AGGREGATE}^{(l)}\\left(\\{h_u^{(l)} : u \\in \\mathcal{N}(v)\\}\\right)\\right)&quot;,&quot;id&quot;:&quot;PYADMOLKMH&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <em><strong>h_v^l</strong></em> is the feature vector of node <em><strong>v</strong></em> in layer <em><strong>l</strong></em>, and <em><strong>N(v)</strong></em> is the set of its neighbors. The <em><strong>AGGREGATE</strong></em> function collects information from the neighborhood, and <em><strong>UPDATE</strong></em> combines it with the node&#8217;s current state.</p><h3>The GCN Flavor</h3><p>The specific architecture we&#8217;ll build today is the <a href="https://openreview.net/forum?id=SJU4ayYgl">Graph Convolutional Network (GCN)</a>, introduced by Kipf and Welling in their influential 2017 paper. The GCN makes a particularly clean choice: aggregate by taking a normalized sum of linearly transformed neighbor features.</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;h_v^{(l+1)} = f\\left(\\sum_{u \\in \\mathcal{N}(v)} \\frac{1}{\\sqrt{k_u \\cdot k_v}} W^{(l)} h_u^{(l)}\\right)&quot;,&quot;id&quot;:&quot;IOAAXLUZMC&quot;}" data-component-name="LatexBlockToDOM"></div><p>Each neighbor&#8217;s features get multiplied by a learnable weight matrix <strong>W, </strong>then we sum up all those transformed vectors, while scaling each one by</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\frac{1}{\\sqrt{k_u \\cdot k_v}}&quot;,&quot;id&quot;:&quot;JJPHUFBPHD&quot;}" data-component-name="LatexBlockToDOM"></div><p>where <strong>k</strong> is the node degree to prevent high-degree nodes from dominating the aggregation. This is essentially the graph equivalent of batch normalization: a small detail that makes training dramatically more stable.</p><p>Finally, <em><strong>f</strong></em> is any nonlinear activation function (we&#8217;ll use <em><strong>ReLU</strong></em>), which lets the model learn non-trivial relationships between features.</p><h3>Alternative GNN Architectures</h3><p>While we&#8217;re building a GCN today, it&#8217;s worth knowing that there are many other versions out there:</p><ul><li><p><strong>Graph Attention Networks (GATs)</strong>: Learn attention weights so the model can determine which neighbors matter most for each node. More expressive, but computationally heavier.</p></li><li><p><strong>GraphSAGE</strong>:  Samples from a fixed number of neighbors instead of using all of them, making it possible to scale to millions or billions of nodes. </p></li><li><p><strong>Graph Isomorphism Network (GIN):</strong> Maximizes expressiveness within the message-passing framework, matching the power of the <a href="https://en.wikipedia.org/wiki/Weisfeiler_Leman_graph_isomorphism_test">Weisfeiler-Leman graph isomorphism test</a>.</p></li><li><p><strong>Message Passing Neural Networks (MPNN):</strong> Explicitly separates the message, aggregation, and update steps, encompassing most other architectures as special cases.</p></li></ul><p>But they all correspond to different ways of choosing those <em><strong>AGGREGATE</strong></em> and <em><strong>UPDATE</strong></em> functions.</p><h2>Our Dataset: Predicting How Well Molecules Dissolve</h2><p>We&#8217;ll use&nbsp;<a href="https://huggingface.co/datasets/HR-machine/ESol">the ESOL (Estimated SOLubility)</a>&nbsp;dataset from the&nbsp;<a href="https://moleculenet.org/">MoleculeNet</a>&nbsp;benchmark. The ESOL contains information on 1,128 small organic molecules, each labeled with how well the molecule dissolves in water, expressed as log mol/L (its experimentally measured aqueous solubility). This is a bread-and-butter property in drug discovery as better solubility implies easier absorption into the bloodstream. </p><p>The dataset is in the public domain and easily available from <a href="https://pytorch-geometric.readthedocs.io/en/latest/">PyTorch Geometric</a>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;f20b03d4-def6-426d-8506-37634e4ba3d4&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">from torch_geometric.datasets import MoleculeNet

dataset = MoleculeNet(root=&#8217;data/&#8217;, name=&#8217;ESOL&#8217;)</code></pre></div><p>Each molecule comes packaged as a PyTorch Geometric `Data` object:</p><ul><li><p><em><strong>x</strong></em> - a node feature matrix of shape (num_atoms &#215; 9). The 9 features per atom are:</p><ul><li><p>atomic number</p></li><li><p>chirality</p></li><li><p>degree</p></li><li><p>formal charge</p></li><li><p>number of hydrogens</p></li><li><p>number of radical electrons</p></li><li><p>hybridization</p></li><li><p>aromaticity</p></li><li><p>and whether the atom is in a ring.</p></li></ul></li><li><p><em><strong>edge_index</strong></em> -  the adjacency list in COO format (pairs of connected atoms)</p></li><li><p><em><strong>y</strong></em> - the solubility target (a single float)</p></li><li><p><em><strong>smiles</strong></em> - a standard string representation of the molecule</p></li></ul><h2>Exploring the Data</h2><p>For the sake of brevity, we&#8217;ll take a look at just a few details here. You can find a more in-depth EDA in the notebook.</p><h3>Solubility Distribution</h3><p>The solubility values span roughly 13 log units, from highly insoluble compounds (around &#8722;11.6 log mol/L) to highly soluble ones (+1.58 log mol/L), with a mean of &#8722;3.05 and a median of &#8722;2.86. The distribution has a rough bell shape with a slight left skew as there are a few *extremely* insoluble molecules pulling the tail.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3gsP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3gsP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 424w, https://substackcdn.com/image/fetch/$s_!3gsP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 848w, https://substackcdn.com/image/fetch/$s_!3gsP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!3gsP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3gsP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png" width="1456" height="982" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:982,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:299641,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3gsP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 424w, https://substackcdn.com/image/fetch/$s_!3gsP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 848w, https://substackcdn.com/image/fetch/$s_!3gsP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!3gsP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b1695e3-8b96-428f-a8cb-69fcc05841f6_3684x2484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Graph Properties</h3><p>We can see that the graph structure of the molecule (which atoms are connected) has a strong impact on the solubility by plotting solubility as a function of various connectivity properites:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2-T1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2-T1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 424w, https://substackcdn.com/image/fetch/$s_!2-T1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 848w, https://substackcdn.com/image/fetch/$s_!2-T1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 1272w, https://substackcdn.com/image/fetch/$s_!2-T1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2-T1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png" width="1456" height="1236" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1236,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1545130,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2-T1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 424w, https://substackcdn.com/image/fetch/$s_!2-T1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 848w, https://substackcdn.com/image/fetch/$s_!2-T1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 1272w, https://substackcdn.com/image/fetch/$s_!2-T1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb550bb34-1660-4577-a4b6-e01d0c1cc2fd_3653x3100.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>The Size-Solubility Connection</h3><p>Perhaps the most intuitive pattern in the data is that bigger molecules tend to be less soluble. The correlation between atom count and solubility is about &#8722;0.59. This makes intuitive chemical sense &#8212; larger molecules tend to have bigger hydrophobic surfaces that interact poorly with water.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nX4o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nX4o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 424w, https://substackcdn.com/image/fetch/$s_!nX4o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 848w, https://substackcdn.com/image/fetch/$s_!nX4o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 1272w, https://substackcdn.com/image/fetch/$s_!nX4o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nX4o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png" width="1456" height="1011" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1011,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:656121,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nX4o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 424w, https://substackcdn.com/image/fetch/$s_!nX4o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 848w, https://substackcdn.com/image/fetch/$s_!nX4o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 1272w, https://substackcdn.com/image/fetch/$s_!nX4o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47e5a157-d885-4d21-af00-bc280d286267_3577x2483.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>But notice how broad the distribution of solubility is for a specific number of atoms: Molecular size tells part of the story, but nowhere near the whole thing. That&#8217;s exactly why we need a model that can look beyond atom counts.</p><h3>What&#8217;s in These Molecules?</h3><p>Looking at the element distribution across all 14,991 atoms in the dataset, we see exactly what you&#8217;d expect from small organic drug-like molecules:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v2LB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v2LB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 424w, https://substackcdn.com/image/fetch/$s_!v2LB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 848w, https://substackcdn.com/image/fetch/$s_!v2LB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!v2LB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v2LB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png" width="1456" height="982" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:982,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:245360,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v2LB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 424w, https://substackcdn.com/image/fetch/$s_!v2LB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 848w, https://substackcdn.com/image/fetch/$s_!v2LB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!v2LB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5da6c35c-62f5-44dc-b72c-066a81281657_3684x2484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Carbon dominates, as it does in all organic chemistry. The presence of heteroatoms (O, N, S) and halogens (Cl, F, Br, I) is what makes solubility prediction interesting &#8212; these atoms introduce polarity, hydrogen bonding potential, and other interactions with water.</p><h3>Graph Structure</h3><p>The degree distribution (how many bonds each atom has) peaks sharply at 2, reflecting the prevalence of carbon chains and rings where most atoms have exactly two heavy-atom neighbors. The average degree across all molecules is about 2.06, with a maximum of 4 (think of a fully-substituted carbon).</p><p>We can also compute more sophisticated graph metrics for each molecule and examine their correlations with solubility. The strongest predictors turn out to be:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zrUi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zrUi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 424w, https://substackcdn.com/image/fetch/$s_!zrUi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 848w, https://substackcdn.com/image/fetch/$s_!zrUi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!zrUi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zrUi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png" width="1456" height="688" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:688,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:201485,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zrUi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 424w, https://substackcdn.com/image/fetch/$s_!zrUi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 848w, https://substackcdn.com/image/fetch/$s_!zrUi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!zrUi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F910a2914-de19-4f7c-b7a5-039940270e5b_2844x1344.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Graph density (the number of edges relative to the maximum possible) is positively correlated with solubility. In other words, size isn&#8217;t everything, and denser, more compact molecules tend to be more soluble than sprawling, chain-like ones. </p><p>If you&#8217;re new to thinking about molecules as graphs, some plots are worth a thousand words. Here is a side-by-side comparison of the same molecule as traditional 2D chemical structures (rendered with RDKit, top) alongside their graph representations (drawn with NetworkX, bottom). </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LVU1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LVU1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 424w, https://substackcdn.com/image/fetch/$s_!LVU1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 848w, https://substackcdn.com/image/fetch/$s_!LVU1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 1272w, https://substackcdn.com/image/fetch/$s_!LVU1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LVU1!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png" width="1200" height="618.1318681318681" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:750,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:748345,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LVU1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 424w, https://substackcdn.com/image/fetch/$s_!LVU1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 848w, https://substackcdn.com/image/fetch/$s_!LVU1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 1272w, https://substackcdn.com/image/fetch/$s_!LVU1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4924a0f-e943-4c55-9a6b-3dc9d2f4353f_5844x3012.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The bottom row looks much friendlier, doesn&#8217;t it?</p><h2>From Atoms to Molecules</h2><p>A single GCN layer gives each atom information about its immediate neighbors, just one hop away. We stack three layers, one on top of the other, so that each atom&#8217;s final representation captures its 3-hop neighborhood. Naturally, the number of layers depends on the typical <a href="https://en.wikipedia.org/wiki/Diameter_(graph_theory)">diameter</a> of your graph, but <em><strong>3</strong></em> is more than enough for our purposes.</p><p>Now, to move from the properties of a single atom to properties of the whole molecule,  we need a way to reduce a variable-length set of atom representations to a single fixed-size vector for the entire graph. This operation is called <strong>pooling</strong> (also known as graph-level readout).</p><p>The simplest and most common choice is to average all the atom feature vectors, a method known as <strong>global mean pooling,</strong> which has the advantage of not depending on atom ordering, being independent of molecule size, and it works surprisingly well in practice.</p><p>After pooling, we feed the resulting vector through a small MLP (multi-layer perceptron) to produce the final solubility prediction:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;4c68f30d-3bbf-4308-9166-5ffedb7cdff2&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">class MoleculeGNN(nn.Module):
    def __init__(self, num_features, hidden_dim=64, dropout=0.2):
        super().__init__()
        self.conv1 = GCNConv(num_features, hidden_dim)
        self.conv2 = GCNConv(hidden_dim, hidden_dim)
        self.conv3 = GCNConv(hidden_dim, hidden_dim)
        self.mlp = nn.Sequential(
            nn.Linear(hidden_dim, hidden_dim // 2),
            nn.ReLU(),
            nn.Dropout(dropout),
            nn.Linear(hidden_dim // 2, 1)
        )
        self.dropout = dropout

    def forward(self, x, edge_index, batch):
        x = F.relu(self.conv1(x, edge_index))
        x = F.dropout(x, p=self.dropout, training=self.training)
        x = F.relu(self.conv2(x, edge_index))
        x = F.dropout(x, p=self.dropout, training=self.training)
        x = F.relu(self.conv3(x, edge_index))
        x = global_mean_pool(x, batch)   # graph-level readout

        return self.mlp(x).squeeze(-1)</code></pre></div><p>Here it&#8217;s worth highlighting the Dropout between GCN layers. Dropout randomly zeros out a fraction of the hidden features during training, preventing co-adaptation and improving generalization, and with just ~<em>900</em> training molecules, we need all the help we can get. </p><p>The entire network has only  <em>11,000</em> parameters, tiny by modern deep learning standards but convenient for demo purposes and to avoid overfitting to our relatively small dataset.</p><p>The full architecture, printed out:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;90a52079-b9ec-4bc2-8a6c-66666e0e387d&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">MoleculeGNN(
  (conv1): GCNConv(9, 64)
  (conv2): GCNConv(64, 64)
  (conv3): GCNConv(64, 64)
  (mlp): Sequential(
    (0): Linear(in_features=64, out_features=32, bias=True)
    (1): ReLU()
    (2): Dropout(p=0.2, inplace=False)
    (3): Linear(in_features=32, out_features=1, bias=True)
  )
)</code></pre></div><p>Check out the notebook for a more detailed, but perhaps less illuminating, visualization.</p><h2>Training the Model</h2><p>With the architecture in place, training is pretty standard PyTorch fare. We start by splitting the 1,128 molecules 80/10/10 into train (902), validation (113), and test (113) sets using a random permutation.</p><p>We train with <a href="https://arxiv.org/abs/1412.6980">Adam</a> using MSE loss and early stopping with a patience of 30 epochs to prevent overfitting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7SUT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7SUT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 424w, https://substackcdn.com/image/fetch/$s_!7SUT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 848w, https://substackcdn.com/image/fetch/$s_!7SUT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!7SUT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7SUT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png" width="1456" height="982" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:982,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:437431,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7SUT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 424w, https://substackcdn.com/image/fetch/$s_!7SUT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 848w, https://substackcdn.com/image/fetch/$s_!7SUT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!7SUT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c494353-24d2-4e46-a54d-ea08b1c5ea3e_3684x2484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The training and validation losses decrease together nicely, with the gap between them staying relatively small: a sign that we&#8217;re not overfitting too badly. </p><p>On the held-out test set (113 molecules the model has never seen):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ahFD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ahFD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 424w, https://substackcdn.com/image/fetch/$s_!ahFD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 848w, https://substackcdn.com/image/fetch/$s_!ahFD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!ahFD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ahFD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png" width="1456" height="1392" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1392,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:364433,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ahFD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 424w, https://substackcdn.com/image/fetch/$s_!ahFD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 848w, https://substackcdn.com/image/fetch/$s_!ahFD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!ahFD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9facc9-266d-4ba2-98c7-6a7dbe472c69_2598x2484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The <em><strong>R&#178;</strong></em> value of 0.84 indicates that the model explains 84% of the variance in solubility. That&#8217;s genuinely useful for a model with 11K parameters trained on fewer than a thousand molecules.</p><p>The residual analysis is encouraging, too. The residual distribution is roughly symmetric and centered near zero, with no obvious systematic bias. The residuals-vs-predicted plot shows no strong patterns, suggesting the model isn&#8217;t consistently over- or under-predicting in any particular range.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xjOK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xjOK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 424w, https://substackcdn.com/image/fetch/$s_!xjOK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 848w, https://substackcdn.com/image/fetch/$s_!xjOK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!xjOK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xjOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png" width="1456" height="484" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:484,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:248416,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xjOK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 424w, https://substackcdn.com/image/fetch/$s_!xjOK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 848w, https://substackcdn.com/image/fetch/$s_!xjOK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 1272w, https://substackcdn.com/image/fetch/$s_!xjOK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27f41386-4a9e-4eaa-92d2-84da3d4a4b53_4044x1344.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These numbers, while consistent with published <a href="https://arxiv.org/abs/2602.20573">GCN baselines on ESOL</a>, are definitely not state-of-the-art. To achieve better results, we would need to use more advanced architectures such as <strong>AttentiveFP</strong> or <strong>SchNet</strong>. We kept it simple to avoid obscuring what we&#8217;re trying to learn here.</p><h2>What Did the GNN Learn?</h2><p>One of the most satisfying things about GNNs is that the intermediate representations, the atom embeddings produced by the GCN layers, are interpretable, at least qualitatively.</p><p>After training, we extract the 64-dimensional embedding that the GCN assigns to each atom across our test molecules, then project these 1,385 embeddings down to 2D using <a href="https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding">t-Distributed Stochastic Neighbor Embedding (t-SNE)</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xej7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xej7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 424w, https://substackcdn.com/image/fetch/$s_!xej7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 848w, https://substackcdn.com/image/fetch/$s_!xej7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!xej7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xej7!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png" width="1200" height="808.5164835164835" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:981,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1021176,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/193368374?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xej7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 424w, https://substackcdn.com/image/fetch/$s_!xej7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 848w, https://substackcdn.com/image/fetch/$s_!xej7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 1272w, https://substackcdn.com/image/fetch/$s_!xej7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc151791d-414c-452b-ac21-cc6cf8bb6d5b_3685x2484.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The model has learned to produce chemically meaningful representations without being told any chemistry beyond the raw atomic features (atomic number, degree, etc.). The graph structure encoded by message passing is enough for the model to discover the chemical patterns that matter for solubility on its own. That&#8217;s the power of the message passing framework at work.</p><h2>Beyond Molecules</h2><p>We used molecules today because they&#8217;re a neat example, but everything we built generalizes to any other graph structure. GNNs tackle three broad categories of tasks:</p><ul><li><p><strong>Node-level tasks:</strong> Predict something about each node. Classify users in a social network, predict functions of proteins in an interaction graph, and detect anomalous transactions in a financial network.</p></li><li><p><strong>Edge-level tasks:</strong> Predict whether an edge should exist (or what its properties are). Link prediction in social networks, drug-drug interaction prediction, and knowledge graph completion.</p></li><li><p><strong>Graph-level tasks:</strong> Predict a property of the entire graph. Classify molecules, score protein structures, and assess network robustness.</p></li></ul><p>For graph-level tasks (like the one we explored today), the key ingredient is the readout operation. We used global mean pooling (averaging all node embeddings), but there are other options: sum pooling (preserves information about the graph size), max pooling (captures the most active features), or even learned hierarchical pooling that progressively coarsens the graph.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IHgW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>We hope you enjoyed this Graphs post on the Data for Science Substack and look forward to hearing your thoughts. We hope you</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/graph-neural-networks-101/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/graph-neural-networks-101/comments"><span>Leave a comment</span></a></p><p>You can find all the code for the analysis in this post in our companion GitHub Repository <a href="https://github.com/DataForScience/Graphs4Sci">https://github.com/DataForScience/Graphs4Sci</a></p><p>And, of course, don&#8217;t forget to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/graph-neural-networks-101?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/graph-neural-networks-101?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>this post with others who might be interested, and encourage them to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>so that they have access to the entire backlog of posts and be the first to know when a new a new article is posted.</p>]]></content:encoded></item><item><title><![CDATA[Top 10 Books we read in 2025 ]]></title><description><![CDATA[A year&#8217;s worth of the best Large Language Models, Software Engineering, AI, and Algorithms.]]></description><link>https://data4sci.substack.com/p/top-10-books-we-read-in-2025</link><guid isPermaLink="false">https://data4sci.substack.com/p/top-10-books-we-read-in-2025</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sat, 10 Jan 2026 18:31:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MsIW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MsIW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MsIW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!MsIW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!MsIW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!MsIW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MsIW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2344967,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://data4sci.substack.com/i/184124245?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MsIW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!MsIW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!MsIW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!MsIW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff05c6279-97e4-4cdb-9be3-bc3c80a59b60_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>1. Building AI Agents with LLMs, RAG, and Knowledge Graphs</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/49gAhx8" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gVCn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 424w, https://substackcdn.com/image/fetch/$s_!gVCn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 848w, https://substackcdn.com/image/fetch/$s_!gVCn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 1272w, https://substackcdn.com/image/fetch/$s_!gVCn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gVCn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png" width="250" height="308" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:308,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/49gAhx8&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gVCn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 424w, https://substackcdn.com/image/fetch/$s_!gVCn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 848w, https://substackcdn.com/image/fetch/$s_!gVCn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 1272w, https://substackcdn.com/image/fetch/$s_!gVCn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3714c7a-ffa5-46ac-b0f7-5e60f9f594fb_250x308.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;<a href="https://amzn.to/49gAhx8">Building AI Agents with LLMs, RAG, and Knowledge Graphs</a>&#8220; by S. Raieli and G. Iuculano is a clear-headed guide for anyone trying to turn &#8220;cool LLM demos&#8221; into an agent that can retrieve facts, use tools, and stay anchored to real information. Raieli and Iuculano keep the focus on what matters in practice. How RAG and knowledge graphs change the reliability profile of an agent, and when you need more structure than &#8220;just prompt it better.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Data For Science is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>For data scientists and ML engineers, the best part is the build-oriented progression. It connects core concepts to concrete patterns&#8212;single-agent tool use, retrieval pipelines, and multi-agent coordination&#8212;without drowning you in theory. The examples feel like things you&#8217;d actually adapt into a prototype at work, and the overall framing consistently nudges you toward grounded, auditable behavior instead of vibes-based generation.</p><p>The tradeoff is breadth: if you already know transformers cold, some early sections may read like a warm-up, and the &#8220;production&#8221; angle is more of a practical starting line than a full MLOps reliability handbook. Still, as a one-stop map of modern agent building&#8212;especially where RAG and knowledge graphs stop being buzzwords and start being design choices&#8212;it&#8217;s an intense, usable read that tends to leave you with a short list of things you want to try next.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/49gAhx8&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/49gAhx8"><span>Buy On Amazon</span></a></p><div><hr></div><h2>2. Quick Start Guide to Large Language Models</h2><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/48XeVFw" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aNXl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 424w, https://substackcdn.com/image/fetch/$s_!aNXl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 848w, https://substackcdn.com/image/fetch/$s_!aNXl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 1272w, https://substackcdn.com/image/fetch/$s_!aNXl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aNXl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png" width="250" height="327" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:327,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/48XeVFw&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aNXl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 424w, https://substackcdn.com/image/fetch/$s_!aNXl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 848w, https://substackcdn.com/image/fetch/$s_!aNXl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 1272w, https://substackcdn.com/image/fetch/$s_!aNXl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee28bd8e-5e5f-47e9-94e0-b17b281229be_250x327.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Sinan Ozdemir&#8217;s &#8220;<a href="https://amzn.to/48XeVFw">Quick Start Guide to Large Language Models</a>&#8220; lives up to its name. It moves quickly from core concepts, tokens, context windows, and prompt structure to working patterns like chat apps, RAG, summarization, and lightweight agents. The sequencing is pragmatic: read a chapter, ship a prototype.</p><p>The standout value for DS/ML folks is its treatment of embeddings and retrieval. Ozdemir shows when embeddings beat fine-tuning, how to chunk and index, and how to trade off accuracy, latency, and cost with clear, reusable checklists. His sections on prompt patterns, tool use/function-calling, and interface design treat prompting like API design, constrain inputs, structure outputs, plan for failure modes, making it easy to slot into existing services.</p><p>In short: an excellent on-ramp and onboarding text. Pair it with heavier resources for evaluation, alignment, and production-grade deployments.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/48XeVFw&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/48XeVFw"><span>Buy On Amazon</span></a></p><div><hr></div><h2>3. Generative AI For Academics</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/4mRzC9P" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PB-F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 424w, https://substackcdn.com/image/fetch/$s_!PB-F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 848w, https://substackcdn.com/image/fetch/$s_!PB-F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 1272w, https://substackcdn.com/image/fetch/$s_!PB-F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PB-F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png" width="250" height="356" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:356,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/4mRzC9P&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PB-F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 424w, https://substackcdn.com/image/fetch/$s_!PB-F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 848w, https://substackcdn.com/image/fetch/$s_!PB-F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 1272w, https://substackcdn.com/image/fetch/$s_!PB-F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fae363f20-e03a-47c3-8e11-745a48b4d26e_250x356.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Mark Carrigan&#8217;s &#8220;<a href="https://amzn.to/4mRzC9P">Generative AI for Academics</a><em>&#8220;</em> is a brisk, sensible map for using LLMs in scholarly life. It avoids both hype and doom, treating generative AI as a set of tools that demand judgment, not blind adoption. The tone is practical and reflective&#8212;ideal for faculty, PIs, and grad students who need shared language and guardrails.</p><p>The book shines in how it organizes academic work (Thinking, Collaborating, Communicating, Engaging), then pairs each with concrete practices (rubber-ducking, draft refinement, critical oversight). It isn&#8217;t a prompt cookbook or a windy manifesto; it&#8217;s a clear framework for responsible use, culture-setting, and policy discussions in departments and labs.</p><p>Data scientists and ML engineers will find valuable takeaways for literature synthesis, design reviews, code docs, and stakeholder comms. But if you want model internals, rigorous eval protocols, threat modeling, or MLOps patterns, the book skims the surface. Bottom line: keep it close for norms, ethics, and mentoring; pair it with technical playbooks when you need depth.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/4mRzC9P&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/4mRzC9P"><span>Buy On Amazon</span></a></p><div><hr></div><h2>4. AI Agents in Action</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K2Wa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K2Wa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 424w, https://substackcdn.com/image/fetch/$s_!K2Wa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 848w, https://substackcdn.com/image/fetch/$s_!K2Wa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 1272w, https://substackcdn.com/image/fetch/$s_!K2Wa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K2Wa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png" width="250" height="313" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:313,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K2Wa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 424w, https://substackcdn.com/image/fetch/$s_!K2Wa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 848w, https://substackcdn.com/image/fetch/$s_!K2Wa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 1272w, https://substackcdn.com/image/fetch/$s_!K2Wa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7372ef68-ef03-4ea7-88b1-70d96895e137_250x313.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Michael Lanham&#8217;s book, &#8220;<a href="https://amzn.to/4oGPDAS">AI Agents in Action</a>&#8220;, is a practical guide for developers who want to build autonomous AI agents using large language models (LLMs) and open-source frameworks. The book focuses on real-world engineering rather than abstract theory, offering a step-by-step approach to building agent architectures, managing multi-agent systems, and using LLMs to solve business problems. It&#8217;s written for developers and technical professionals who have the necessary foundational skills in Python and want to move from theoretical knowledge to hands-on development.</p><p>The book&#8217;s strength lies in its gradual layering of complexity, starting with basic concepts and progressing to advanced topics such as multi-agent orchestration and prompt engineering. Lanham uses open-source tools such as CrewAI, AutoGen, and Nexus and includes annotated code examples to help readers follow along. This approach effectively bridges the gap between academic theory and practical development, making it a valuable toolkit for machine learning engineers who want to build production-ready solutions for tasks such as workflow automation and customer service bots. The book also provides insightful commentary on integrating key components, such as memory and feedback loops, into agent-based systems.</p><p>However, the book has some notable limitations. A major critique is its optimistic portrayal of the tools and techniques, often overlooking critical discussions about their limitations, trade-offs, and performance at scale. It focuses on illustrative projects rather than addressing issues of robustness and reliability, which are crucial for high-stakes, enterprise-grade deployments. Another drawback is the lack of extended use cases or full-scale system integration examples, which would provide a more complete understanding of an agent system&#8217;s lifecycle, maintenance, and long-term performance in a real-world business environment.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/4oGPDAS&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/4oGPDAS"><span>Buy On Amazon</span></a></p><div><hr></div><h2>5. Behavioral Network Science: Language, Mind, and Society</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/44cob5A" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sWj9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 424w, https://substackcdn.com/image/fetch/$s_!sWj9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 848w, https://substackcdn.com/image/fetch/$s_!sWj9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 1272w, https://substackcdn.com/image/fetch/$s_!sWj9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sWj9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png" width="250" height="361" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:361,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/44cob5A&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sWj9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 424w, https://substackcdn.com/image/fetch/$s_!sWj9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 848w, https://substackcdn.com/image/fetch/$s_!sWj9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 1272w, https://substackcdn.com/image/fetch/$s_!sWj9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1035d27f-c86d-4953-a2a0-73bcab9ab1bc_250x361.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;<a href="https://amzn.to/44cob5A">&#8203;Behavioral Network Science: Language, Mind, and Society&#8203;</a>&#8220; by T. T. Hills successfully bridges two distinct scientific domains, demonstrating how network analysis can reveal hidden patterns in human behavior. The book tackles an impressive scope of topics, from language evolution and childhood learning to cognitive aging, creativity, and social dynamics, while maintaining remarkable coherence throughout. What sets this work apart is Hills&#8217; commitment to practical application, which equips readers with concrete tools, including an introductory guide to network science and accompanying R code that enable hands-on analysis.</p><p>This practical approach makes the book uniquely valuable to a diverse audience. Behavioral scientists unfamiliar with network methods will find an accessible entry point, while data scientists can discover rich applications in behavioral research. Hills demonstrates particular skill in addressing contemporary social issues through a network lens, offering fresh perspectives on polarization, echo chambers, and conspiracy theories. The interdisciplinary framework proves especially powerful when examining how individual cognitive processes scale up to shape collective behavior and social structures.</p><p>The book&#8217;s most significant achievement lies in its clarity without oversimplification. Hills effectively conveys complex concepts with precision while maintaining an engaging and accessible tone. This balance makes &#8220;Behavioral Network Science&#8221; essential reading for anyone seeking to understand how network structures influence human behavior across scales&#8212;from individual minds to entire societies.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/44cob5A&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/44cob5A"><span>Buy On Amazon</span></a></p><div><hr></div><h2>6. Prompt Engineering for LLMs</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3EoVGI0" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T041!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 424w, https://substackcdn.com/image/fetch/$s_!T041!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 848w, https://substackcdn.com/image/fetch/$s_!T041!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 1272w, https://substackcdn.com/image/fetch/$s_!T041!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T041!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png" width="250" height="328" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:328,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3EoVGI0&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!T041!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 424w, https://substackcdn.com/image/fetch/$s_!T041!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 848w, https://substackcdn.com/image/fetch/$s_!T041!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 1272w, https://substackcdn.com/image/fetch/$s_!T041!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4edc651-105d-4d5d-8049-bd4010a64ab7_250x328.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;<a href="https://amzn.to/3EoVGI0">Prompt Engineering for LLMs</a>&#8220; by J. Berryman and A. Ziegler is an essential resource for anyone working with large language models. The authors expertly position prompt engineering not merely as writing effective prompts but as a crucial component throughout the entire application development lifecycle. By balancing technical depth with practical accessibility, they create a guide that serves both newcomers and experienced practitioners in the rapidly evolving AI landscape.</p><p>&#8203;</p><p>The book&#8217;s greatest strength lies in its practical techniques, which go beyond basic prompt crafting. Readers will discover innovative approaches, such as using log probabilities to quantitatively assess completion quality, generating multiple outputs at varying temperatures, and structuring prompts with multiple roles to enhance focus and relevance. Particularly valuable is the &#8220;Little Red Riding Hood Principle,&#8221; which emphasizes aligning prompts with a model&#8217;s training patterns to achieve optimal responses.</p><p>&#8203;</p><p>Beyond techniques, Berryman and Ziegler offer crucial insights into real-world application strategies, including how teams like GitHub Copilot incorporate user feedback for continuous improvement. The authors skillfully explain complex concepts like tokenization and auto-regressive generation while maintaining accessibility for developers who might otherwise struggle with the non-human communication style of LLMs. This balanced approach makes the book an indispensable guide for anyone aiming to build robust, efficient LLM-powered applications in today&#8217;s AI-driven technological environment.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3EoVGI0&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3EoVGI0"><span>Buy On Amazon</span></a></p><div><hr></div><h2>7. The Complete Developer</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/4hPoWpH" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HdJL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 424w, https://substackcdn.com/image/fetch/$s_!HdJL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 848w, https://substackcdn.com/image/fetch/$s_!HdJL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 1272w, https://substackcdn.com/image/fetch/$s_!HdJL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HdJL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png" width="250" height="334" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:334,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/4hPoWpH&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HdJL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 424w, https://substackcdn.com/image/fetch/$s_!HdJL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 848w, https://substackcdn.com/image/fetch/$s_!HdJL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 1272w, https://substackcdn.com/image/fetch/$s_!HdJL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ce2d3c9-39cb-4066-96dd-e2a20062449e_250x334.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;<a href="https://amzn.to/4hPoWpH">The Complete Developer</a>&#8221; by M. Krause is a comprehensive guide that takes readers through the intricacies of modern full-stack web and API development. With over two decades of experience building websites and leading development teams, Krause offers an indispensable resource for developers at any career stage. The book covers various technologies, including TypeScript, React, Next.js, MongoDB, and Docker, providing a 360-degree view of web development.</p><p>One of the standout features of this book is its beginner-friendly approach, breaking down complex concepts into easy-to-follow steps. Krause meticulously covers every aspect of modern web application development, from building a React-driven frontend to constructing a robust backend using Mongoose and MongoDB, and integrating both REST and GraphQL APIs. The book is structured in two halves: one for demonstrating parts of the stack like React, Next.js, and Docker, and another for writing the final application and connecting the stack parts cohesively.</p><p>While some readers have found the material challenging for absolute beginners, many developers, including those with experience in other areas, have praised the book for its comprehensive coverage and practical approach. The inclusion of modern development practices and tools, such as Docker, Express.js, and OAuth for authentication, prepares readers for real-world development scenarios. Despite the rapidly evolving nature of web technologies. &#8220;The Complete Developer&#8221; provides a solid foundation for mastering the modern full stack, making it a valuable resource for those looking to enhance their development skills with the latest JavaScript-based technologies.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/4hPoWpH&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/4hPoWpH"><span>Buy On Amazon</span></a></p><div><hr></div><h2>8. The Nvidia Way</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/40JoPG0" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rXUw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 424w, https://substackcdn.com/image/fetch/$s_!rXUw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 848w, https://substackcdn.com/image/fetch/$s_!rXUw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 1272w, https://substackcdn.com/image/fetch/$s_!rXUw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rXUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png" width="250" height="379" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5496786a-f381-4262-9767-c4960c135eb2_250x379.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:379,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/40JoPG0&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rXUw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 424w, https://substackcdn.com/image/fetch/$s_!rXUw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 848w, https://substackcdn.com/image/fetch/$s_!rXUw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 1272w, https://substackcdn.com/image/fetch/$s_!rXUw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5496786a-f381-4262-9767-c4960c135eb2_250x379.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p> &#8220;<a href="https://amzn.to/40JoPG0">The Nvidia way</a>&#8220; by T. Kim offers a wealth of profound lessons for entrepreneurs and managers, extending far beyond a mere chronicle of technological achievements. It explores Nvidia&#8217;s strategic approach to innovation, providing valuable insights into how the company consistently stayed ahead of industry trends. The narrative highlights Nvidia&#8217;s founder, Jensen Huang&#8217;s, obsession with solving the Innovator&#8217;s Dilemma, demonstrating how this focus drove Nvidia to reinvent its corporate strategy and maintain its competitive edge.</p><p>One of the key takeaways is Nvidia&#8217;s unique organizational structure. The book emphasizes the benefits of the company&#8217;s flat hierarchy, which empowers employees at all levels to contribute to the company&#8217;s direction. This approach fosters a culture of innovation and agility, allowing Nvidia to adapt quickly to market changes and technological shifts. Entrepreneurs and managers can learn from this model to create more dynamic and responsive organizations.</p><p>Nvidia&#8217;s long-term strategic thinking is highlighted, particularly when it comes to recognizing and capitalizing on emerging technologies. The company&#8217;s early bet on AI, long before it became mainstream, serves as a powerful example of visionary leadership and calculated risk-taking. This aspect of the book offers valuable lessons on the importance of anticipating future trends and having the courage to invest in unproven technologies. For entrepreneurs and managers, it underscores the significance of looking beyond short-term gains and fostering a culture that embraces calculated risks for long-term success.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/40JoPG0&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/40JoPG0"><span>Buy On Amazon</span></a></p><div><hr></div><h2>9. The Atomic Human: What Makes Us Unique in the Age of AI</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3OFKQP8" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N721!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 424w, https://substackcdn.com/image/fetch/$s_!N721!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 848w, https://substackcdn.com/image/fetch/$s_!N721!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 1272w, https://substackcdn.com/image/fetch/$s_!N721!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N721!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png" width="250" height="388" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc0a5545-9175-4217-963e-2129a1a80505_250x388.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:388,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3OFKQP8&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!N721!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 424w, https://substackcdn.com/image/fetch/$s_!N721!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 848w, https://substackcdn.com/image/fetch/$s_!N721!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 1272w, https://substackcdn.com/image/fetch/$s_!N721!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc0a5545-9175-4217-963e-2129a1a80505_250x388.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;<a href="https://amzn.to/3OFKQP8">The Atomic Human: What Makes Us Unique in the Age of AI</a>&#8220; by N. D. Lawrence presents a compelling exploration of what defines humanity in the context of advancing artificial intelligence. The central thesis is that our vulnerabilities and imperfections, rather than our technological capabilities, truly characterize us as human beings. The book argues that while AI can replicate certain aspects of human thought and behavior, it fundamentally lacks the emotional depth, moral judgment, and ability to navigate complex, ambiguous situations that define human experience.</p><p>Lawrence emphasizes the importance of our flaws and social connections in fostering growth and creativity. He posits that these qualities allow us to form cultures and communities that go beyond mere survival, highlighting the unique aspects of human decision-making through historical examples. This perspective challenges the prevailing narrative that positions AI as a competitor to human intelligence, instead suggesting that AI should be viewed as a tool that complements, rather than replaces, our intrinsic human qualities.</p><p>This book offers an engaging examination of what it means to be human in an era increasingly defined by technological advancements, prompting readers to reflect on the essence of humanity amid the rise of intelligent machines.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3OFKQP8&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3OFKQP8"><span>Buy On Amazon</span></a></p><div><hr></div><h2>10. Life as No One Knows It: the Physics of Life&#8217;s Emergence</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://a.co/d/j7DbEex" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6AQO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 424w, https://substackcdn.com/image/fetch/$s_!6AQO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 848w, https://substackcdn.com/image/fetch/$s_!6AQO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 1272w, https://substackcdn.com/image/fetch/$s_!6AQO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6AQO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png" width="250" height="378" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/47691380-ce4a-453f-bba1-a4fd88804900_250x378.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:378,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://a.co/d/j7DbEex&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6AQO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 424w, https://substackcdn.com/image/fetch/$s_!6AQO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 848w, https://substackcdn.com/image/fetch/$s_!6AQO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 1272w, https://substackcdn.com/image/fetch/$s_!6AQO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F47691380-ce4a-453f-bba1-a4fd88804900_250x378.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8220;<a href="https://a.co/d/j7DbEex">Life as No One Knows It: The Physics of Life&#8217;s Emergence</a>&#8220; by S. I. Walker. In this book, Walker offers a groundbreaking reimagining of life&#8217;s nature, challenging traditional definitions and exploring the origins of living systems from a fresh perspective. At the heart of the book lies Assembly Theory, which proposes that all matter can be viewed as information, with life representing a highly complex assembly of causal information. This paradigm-shifting framework not only redefines life universally but also paves the way for identifying non-terrestrial life forms.</p><p>In an interdisciplinary approach that blends insights from Physics and Philosophy, the book explores key distinctions between knowledge, information, and consciousness. It encourages readers to move beyond anthropocentric perspectives, prompting us to consider the existence of life forms vastly different from anything encountered on Earth.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://a.co/d/j7DbEex&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://a.co/d/j7DbEex"><span>Buy On Amazon</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OVTP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OVTP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OVTP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>What books kept you company throughout 2025? And which ones are you looking forward to in 2026? Leave the most interesting ones in the comment section below. And my fondest wishes for a 2026 full of great books.</p><p>Also, don&#8217;t forget to check out our reading list from previous years:</p><ul><li><p><strong><a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2024">Top 10 Books we read in 2024</a></strong></p></li><li><p><strong><a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2023">Top 10 Books we read in 2023</a></strong></p></li><li><p><strong><a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2022">Top 10 Books we read in 2022</a></strong></p></li><li><p><strong><a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2021">Top 10 Books we read in 2021</a></strong></p></li><li><p><strong><a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2020">Top 10 Books we read in 2020</a></strong></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Data For Science is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Demographic processes]]></title><description><![CDATA[Simulating Epidemics with Birth and Death rates]]></description><link>https://data4sci.substack.com/p/demographic-processes</link><guid isPermaLink="false">https://data4sci.substack.com/p/demographic-processes</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Mon, 14 Apr 2025 13:32:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e02dd59-3f70-4342-9420-5c6b7b401a7c_865x571.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the latest post of the Epidemic Modeling series. In this post, we go beyond constant population and start modeling the striking effects that demographic processes (natural birth and death rates) can have on epidemic spreading.</p><p>If you would like a quick refresher before we get started, check out our previous posts in this series (especially the&#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/demographic-processes">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Choropleth Maps]]></title><description><![CDATA[In this post, we will learn how to quickly and easily plot geographical data using Shapefiles from the Census Bureau, geopandas, and matplotlib.]]></description><link>https://data4sci.substack.com/p/choropleth-maps</link><guid isPermaLink="false">https://data4sci.substack.com/p/choropleth-maps</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Wed, 02 Apr 2025 14:49:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d88641d-7dca-47c3-85f8-f6cb2dffd933_1260x774.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this post, we will learn how to quickly and easily plot geographical data using Shapefiles from the Census Bureau, geopandas, and matplotlib.</p><p>We hope your enjoy this post and don&#8217;t forget to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>so you never miss a post and</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/choropleth-maps?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/choropleth-maps?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>to help us grow! </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v7wD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v7wD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!v7wD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!v7wD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!v7wD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v7wD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v7wD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!v7wD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!v7wD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!v7wD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fff3cc66b-508c-4344-ad75-4752a5d07fd6_1400x76.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>The <a href="https://www.census.gov/">US Census Bureau</a> provides detailed shapefiles for <a href="https://www.census.gov/geographies/mapping-files.html">various regions</a> in the US. We download the <a href="https://www2.census.gov/geo/tiger/GENZ2018/shp/cb_2018_us_state_500k.zip">shapefile</a> for the 50 &#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/choropleth-maps">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Top 10 Books we read in 2024 ]]></title><description><![CDATA[A year&#8217;s worth of the best Data Science, Machine Learning, AI, and Algorithms.]]></description><link>https://data4sci.substack.com/p/top-10-books-we-read-in-2024</link><guid isPermaLink="false">https://data4sci.substack.com/p/top-10-books-we-read-in-2024</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sat, 28 Dec 2024 11:50:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!q2-k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q2-k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q2-k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!q2-k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!q2-k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!q2-k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q2-k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A whimsical, friendly humanoid robot of the future, sitting at a wooden table in a grand library filled with towering bookshelves. The robot&#8217;s metallic, streamlined body has soft, glowing accents. It is deeply concentrated on an old hardcover book, gently turning a page with a delicate robotic arm. Warm, golden light filters in through large windows, creating a calm, cozy atmosphere. The library backdrop is ornate and scholarly, reminiscent of a classic Victorian reading room but with subtle futuristic elements like glowing holographic signage or modern architecture details. The overall mood is peaceful, curious, and enchanting. High resolution, highly detailed, cinematic lighting.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A whimsical, friendly humanoid robot of the future, sitting at a wooden table in a grand library filled with towering bookshelves. The robot&#8217;s metallic, streamlined body has soft, glowing accents. It is deeply concentrated on an old hardcover book, gently turning a page with a delicate robotic arm. Warm, golden light filters in through large windows, creating a calm, cozy atmosphere. The library backdrop is ornate and scholarly, reminiscent of a classic Victorian reading room but with subtle futuristic elements like glowing holographic signage or modern architecture details. The overall mood is peaceful, curious, and enchanting. High resolution, highly detailed, cinematic lighting." title="A whimsical, friendly humanoid robot of the future, sitting at a wooden table in a grand library filled with towering bookshelves. The robot&#8217;s metallic, streamlined body has soft, glowing accents. It is deeply concentrated on an old hardcover book, gently turning a page with a delicate robotic arm. Warm, golden light filters in through large windows, creating a calm, cozy atmosphere. The library backdrop is ornate and scholarly, reminiscent of a classic Victorian reading room but with subtle futuristic elements like glowing holographic signage or modern architecture details. The overall mood is peaceful, curious, and enchanting. High resolution, highly detailed, cinematic lighting." srcset="https://substackcdn.com/image/fetch/$s_!q2-k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!q2-k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!q2-k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!q2-k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F378e64ca-5fe1-414a-9c82-ac1d77d49712_1024x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>1. Natural Language Processing with Transformers</h3>
      <p>
          <a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2024">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Announcing the release of Epidemik]]></title><description><![CDATA[I'm thrilled to announce the release of Epidemik, a Python package for simulating compartmental models in epidemiology.]]></description><link>https://data4sci.substack.com/p/announcing-the-release-of-epidemik</link><guid isPermaLink="false">https://data4sci.substack.com/p/announcing-the-release-of-epidemik</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Wed, 12 Jun 2024 13:04:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/54c1b33f-88ee-47a3-8e8b-14198749342e_524x516.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I'm thrilled to announce the release of <em><strong>Epidemik</strong></em>, a Python package for simulating compartmental models in epidemiology.</p><h3>Features</h3><ul><li><p><strong>Homogeneously mixed Model</strong>: Easily define compartmental models by just specifying the transitions and rates</p></li><li><p><strong>Seasonality: </strong>Allow parameters to evolve in time</p></li><li><p><strong>Age Structure:</strong> Convert any compartmental model to an age-structured model b&#8230;</p></li></ul>
      <p>
          <a href="https://data4sci.substack.com/p/announcing-the-release-of-epidemik">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Meta-Population Models]]></title><description><![CDATA[Welcome to the 10th post of the Epidemic Modeling series.]]></description><link>https://data4sci.substack.com/p/meta-population-models</link><guid isPermaLink="false">https://data4sci.substack.com/p/meta-population-models</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sat, 13 Apr 2024 14:38:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6vu3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6vu3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6vu3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 424w, https://substackcdn.com/image/fetch/$s_!6vu3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 848w, https://substackcdn.com/image/fetch/$s_!6vu3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 1272w, https://substackcdn.com/image/fetch/$s_!6vu3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6vu3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png" width="1456" height="531" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:531,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6vu3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 424w, https://substackcdn.com/image/fetch/$s_!6vu3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 848w, https://substackcdn.com/image/fetch/$s_!6vu3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 1272w, https://substackcdn.com/image/fetch/$s_!6vu3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5dc2c373-aedb-4c0b-9f66-39955e412ede_2400x875.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Welcome to the 10th post of the Epidemic Modeling series. In this post, we go beyond single populations and start modeling the spread of a disease through multiple coupled populations. Our fundamental assumptions are that the disease structure is the same everywhere and that individuals can travel between any two populations with a given fixed probabili&#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/meta-population-models">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[k-Core Decomposition]]></title><description><![CDATA[Exploring the degree correlations of real world networks]]></description><link>https://data4sci.substack.com/p/k-core-decomposition</link><guid isPermaLink="false">https://data4sci.substack.com/p/k-core-decomposition</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sat, 24 Feb 2024 17:57:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F332d1bcf-b37d-4758-9186-3f6d01c16646_5844x2902.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the latest post in the Graphs for Data Science substack. In this post, we explore the structure of networks using k-core decomposition, a unique way to probe the connectivity patterns of complex networks. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IHgW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Real-world networks are typically large and hard to visualize, leading to the development of sophisticated methods and algorithms, such as <a href="https://graphs4sci.substack.com/p/network-assortativity-and-the-configurational">&#8230;</a></p>
      <p>
          <a href="https://data4sci.substack.com/p/k-core-decomposition">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Join my chat]]></title><description><![CDATA[A private space for us to converse and connect]]></description><link>https://data4sci.substack.com/p/join-my-chat</link><guid isPermaLink="false">https://data4sci.substack.com/p/join-my-chat</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sat, 17 Feb 2024 01:06:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2H2-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9a23d49f-76bd-4f75-baac-0ae5733774bd_1456x743.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today I&#8217;m announcing a brand new addition to my Substack publication: the Graphs For Data Science subscriber chat.</p><p>This is a conversation space in the Substack app that I set up exclusively for my subscribers &#8212; kind of like a group chat or live hangout. I&#8217;ll post short prompts, thoughts, and updates that come my way, and you can jump into the discussion. </p>
      <p>
          <a href="https://data4sci.substack.com/p/join-my-chat">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Impact of Age Structure on Epidemic Spreading]]></title><description><![CDATA[Welcome to the latest post on our long-running epidemic modeling series.]]></description><link>https://data4sci.substack.com/p/the-impact-of-age-structure-on-epidemic</link><guid isPermaLink="false">https://data4sci.substack.com/p/the-impact-of-age-structure-on-epidemic</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Thu, 01 Feb 2024 15:41:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AHGU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AHGU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AHGU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 424w, https://substackcdn.com/image/fetch/$s_!AHGU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 848w, https://substackcdn.com/image/fetch/$s_!AHGU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 1272w, https://substackcdn.com/image/fetch/$s_!AHGU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AHGU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png" width="1456" height="1030" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1030,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AHGU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 424w, https://substackcdn.com/image/fetch/$s_!AHGU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 848w, https://substackcdn.com/image/fetch/$s_!AHGU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 1272w, https://substackcdn.com/image/fetch/$s_!AHGU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4102385-4ac0-4a4e-8483-573f3e6b89da_2400x1698.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Welcome to the latest post on our long-running epidemic modeling series. In this post, we&#8217;ll cover how to introduce age structure into our compartmental models and its impact on how an epidemic spreads.</p><p>If you need a quick refresher, check out our previous posts in this series (especially the first 2):</p><ol><li><p><a href="https://medium.com/data-for-science/epidemic-modeling-101-or-why-your-covid19-exponential-fits-are-wrong-97aa50c55f8?source=friends_link&amp;sk=513b7aad9c34af4ad26a6a92c498c601">Epidemic Modeling 101: Or why your CoVID19 exponentia&#8230;</a></p></li></ol>
      <p>
          <a href="https://data4sci.substack.com/p/the-impact-of-age-structure-on-epidemic">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Top 10 Books we read in 2023]]></title><description><![CDATA[A year&#8217;s worth of the best Data Science, Machine Learning, AI, and Algorithms.]]></description><link>https://data4sci.substack.com/p/top-10-books-we-read-in-2023</link><guid isPermaLink="false">https://data4sci.substack.com/p/top-10-books-we-read-in-2023</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Wed, 27 Dec 2023 15:58:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CXH7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CXH7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CXH7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!CXH7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!CXH7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!CXH7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CXH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CXH7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!CXH7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!CXH7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!CXH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1709f2ed-7c2a-4422-88fb-4ca1232248ae_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image generated by the author using&nbsp;DALL-E</figcaption></figure></div><p>2023 was a year full of great books, some just published and others that have been around for a while and that have just gotten to my hands. Below, you&#8217;ll find some of the ones I found the most impactful for my work and personal interests.</p><h3>1. Computing the Climate&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3v975ql" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FALE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 424w, https://substackcdn.com/image/fetch/$s_!FALE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 848w, https://substackcdn.com/image/fetch/$s_!FALE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 1272w, https://substackcdn.com/image/fetch/$s_!FALE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FALE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png" width="250" height="379" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:379,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3v975ql&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FALE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 424w, https://substackcdn.com/image/fetch/$s_!FALE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 848w, https://substackcdn.com/image/fetch/$s_!FALE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 1272w, https://substackcdn.com/image/fetch/$s_!FALE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa99f9de-6ba6-4bbe-96bd-e4d794ca246e_250x379.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A captivating journey into the synergy of climate science and computing, making it a must-read for anyone intrigued by the intersection of these fields. Easterbrook&#8217;s engaging writing style effortlessly demystifies complex concepts, ensuring accessibility for readers with diverse backgrounds. The book&#8217;s strength lies in its seamless blend of theoretical discussions with real-world examples, showcasing the instrumental role of computing in unraveling the intricacies of climate dynamics.</p><p>Easterbrook&#8217;s balanced perspective sets this book apart, acknowledging the uncertainties in climate science while underscoring the transformative impact of technological advancements. By delving into interdisciplinary connections with policy, economics, and environmental science, Easterbrook provides a holistic understanding of the challenges associated with climate change. This comprehensive approach educates and empowers readers to recognize the pivotal role of computational progress in shaping our collective response to climate-related issues.</p><p>In essence, &#8220;Computing the Climate&#8221; stands as a persuasive testament to the indispensable role of computing in climate research. Easterbrook&#8217;s skillful narrative not only informs but also inspires readers to grasp the significance of technological innovation in confronting the pressing challenges of our changing climate. This book is an essential addition to the literature, urging readers to actively engage in the ongoing dialogue surrounding the future of our planet.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3v975ql&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3v975ql"><span>Buy On Amazon</span></a></p><div><hr></div><h3>2. SQL for Data Analysis&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3ZYXj5z" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O8hQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!O8hQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!O8hQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!O8hQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O8hQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg" width="284" height="372.7034120734908" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1143,&quot;resizeWidth&quot;:284,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3ZYXj5z&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!O8hQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!O8hQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!O8hQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!O8hQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e428d58-0cbb-48e8-971d-f1bcb0ea7a52_1143x1500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A must-have resource for anyone serious about data analysis and SQL. It equips you with the tools and knowledge to confidently tackle complex data analysis tasks. With its clear explanations, real-world examples, and comprehensive coverage of advanced topics, this book will undoubtedly become an invaluable asset in your data analysis journey. Whether you&#8217;re a data analyst, data scientist, or SQL enthusiast, this book will help you take your skills to the next level and transform data into actionable insights.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3ZYXj5z&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3ZYXj5z"><span>Buy On Amazon</span></a></p><div><hr></div><h3>3. Network Science with Python&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3NGPRqH" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!deQZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 424w, https://substackcdn.com/image/fetch/$s_!deQZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 848w, https://substackcdn.com/image/fetch/$s_!deQZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 1272w, https://substackcdn.com/image/fetch/$s_!deQZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!deQZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png" width="250" height="308" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:308,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3NGPRqH&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!deQZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 424w, https://substackcdn.com/image/fetch/$s_!deQZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 848w, https://substackcdn.com/image/fetch/$s_!deQZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 1272w, https://substackcdn.com/image/fetch/$s_!deQZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3ba4bf5-2f49-47c7-a504-ebfb0a553f9c_250x308.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A highly recommended book for anyone interested in network analysis. It provides a comprehensive and accessible introduction to the topic. The book&#8217;s linear progression and friendly tone make it highly engaging and easy to follow. The author&#8217;s contagious enthusiasm and practical examples effectively communicate the power and importance of network analysis. The book covers various domains, including language and social media data mining, and explores the relationship between NLP and networks, an approach similar to our very own <a href="https://graphs4sci.substack.com/">Graphs for Data Science</a> substack. It emphasizes the value of actionable insights in the conversational AI domain and provides historical context and real-world use cases for NLP solutions. The book also introduces the Python packages used and dives into network science using the NetworkX library. It demonstrates how graphs can be used in machine learning and covers important concepts like betweenness centrality, page rank, and community detection with real-world applications. Overall, &#8220;Network Science with Python&#8221; is a well-written and comprehensive guide that offers practical insights and is suitable for readers of all levels.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3NGPRqH&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3NGPRqH"><span>Buy On Amazon</span></a></p><div><hr></div><h3>4. What is ChatGPT Doing&#8230; and Why Does It Work?&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3tws4mt" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uca8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uca8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uca8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uca8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uca8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg" width="250" height="375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:375,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3tws4mt&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!uca8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 424w, https://substackcdn.com/image/fetch/$s_!uca8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 848w, https://substackcdn.com/image/fetch/$s_!uca8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!uca8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee100f0e-5fbd-4931-a7b1-782f8f8277f7_250x375.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This book offers a compelling exploration of ChatGPT&#8217;s success and the broader implications of artificial intelligence while delving into the inner workings of ChatGPT and its historical context.</p><p>The book stands out for its accessibility, making complex concepts understandable to non-computer scientists and non-mathematicians alike. Wolfram provides a high-level overview of ChatGPT&#8217;s components, such as embeddings and transformers, without getting bogged down in technical details.</p><p>While acknowledging ChatGPT&#8217;s successes, Wolfram candidly addresses its limitations, especially in real-world computational tasks. He critically examines ChatGPT&#8217;s reliance on neural network weightings and raises intriguing questions about intelligence, drawing parallels with biological evolution.</p><p>In conclusion, &#8220;What Is ChatGPT doing&nbsp;&#8230; and Why Does It Work?&#8221; is a thought-provoking read that demystifies AI for a wide audience. Wolfram&#8217;s expertise and candid exploration make it a must-read for those interested in AI&#8217;s frontiers and the complexities of intelligence.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3tws4mt&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3tws4mt"><span>Buy On Amazon</span></a></p><div><hr></div><h3>5. Causal Factor Investing&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/47Fc00k" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EkDF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 424w, https://substackcdn.com/image/fetch/$s_!EkDF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 848w, https://substackcdn.com/image/fetch/$s_!EkDF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 1272w, https://substackcdn.com/image/fetch/$s_!EkDF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EkDF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png" width="250" height="375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:375,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/47Fc00k&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EkDF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 424w, https://substackcdn.com/image/fetch/$s_!EkDF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 848w, https://substackcdn.com/image/fetch/$s_!EkDF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 1272w, https://substackcdn.com/image/fetch/$s_!EkDF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdce8d84f-2b08-4a0a-88b2-6269c002065e_250x375.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8202;Causal Factor Investing introduces a unique approach by emphasizing causality, a factor often overlooked in traditional quantitative models. The book provides a refreshing perspective on financial markets, challenging conventional wisdom and offering a comprehensive guide to understanding and implementing causal factor investing.</p><p>What sets this book apart is its practicality. L&#243;pez de Prado delves into the theoretical underpinnings of causal factor investing and provides real-world examples and case studies. This hands-on approach ensures that readers can grasp and apply the concepts to their investment strategies. The author&#8217;s writing style is engaging and approachable, balancing academic rigor and practical applicability.</p><p>In a landscape where financial strategies constantly evolve, &#8220;Causal Factor Investing&#8221; stands out as a timely and relevant resource. L&#243;pez de Prado&#8217;s expertise shines through, making this book essential for both seasoned professionals and those new to quantitative finance. It&#8217;s a must-read for anyone serious about staying ahead in the dynamic world of investment, offering a thought-provoking and informative guide that will shape the future of quantitative finance.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/47Fc00k&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/47Fc00k"><span>Buy On Amazon</span></a></p><div><hr></div><h3>6. Data Science in Context&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3WHcDB5" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n2HI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 424w, https://substackcdn.com/image/fetch/$s_!n2HI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 848w, https://substackcdn.com/image/fetch/$s_!n2HI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 1272w, https://substackcdn.com/image/fetch/$s_!n2HI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n2HI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png" width="250" height="362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3WHcDB5&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n2HI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 424w, https://substackcdn.com/image/fetch/$s_!n2HI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 848w, https://substackcdn.com/image/fetch/$s_!n2HI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 1272w, https://substackcdn.com/image/fetch/$s_!n2HI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F150a91dc-3868-4fe6-b7eb-102b798cb3be_250x362.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Provides a comprehensive overview of Data Science, covering the technical aspects of the field and the ethical considerations and challenges it presents. It is structured to make it easy for readers to understand and absorb the information and offers recommendations for addressing ethical concerns. The authors focus on real-life examples from their various fields, such as healthcare and finance, to illustrate data science applications and their potential impact. Aimed at a wide audience, it includes data science novices and experienced professionals and is recommended for anyone with an interest in data science and its role in daily life and various industries.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3WHcDB5&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3WHcDB5"><span>Buy On Amazon</span></a></p><div><hr></div><h3>7. <a href="https://amzn.to/3WHcDB5">AI and Machine Learning for Coders</a>&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3KjB5W4" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wysc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 424w, https://substackcdn.com/image/fetch/$s_!Wysc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 848w, https://substackcdn.com/image/fetch/$s_!Wysc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 1272w, https://substackcdn.com/image/fetch/$s_!Wysc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wysc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png" width="250" height="328" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:328,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3KjB5W4&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wysc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 424w, https://substackcdn.com/image/fetch/$s_!Wysc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 848w, https://substackcdn.com/image/fetch/$s_!Wysc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 1272w, https://substackcdn.com/image/fetch/$s_!Wysc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f48c993-c1b8-426a-83ad-921c18a6727e_250x328.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8202;AI and Machine Learning for Coders&#8202; exceeds expectations with excellent explanations on how to code machine learning using TensorFlow and different ML techniques. The book covers various topics, including computer vision, natural language processing, and time series forecasting, and even includes a section on text generation.</p><p>The book is aimed specifically at coders with Python experience and explains how neural networks work at a high level without overwhelming readers with too much math. The author does an excellent job of explaining convolution, maxpooling, interpretability, bias/fairness, and Google&#8217;s AI principles.</p><p>Overall, anyone who wants to learn about deep learning using TensorFlow will find here an excellent resource that provides a solid foundation in deep learning and is suitable for hands-on practitioners without overwhelming them with math.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3KjB5W4&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3KjB5W4"><span>Buy On Amazon</span></a></p><div><hr></div><h3>8. Automate the Boring Stuff with Python&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3oToWyj" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aOei!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 424w, https://substackcdn.com/image/fetch/$s_!aOei!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 848w, https://substackcdn.com/image/fetch/$s_!aOei!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 1272w, https://substackcdn.com/image/fetch/$s_!aOei!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aOei!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png" width="250" height="331" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3365674-ebac-4609-829b-69057dad322e_250x331.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:331,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3oToWyj&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aOei!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 424w, https://substackcdn.com/image/fetch/$s_!aOei!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 848w, https://substackcdn.com/image/fetch/$s_!aOei!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 1272w, https://substackcdn.com/image/fetch/$s_!aOei!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3365674-ebac-4609-829b-69057dad322e_250x331.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8202;This is an exceptional book that is perfect for anyone who wants to learn how to use Python to automate mundane tasks. The author has done an excellent job of explaining complex concepts in a simple and easy-to-understand manner.</p><p>The book is well-organized and starts with the basics of Python programming and gradually progresses to more advanced topics such as web scraping, working with Excel spreadsheets, and sending automated emails. The real-life examples and practical exercises included in each chapter make it easy for readers to apply what they have learned and see the results.</p><p>One of the most remarkable aspects of this book is that it doesn&#8217;t require any prior programming experience, making it perfect for beginners. However, it is also an excellent resource for experienced programmers who want to learn how to automate repetitive tasks.</p><p>Overall, this is a must-read for anyone who wants to learn how to use Python for automating everyday tasks. The book is well-written, easy to follow, and the author&#8217;s sense of humor makes it an enjoyable read. I highly recommend this book to anyone who wants to learn Python programming and automate their boring tasks.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3oToWyj&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3oToWyj"><span>Buy On Amazon</span></a></p><div><hr></div><h3>9. Introduction to Algorithms&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3mT6JA5" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gbMd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 424w, https://substackcdn.com/image/fetch/$s_!gbMd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 848w, https://substackcdn.com/image/fetch/$s_!gbMd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 1272w, https://substackcdn.com/image/fetch/$s_!gbMd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gbMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png" width="250" height="285" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:285,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3mT6JA5&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gbMd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 424w, https://substackcdn.com/image/fetch/$s_!gbMd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 848w, https://substackcdn.com/image/fetch/$s_!gbMd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 1272w, https://substackcdn.com/image/fetch/$s_!gbMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48ab986e-cb88-4502-93fd-bd4fc1cdef64_250x285.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Affectionately known as the bible of algorithms and over the years has proven to be an essential reading and, at over 1300 pages, a complete reference for anyone interested in gaining a broad understanding of algorithms. The content can at times be challenging but is presented in a fashion that is engaging and easily digestible. Exercises at the end of each chapter are expressly presented without the benefit of solutions but were carefully designed to help students to think algorithmically and thoroughly absorb the material presented.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3mT6JA5&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3mT6JA5"><span>Buy On Amazon</span></a></p><div><hr></div><h3>10. Advanced Algorithms and Data Structures&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3Sr8Nei" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!foAU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 424w, https://substackcdn.com/image/fetch/$s_!foAU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 848w, https://substackcdn.com/image/fetch/$s_!foAU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 1272w, https://substackcdn.com/image/fetch/$s_!foAU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!foAU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png" width="250" height="313" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:313,&quot;width&quot;:250,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3Sr8Nei&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!foAU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 424w, https://substackcdn.com/image/fetch/$s_!foAU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 848w, https://substackcdn.com/image/fetch/$s_!foAU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 1272w, https://substackcdn.com/image/fetch/$s_!foAU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc344b94b-86d4-4e03-ab28-58c88b2705e4_250x313.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8202;This book is a great resource for engineers who want to enhance their knowledge of algorithms and data structures without having to go back to traditional, academic-style textbooks. The author has a deep understanding of how to deliver high-quality code and each algorithm is thoroughly illustrated with pseudo-code and diagrams. The book is especially helpful for tackling contemporary problems such as multidimensional search, understanding caches better, classification, and graph theory.</p><p>The writing is friendly and approachable, making it relatively easy to understand, although some familiarity with math may be helpful. It is a book that can be read, skipped around, and returned to occasionally when needed. Overall, this book is strongly recommended for engineers looking to enhance their algorithm and data structure knowledge.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3Sr8Nei&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3Sr8Nei"><span>Buy On Amazon</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OVTP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OVTP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OVTP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>What books kept you company throughout 2023? And which ones are you looking forward to in 2024? Leave the most interesting ones in the comment section below. And my fondest wishes for a 2024 full of great books.</p><p>Also, don&#8217;t forget to check out our reading list from previous years:</p><ul><li><p><strong><a href="https://medium.data4sci.com/top-10-books-we-read-in-2022-c3db94a5bdb7">Top 10 Books we read in 2022</a></strong></p></li><li><p><strong><a href="https://medium.data4sci.com/top-10-books-we-read-in-2021-55f8979b9153">Top 10 Books we read in 2021</a></strong></p></li><li><p><strong><a href="https://medium.data4sci.com/top-10-books-we-read-in-2020-d02b689c4271">Top 10 Books we read in 2020</a></strong></p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Effect of Vaccines]]></title><description><![CDATA[Welcome to the latest post of the Viz4Sci Substack!]]></description><link>https://data4sci.substack.com/p/the-effect-of-vaccines</link><guid isPermaLink="false">https://data4sci.substack.com/p/the-effect-of-vaccines</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Wed, 05 Jul 2023 14:56:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e2a59c6-49c7-45dd-9b5b-b9f58109ef34_1646x1170.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the latest post of the Viz4Sci Substack! In this post we will learn how to reconstruct one of the most famous visualizations of the effects of vaccination of disease prevalence, originally published by the Wall Street Journal in 2015. We&#8217;ll use the original WSJ data and build the entire visualization using nothing but matplotlib.</p><p>We hope your &#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/the-effect-of-vaccines">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Waterfall Chart]]></title><description><![CDATA[The Gross Domestic Product is perhaps the most common measure of the economic health of a specific country or region, and it is composed of the monetary value of all the goods and services produced and sold in a given quarter or year.]]></description><link>https://data4sci.substack.com/p/waterfall-chart</link><guid isPermaLink="false">https://data4sci.substack.com/p/waterfall-chart</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sun, 26 Feb 2023 15:44:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa102905e-29b8-4bc2-be37-d8426bf10476_1093x1377.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The <a href="https://en.wikipedia.org/wiki/Gross_domestic_product">Gross Domestic Product</a> is perhaps the most common measure of the economic health of a specific country or region, and it is composed of the monetary value of all the goods and services produced and sold in a given quarter or year. Naturally, such a complex metric is composed of many individual components each with its contribution.</p><p>In this post, we w&#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/waterfall-chart">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Top 10 Books we read in 2022]]></title><description><![CDATA[A year's worth of the best Data Science, Machine Learning, AI, and Blockchain technology]]></description><link>https://data4sci.substack.com/p/top-10-books-we-read-in-2022</link><guid isPermaLink="false">https://data4sci.substack.com/p/top-10-books-we-read-in-2022</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Tue, 13 Dec 2022 15:55:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vMud!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vMud!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vMud!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vMud!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vMud!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vMud!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vMud!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vMud!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vMud!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vMud!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vMud!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa093d29-5ea0-4e00-9a0c-b79ab155d317_1600x1067.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@otutunaru?utm_source=medium&amp;utm_medium=referral">Olga Tutunaru</a> on&nbsp;<a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure></div><h4></h4><h3>1. The Order of Time&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3W4PdVG" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EfaE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EfaE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EfaE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EfaE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EfaE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg" width="201" height="307.9673135852911" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:979,&quot;resizeWidth&quot;:201,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3W4PdVG&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EfaE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!EfaE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!EfaE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!EfaE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F034845a2-ff57-475a-a9ce-4145b740e184_979x1500.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Carlo Rovelli explores the concept of time and how it has been understood by scientists and philosophers throughout history. It discusses advances in our understanding of time, such as Einstein&#8217;s theory of relativity, which proposed that time is affected by mass and speed. The book also explores the idea of a universe without time and discusses theories and models that have been developed to explain the universe in this way, such as Loop Quantum theory, the theory that Rovelli works on. The book is intellectually stimulating and interesting although it sometimes struggles to find the right balance between being accessible to a general audience and being a serious work of science.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3W4PdVG&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3W4PdVG"><span>Buy On Amazon</span></a></p><div><hr></div><h3>2. Code: The Hidden Language of Computer Hardware and Software&#8202;&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3iOhwcF" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bTj8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bTj8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bTj8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bTj8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bTj8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg" width="200" height="301.8108651911469" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:994,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3iOhwcF&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bTj8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!bTj8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!bTj8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!bTj8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F627e0f1f-4e67-4561-9fbc-7dcc9e87af59_994x1500.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This book provides a step-by-step timeline of how computers came to be, clearly and concisely. It takes you on a tour of what happens &#8220;behind&#8221; the pixels on your screen, from logical gates on up, without requiring a heavy technical background. Chapter, by chapter, introduces each concept and technology necessary to make modern computers work. By the end of it, you&#8217;ll have a detailed and intuitive understanding of how Computers <em>really</em> work and will be able to mode easily optimize how you write your own software. It might also make you want to learn to program in Assembly! A book that should be required reading for anyone interested in Computer Science.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3iOhwcF&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3iOhwcF"><span>Buy On Amazon</span></a></p><div><hr></div><h3>3. Interactive Dashboards and Data Apps with Plotly and Dash&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3V3gGq5" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SjOs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SjOs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SjOs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SjOs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SjOs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg" width="202" height="249.06618313689935" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1360,&quot;width&quot;:1103,&quot;resizeWidth&quot;:202,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3V3gGq5&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SjOs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SjOs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SjOs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SjOs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F794ff290-6e0a-4a93-8c5f-ab7d915b605f_1103x1360.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In our lives as data scientists and machine learning engineers, we are often called upon to develop Dashboards and other Data Drive apps to communicate results or to monitor the performance of models deployed to production. Plotly and Dash are the current State of the Art libraries for interactive visualizations with a web frontend. This book does a remarkable job of getting you up to speed with both of these libraries taking you from basic to advanced level through practical building blocks that you can immediately customize for your own use.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3V3gGq5&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3V3gGq5"><span>Buy On Amazon</span></a></p><div><hr></div><h3>4. DeFi and the Future of Finance&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3uH709S" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xcs4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xcs4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xcs4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xcs4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xcs4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg" width="200" height="293.2551319648094" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1023,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3uH709S&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xcs4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!xcs4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!xcs4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!xcs4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fdd4ce8-6845-45d5-8b8c-647d0d051294_1023x1500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Decentralized Finance (DeFi) is a new industry that aims to increase financial freedom in the world. The book explains the problems that DeFi solves for the current financial system, such as inefficiency, limited access, opacity, centralized control, and lack of interoperability. It then goes on to describe the solutions that DeFi offers, using examples and diagrams to illustrate the concepts. Finally, the book discusses the risks that DeFi faces, such as smart contract, governance, scaling, and regulatory risks. A highly recommended read for anyone interested in this burgeoning field and with some previous familiarity with financial concepts.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3uH709S&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3uH709S"><span>Buy On Amazon</span></a></p><div><hr></div><h3>5. Bayes&#8217; Rule: A Tutorial Introduction to Bayesian Analysis&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3hhsiaY" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XPJL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XPJL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XPJL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XPJL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XPJL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg" width="200" height="299.88974641675856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1360,&quot;width&quot;:907,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3hhsiaY&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XPJL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!XPJL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!XPJL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!XPJL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe724c50e-6863-4fa2-806c-d00469f7a432_907x1360.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Despite its simplicity, Bayes Rule is one of the most powerful theorems in probability theory. This relatively short book (170 pages) provides an excellent overview and hands-on introduction to Bayesian analysis. While the main text provides a strong foundation for the main ideas and concepts, the companion Python <a href="https://drive.google.com/file/d/1DD1jl6tryApZZmhsbf7eZYwssRrAziHf/view?usp=sharing">code</a> gives you a leg up in introducing these techniques into your daily work. Overall, an excellent first introduction to the topic and a good refresher reference if you haven&#8217;t touched this area in some time.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3hhsiaY&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3hhsiaY"><span>Buy On Amazon</span></a></p><div><hr></div><h3>6. Causality&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3BsObLj" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Gmx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1Gmx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1Gmx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1Gmx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Gmx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg" width="200" height="284.6" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1423,&quot;width&quot;:1000,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3BsObLj&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1Gmx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1Gmx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1Gmx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1Gmx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0e986ba-1578-4a19-9e62-2110029113ea_1000x1423.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Causal Inference is a lively and fast-developing area in Data Science that we believe has the potential to be truly revolutionary in coming years (you can get a quick overview of the main ideas in our Causal Inference series over at Medium). Judea Pearl is one of the most prominent founding fathers of this field that he introduces masterfully in this textbook. While the approach Pearl chooses is mathematically rigorous, thanks to his rich use of toy examples, the key ideas and concepts are easily grasped and adapted to real-world datasets. Causal Inference is a powerful arrow in any Data Scientist&#8217;s quiver and this is the ideal starting point if you&#8217;re interested in taking the first steps in this exciting area.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3BsObLj&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3BsObLj"><span>Buy On Amazon</span></a></p><div><hr></div><h3>7. The Practitioner&#8217;s Guide to Graph Data&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3BlReoD" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HUp1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HUp1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HUp1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HUp1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HUp1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg" width="200" height="262.4671916010499" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1143,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3BlReoD&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HUp1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!HUp1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!HUp1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!HUp1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb3241d8-6ea0-45be-a141-8dba5909632e_1143x1500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Graph Thinking and Graph Data are topics near and dear to our hearts here at D4Sci (checkout <a href="https://data4sci.substack.com/s/graphs">G4Sci</a> if you haven&#8217;t yet) and this book does an excellent job of introducing both fundamental and advanced topics and techniques using practical real-world datasets and state of the art graph databases. The book is exceptionally well written and easy to follow, with practical &#8220;rules of thumb&#8221; generously sprinkled throughout along with practical examples that you can use to grok as the various concepts are they are introduced. A must-have for anyone interested in Graph Thinking and Graph Databases.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3BlReoD&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3BlReoD"><span>Buy On Amazon</span></a></p><div><hr></div><h3>8. Essential Math for Data Science&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3Bshfmh" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ak9-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ak9-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ak9-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ak9-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ak9-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg" width="200" height="262.4671916010499" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1143,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3Bshfmh&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ak9-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ak9-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ak9-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ak9-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9594e303-62dc-4621-9f8e-3e30bb442496_1143x1500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Good mathematical foundations are paramount to being successful as a Data Scientist. In his recent book, T. Nield introduces the reader to enough of the mathematics underlying Data Science and Machine Learning to give you a head start in grokking both classic and state-of-the-art algorithms that you're likely to encounter in your career as a Data Scientist. This is a highly recommended read to anyone who wants to look inside the black boxes we use every day.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3Bshfmh&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3Bshfmh"><span>Buy On Amazon</span></a></p><div><hr></div><h3>9. The Unicorn Project&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3hhjPo9" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VnVj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VnVj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VnVj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VnVj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VnVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg" width="200" height="297.6190476190476" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1500,&quot;width&quot;:1008,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3hhjPo9&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VnVj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VnVj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VnVj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VnVj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551bf97d-cdf5-40e0-bfb1-c3910a516615_1008x1500.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is a novel that focuses on the transformation required for companies to achieve sustained velocity and quality in their operations. The book explores the roles of development and business teams in this process and highlights the importance of communication and data-driven decision-making. The story is entertaining and a good illustration of industry standards in the field of IT despite (or perhaps because of) the occasional over-emphasis on long hours and burnout.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3hhjPo9&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3hhjPo9"><span>Buy On Amazon</span></a></p><div><hr></div><h3>10. Scientific Computing with Python&#8202;</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://amzn.to/3ho7oXA" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!37xI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!37xI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!37xI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!37xI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!37xI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg" width="200" height="246.60018132366272" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1360,&quot;width&quot;:1103,&quot;resizeWidth&quot;:200,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://amzn.to/3ho7oXA&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!37xI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!37xI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!37xI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!37xI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24a12193-415e-4eaf-aaed-e496463b10b5_1103x1360.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8202;Fills an important gap in most Data Scientist's bookshelves. High-performance computing, especially scientific and numeric computing, is a fairly technical branch of computer science that most programmers aren&#8217;t familiar with. It requires a deep understanding of the finer points of the data structures being used and of their specific implementations. With this book, the authors have managed to demystify a highly complex subject with clear explanations and analysis that will appeal to developers of all levels. Naturally, some of the subjects could gain from being further developed, but in every project of this kind, a balance must be struck between breadth and depth. Overall, a useful book that I&#8217;ll refer to often.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://amzn.to/3ho7oXA&quot;,&quot;text&quot;:&quot;Buy On Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://amzn.to/3ho7oXA"><span>Buy On Amazon</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OVTP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OVTP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OVTP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!OVTP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815e321-41da-47fd-ac62-e8920fb443f7_1400x76.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>What books kept you company throughout 2022? And which ones are you looking forward to in 2023?</p><p>Also, don&#8217;t forget to check out our reading list from previous years</p><ul><li><p><strong><a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2021">Top 10 Books we read in 2021</a></strong></p></li><li><p><strong><a href="https://data4sci.substack.com/p/top-10-books-we-read-in-2020">Top 10 Books we read in 2020</a></strong></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Network Attacks]]></title><description><![CDATA[Breaking up a network without observing it completely]]></description><link>https://data4sci.substack.com/p/network-attacks</link><guid isPermaLink="false">https://data4sci.substack.com/p/network-attacks</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Sun, 16 Oct 2022 23:27:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faa27287f-2f65-4f72-85ab-21ab96e83407_3684x2484.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the latest post of Graphs for Data Science. This week we consider how to attack a network, even when we don&#8217;t have complete information about all the nodes and edges. </p><p>Thanks to node correlations, we can (preferentially) reach network hubs by selecting a node a random and then reaching out to one of their neighbors. We demonstrate the effectiv&#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/network-attacks">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Kahn's Algorithm for Topological Sorting]]></title><description><![CDATA[Sorting the nodes of a DAG]]></description><link>https://data4sci.substack.com/p/kahns-algorithm-for-topological-sorting</link><guid isPermaLink="false">https://data4sci.substack.com/p/kahns-algorithm-for-topological-sorting</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Wed, 21 Sep 2022 17:28:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6266bac-99e1-40fe-aefd-44d7038a35cb_3684x2484.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week we explore Kahn&#8217;s algorithm for topological sorting of Directed Acyclical Graphs, a simple but powerful algorithm introduced in 1962 for the automatic scheduling of computational tasks while taking into account all of their dependencies. As a test case, we apply it to a large citation network dataset</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://data4sci.substack.com/p/kahns-algorithm-for-topological-sorting?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://data4sci.substack.com/p/kahns-algorithm-for-topological-sorting?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IHgW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png" width="1400" height="76" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:76,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IHgW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 424w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 848w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1272w, https://substackcdn.com/image/fetch/$s_!IHgW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4ae7dd75-d55d-4547-b4cd-c2071cf6aa35_1400x76.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h1>Topological Sorting</h1><p><a href="https://en.wikipedia.org/wiki/Topological_sorting">Topological Sorting</a> is a <a href="https://en.wikipedia.org/wiki/Sorting_algorithm">&#8230;</a></p>
      <p>
          <a href="https://data4sci.substack.com/p/kahns-algorithm-for-topological-sorting">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Photo Color Scheme]]></title><description><![CDATA[Welcome to the latest post of the Viz4Sci Substack!]]></description><link>https://data4sci.substack.com/p/photo-color-scheme</link><guid isPermaLink="false">https://data4sci.substack.com/p/photo-color-scheme</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Wed, 31 Aug 2022 00:33:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fb23556f0-828f-4f76-b735-ea6f00b406df_696x470.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to the latest post of the Viz4Sci Substack! This week we explore how to manipulate, extract the main colors, and reduce the number of colors of arbitrary images using just matplotlib and sklearn.</p><p>We hope your enjoy this post and don&#8217;t forget to</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://viz4sci.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://viz4sci.substack.com/subscribe?"><span>Subscribe now</span></a></p><p>so you never miss a post and</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://viz4sci.substack.com/p/photo-color-scheme?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://viz4sci.substack.com/p/photo-color-scheme?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><p>to help us grow! We&#8217;re looking forward to hearing your thoughts, so go ahead&#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/photo-color-scheme">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Prim's Minimum Spanning Tree Algorithm]]></title><description><![CDATA[Finding the shortest path to every node]]></description><link>https://data4sci.substack.com/p/prims-minimum-spanning-tree-algorithm</link><guid isPermaLink="false">https://data4sci.substack.com/p/prims-minimum-spanning-tree-algorithm</guid><dc:creator><![CDATA[Bruno Gonçalves]]></dc:creator><pubDate>Tue, 16 Aug 2022 00:16:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F02c230bd-9a5c-4640-9233-1adc8a9649fe_1291x2484.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this post we introduce Prim&#8217;s algorithm to identify the Minimum Spanning Tree of a graph. The MST is a tree made up by the subset of edges from a weighted graph that connect every node while having the smallest total weight possible. </p><p>MSTs have a wide range of practical applications, specially in distribution networks where we must reach every node in&#8230;</p>
      <p>
          <a href="https://data4sci.substack.com/p/prims-minimum-spanning-tree-algorithm">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>