Link Checker Report: Interpretable ML Book Issues
Hey everyone! It's time for our regular check-in on the health of the links within the Interpretable ML Book. We've just wrapped up a comprehensive link check, and while a lot of things are looking good, we've also identified some areas that need our attention. Think of this as a health check-up for our digital library, ensuring all the pathways to knowledge are clear and accessible. Let's dive into the nitty-gritty of what we found, why it matters, and what we're going to do about it. Keeping these links solid is super important for anyone trying to learn and explore the fascinating world of interpretable machine learning.
The Big Picture: A Summary of Link Status
First off, let's get a bird's-eye view of the entire operation. We scanned a grand total of 4455 links. That's a massive number, guys, and it shows just how much information and resources are packed into this book! Out of those, a whopping 3998 links were successful, which is fantastic news. This means the vast majority of the time, when you click a link, you're going to land exactly where you expect to. We also saw 0 timeouts, meaning our checker didn't get stuck waiting for a response, and 0 redirected links, which is also great as it implies direct access to the intended content. We did, however, find 84 excluded links (these are usually links we intentionally skip for various reasons, like internal references or specific testing scenarios), 1 unknown status (which is pretty rare and might warrant a closer look), and, unfortunately, 372 errors. It's these errors we'll be focusing on, as they represent potential roadblocks for our readers. Don't let that error count scare you too much; a lot of these are often easily fixable, and we'll break them down so you know exactly what's going on.
Deep Dive into Errors: What Went Wrong and Where?
Now, let's get granular and figure out exactly where these 372 errors are popping up. We've categorized the errors by the HTML file they were found in. This helps us pinpoint the specific sections of the book that need the most love. The main culprits seem to be 'Network error' and 'Cannot find file'. Network errors can happen for a bunch of reasons – maybe the server hosting the link was temporarily down, or there was a hiccup in the connection. 'Cannot find file' errors usually point to a broken link, a typo, or a file that has been moved or deleted. Let's take a closer look at some of the most affected pages.
Errors in data.html
The data.html file has a notable number of errors. We're seeing several 'Network error' issues with DOI links like https://doi.org/10.1007/BF01025868 and https://doi.org/10.1007/s13748-013-0040-3. These are digital object identifiers, and when they fail, it's often because the publisher's linking service or the DOI resolver itself is having a temporary issue. It's frustrating, but usually, these resolve themselves over time or can be manually searched for. More concerning are the 'Cannot find file' errors. We've got file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/privacy-policy.html. These file paths suggest issues with internal links within the project's workspace. The ref.getAttribute('data-footnote-href') points to potential problems with how footnotes are being linked, and the others indicate missing local files. The https://github.com/christophM/interpretable-ml-book/blob/main/data.qmd also shows a 'Network error', which could be a temporary glitch on GitHub or an issue with how the raw content is being accessed.
Errors in ceteris-paribus.html
In ceteris-paribus.html, we're seeing a similar pattern. There's a 'Network error' for the QMD file (https://github.com/christophM/interpretable-ml-book/blob/main/ceteris-paribus.qmd), and again, the dreaded 'Cannot find file' errors for local paths like file:///github/workspace/new, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/privacy-policy.html. These consistent local file errors across different pages strongly suggest a systemic issue with how these relative or internal links are being generated or resolved within the book's build process. It's like a recurring theme that needs a solid fix.
Errors in detecting-concepts.html
The detecting-concepts.html page also shows a mix of issues. We have a 'Network error' for the QMD file (https://github.com/christophM/interpretable-ml-book/blob/main/detecting-concepts.qmd) and 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The repetition of these local file path errors reinforces the idea that we need to audit how these internal links are constructed. It's crucial for the book's navigability that these core components link correctly.
Errors in what-is-machine-learning.html
For what-is-machine-learning.html, we're encountering 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/privacy-policy.html. Additionally, the QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/what-is-machine-learning.qmd) is reporting a 'Network error'. This pattern is becoming quite familiar, highlighting the need for a systematic fix to ensure all internal references and source files are properly accounted for.
Errors in acknowledgements.html
In the acknowledgements.html file, we see a few interesting errors. There are 'Network error' issues with Twitter links (https://twitter.com/YvonneDoinel, https://twitter.com/HeidiBaya, https://twitter.com/ExpectAPatronum), which can happen if Twitter's servers are briefly unavailable or if the account has been suspended or made private. We also have the recurring 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, and file:///github/workspace/privacy-policy.html. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/acknowledgements.qmd) also threw a 'Network error'. This suggests that while external social media links can sometimes be flaky, the internal linking structure needs a more robust solution.
Errors in ale.html
The ale.html page has a 'Network error' for a DOI link (https://doi.org/10.1111/rssb.12377) and its corresponding QMD file (https://github.com/christophM/interpretable-ml-book/blob/main/ale.qmd). The persistent 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/new continue to point towards issues with the book's internal linking infrastructure. It's really important that foundational pages like these have all their links working perfectly.
Errors in counterfactual.html
counterfactual.html shows a higher number of DOI link errors, all reporting 'Network error'. These include https://doi.org/10.1007/978-3-030-58112-1_31, https://doi.org/10.1609/aaai.v32i1.11491, https://doi.org/10.1145/3351095.3372850, and https://doi.org/10.1007/978-3-030-86520-7_40. The QMD file link also failed with a 'Network error'. Alongside these, we see the usual suspects: 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, and file:///github/workspace/privacy-policy.html. This page, dealing with a complex topic, needs its references to be solid.
Errors in evaluation.html
In evaluation.html, the errors are primarily 'Cannot find file' for local paths (file:///github/workspace/privacy-policy.html, file:///github/workspace/new) and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD file (https://github.com/christophM/interpretable-ml-book/blob/main/evaluation.qmd) and a couple of DOI links (https://doi.org/10.1007/978-3-319-90403-0_9) are showing 'Network error'. Ensuring that the technical details and references on this page are accessible is key for readers understanding evaluation metrics.
Errors in extend-lm.html
The extend-lm.html page has 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/new, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/extend-lm.qmd) and a DOI link (https://doi.org/10.1145/2783258.2788613) are showing 'Network error'. It seems like every page is grappling with these internal file path issues.
Errors in influential.html
influential.html displays 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). A DOI link (https://doi.org/10.1080/00401706.1977.10489493) and the QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/influential.qmd) are experiencing 'Network error'. This is consistent with the broader pattern we're observing.
Errors in math-terms.html
For math-terms.html, we see 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/privacy-policy.html. The QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/math-terms.qmd) is also reporting a 'Network error'. It's important that the foundational mathematical concepts have reliable links.
Errors in interpretability.html
The interpretability.html page has a good number of DOI links showing 'Network error', such as https://doi.org/10.2307/1416950, https://doi.org/10.1073/pnas.1900654116, https://journals.sagepub.com/doi/10.1037/1089-2680.2.2.175, and https://doi.org/10.1007/978-3-642-20267-4_3. The QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/interpretability.qmd) also experienced a 'Network error'. We're also seeing the typical 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/new. These errors are particularly significant for a core concept page like interpretability.
Errors in goals.html
goals.html shows 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/privacy-policy.html. The QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/goals.qmd) and two DOI links (https://doi.org/10.1145/2783258.2788613, https://doi.org/10.1145/2939672.2939778) are failing with 'Network error'. Clarity on the goals of interpretable ML relies on functioning links.
Errors in intro.html
The introduction page, intro.html, has 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/intro.qmd) and several DOI links (https://doi.org/10.1023/A:1010933404324, https://doi.org/10.1007/978-3-030-65965-3_28, https://doi.org/10.1145/2939672.2939778) are reporting 'Network error'. It's vital that the very first page readers encounter is error-free.
Errors in storytime.html
storytime.html is facing 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/new. The QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/storytime.qmd) is experiencing a 'Network error'. Stories should be engaging, and broken links detract from that.
Errors in r-packages.html
On the r-packages.html page, we see 'Network error' for several DOI links (https://doi.org/10.1198/106186006X133933, https://doi.org/10.1007/s00180-008-0119-7, https://doi.org/10.1198/106186008X319331) and the QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/r-packages.qmd). The common 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/new, and file:///github/workspace/ref.getAttribute('data-footnote-href') are also present here.
Errors in future.html
The future.html page shows 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD file link (https://github.com/christophM/interpretable-ml-book/blob/main/future.qmd) is experiencing a 'Network error'. Looking ahead is important, and broken links make that difficult.
Errors in rules.html
rules.html has 'Network error' for a DOI link (https://doi.org/10.1145/1133905.1133907), a GitHub link (https://github.com/datascienceinc/Skater), and two DOI links (https://doi.org/10.1023/A:1022631118932, https://doi.org/10.1007/978-3-540-75197-7). The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/rules.qmd) also failed with a 'Network error'. We're still seeing the 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/privacy-policy.html.
Errors in shap.html
shap.html is showing multiple 'Network error's for DOI links like https://doi.org/10.1007/978-3-642-20267-4_3, https://doi.org/10.1007/s10115-013-0679-x, and https://github.com/slundberg/shap/issues/175#issuecomment-407134438. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/shap.qmd) also failed. We're seeing a 'Cached: Error (cached)' for https://doi.org/10.1145/3375627.3375830, which is odd, and the usual 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, and file:///github/workspace/privacy-policy.html.
Errors in feature-importance.html
For feature-importance.html, we have 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/new. Several DOI links (https://doi.org/10.1007/s10618-022-00901-9, https://doi.org/10.1023/A:1010933404324, https://academic.oup.com/bioinformatics/article/26/10/1340/193348, https://doi.org/10.1007/s10994-021-06030-6) are reporting 'Network error'. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/feature-importance.qmd) also failed. It's essential for readers to access all relevant research on feature importance.
Errors in limo.html
limo.html shows 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/privacy-policy.html. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/limo.qmd) is experiencing a 'Network error'.
Errors in decomposition.html
In decomposition.html, we have 'Network error' for DOI links like https://doi.org/10.1145/2783258.2788613, https://doi.org/10.1198/106186007X237892, and https://doi.org/10.1111/rssb.12377. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/decomposition.qmd) also failed. The common 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/privacy-policy.html, and file:///github/workspace/new persist.
Errors in lofo.html
lofo.html has 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/new, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/lofo.qmd) and a DOI link (https://doi.org/10.1080/01621459.2017.1307116) are experiencing 'Network error'.
Errors in translations.html
For translations.html, we see 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, and file:///github/workspace/privacy-policy.html. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/translations.qmd) and a link to Zhihu (https://zhuanlan.zhihu.com/p/63408696) are reporting 'Network error'.
Errors in logistic.html
logistic.html shows 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/logistic.qmd) is also experiencing a 'Network error'.
Errors in tree.html
The tree.html page has 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/privacy-policy.html, and file:///github/workspace/new. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/tree.qmd) failed with a 'Network error'.
Errors in interaction.html
interaction.html is facing 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). A DOI link (https://doi.org/10.1080/10618600.2021.2007935), the QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/interaction.qmd), and a JSTOR link (https://www.jstor.org/stable/30245114) are reporting 'Network error'.
Errors in overview.html
In overview.html, we see 'Network error' for the QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/overview.qmd) and several DOI links (https://doi.org/10.1007/978-3-030-43823-4_18, https://doi.org/10.1007/s11023-024-09691-z, https://doi.org/10.1007/978-3-031-44064-9_24, https://doi.org/10.1145/2783258.2788613). The usual 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/privacy-policy.html, and file:///github/workspace/new are also present.
Errors in references.html
The references.html file has a significant number of errors, including 'Cached: Error (cached)' for several DOI links and 'Failed: Network error' for many others. Examples include https://doi.org/10.1609/aaai.v34i04.6064, https://doi.org/10.1073/pnas.2304406120, https://doi.org/10.1080/07350015.2019.1624293, etc. The 'Cannot find file' error for file:///github/workspace/ref.getAttribute('data-footnote-href') and 'Cannot find file' for file:///github/workspace/new and file:///github/workspace/privacy-policy.html also appear. This section is critical for academic integrity, so fixing these is a high priority.
Errors in lime.html
lime.html shows 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/new, and file:///github/workspace/ref.getAttribute('data-footnote-href'). A DOI link (https://doi.org/10.1145/3375627.3375830), the QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/lime.qmd), and a conference link (https://doi.org/10.1145/2939672.2939778) are reporting 'Network error'.
Errors in global.html
In global.html, we have 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/new, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/global.qmd) is also experiencing a 'Network error'.
Errors in anchors.html
anchors.html shows 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/new, and file:///github/workspace/ref.getAttribute('data-footnote-href'). A DOI link (https://doi.org/10.1609/aaai.v32i1.11491) is reporting 'Network error'. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/anchors.qmd) also failed.
Errors in proto.html
proto.html has 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, and file:///github/workspace/privacy-policy.html. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/proto.qmd) is also experiencing a 'Network error'.
Errors in rulefit.html
rulefit.html shows 'Cached: Error (cached)' for a JSTOR link (https://www.jstor.org/stable/30245114). We also have 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/rulefit.qmd) reported a 'Network error'.
Errors in shapley.html
In shapley.html, we see 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/new. Several DOI links (https://doi.org/10.1007/s10115-013-0679-x, https://doi.org/10.1073/pnas.2304406120) are reporting 'Network error', with one appearing twice. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/shapley.qmd) also failed.
Errors in index.html
The main index page, index.html, has 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). A link to a Substack newsletter (https://mindfulmodeler.substack.com/) and the QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/index.qmd) are reporting 'Network error'.
Errors in pixel-attribution.html
pixel-attribution.html is showing 'Network error' for several DOI links (https://doi.org/10.1007/978-3-030-28954-6_14, https://doi.org/10.1007/978-3-319-10590-1_53, https://doi.org/10.1609/aaai.v34i04.6064, https://doi.org/10.1609/aaai.v33i01.33013681). The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/pixel-attribution.qmd) also failed. We're seeing the common 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/new, and file:///github/workspace/ref.getAttribute('data-footnote-href').
Errors in ice.html
ice.html has 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, and file:///github/workspace/privacy-policy.html. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/ice.qmd) and a DOI link (https://doi.org/10.1080/10618600.2014.907095) are experiencing 'Network error'.
Errors in cite.html
cite.html shows 'Cannot find file' errors for file:///github/workspace/ref.getAttribute('data-footnote-href'), file:///github/workspace/new, and file:///github/workspace/privacy-policy.html. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/cite.qmd) is reporting a 'Network error'.
Errors in pdp.html
In pdp.html, we have 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/privacy-policy.html, and file:///github/workspace/ref.getAttribute('data-footnote-href'). Several DOI links (https://doi.org/10.1080/07350015.2019.1624293, https://doi.org/10.1007/978-3-030-43823-4_17) are reporting 'Network error', with one appearing twice. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/pdp.qmd) also failed.
Errors in adversarial.html
adversarial.html has 'Network error' for a DOI link (https://doi.org/10.1145/3052973.3053009) and the QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/adversarial.qmd). We're seeing the usual 'Cannot find file' errors for file:///github/workspace/new, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/privacy-policy.html.
Errors in cnn-features.html
The cnn-features.html page shows 'Cannot find file' errors for file:///github/workspace/privacy-policy.html, file:///github/workspace/ref.getAttribute('data-footnote-href'), and file:///github/workspace/new. The QMD link (https://github.com/christophM/interpretable-ml-book/blob/main/cnn-features.qmd) is experiencing a 'Network error'.
Moving Forward: Addressing the Errors
It's clear that the most persistent issues are the 'Cannot find file' errors related to local file paths, especially those involving file:///github/workspace/. This strongly suggests an issue with how these links are being generated or resolved within the book's build process. We need to investigate the tooling or scripts responsible for creating these internal links and ensure they are correctly pointing to existing files or that the file structure is as expected. These are likely the easiest to fix once identified.
For the 'Network error' issues, especially with external links like DOIs and Twitter, the approach is a bit different. For DOIs, these often resolve themselves, or we might need to find alternative links if a specific DOI resolver is consistently failing. For social media links, a quick check to ensure the accounts are still active and public is usually sufficient. If a link is truly broken (e.g., a deleted resource), we'll need to find a replacement or remove the link if it's no longer relevant.
We'll be prioritizing the internal file path errors as they indicate a more fundamental issue with the book's structure or build. Following that, we'll tackle the external links, aiming to ensure every single link in the Interpretable ML Book is a reliable gateway to valuable information. Thanks for bearing with us as we keep this amazing resource in top shape!