Hi Tim,

That's a great question. Thank you for asking and giving me the opportunity
to explain!

The book actually began as a video course, which I started working on in
2020. I locked down most of the code examples that year (using 0.23.2), and
thought I would be able to publish the course in 2021.

However, the script writing and recording and editing took far longer than
expected, plus there were long breaks while I worked on other projects, and
ultimately I was not able to publish the course until 2024. Many
scikit-learn updates had occurred by the time I was recording the later
chapters, but I couldn't afford (time-wise) to re-record and re-edit the
earlier chapters. I felt it was critical that the course used one
consistent scikit-learn version, so it remained at 0.23.2.

Because I received such great feedback about the video course, I decided
(in 2025) to convert the course into a book. Even though Quarto did much of
the heavy lifting, it still took hundreds of hours to turn 7.5 hours of
video into a published book with four formats (website, EPUB, ebook PDF,
print-ready PDF).

I would have loved to update the scikit-learn version (and incorporate
newer features) while writing, but I knew that if I committed to updating
the content (rather than just adapting it from video to text), the book
would never get done.

I do assume that readers of the book will be using a much more modern
version of scikit-learn, and in fact 98% of the code in the book is still
correct today. For the last 2%, I mention the relevant API changes within
the text.

In short, the decision to use 0.23.2 is a legacy of the process I took to
get here, not a strategic choice, and I'd much rather have used the latest
version! I'm deeply grateful for the work that continues to go into
scikit-learn development, and I continue to personally benefit from the
latest changes.

Ultimately this book is a passion project, and I expect to make very little
money from it. But I sincerely hope that I can find the passion (and time!)
to publish a second edition that incorporates the latest features!

Thanks again,
Kevin


On Mar 12, 2026 at 3:11:12 AM, Tim Head via scikit-learn <
[email protected]> wrote:

> Hi Kevin,
>
> out of interest, how did you decide to use scikit-learn v0.23 in the book?
> I was surprised by that because it is a fairly old version. Lots of effort
> has gone into scikit-learn since then, so understanding why people choose
> (or are forced to?) use such old versions would be useful.
>
> T
>
> On Wed, 11 Mar 2026 at 22:38, Kevin Markham <[email protected]> wrote:
>
>> Hi Thomas,
>>
>> Thank you so much for your suggestion! I’d love to include that (and many
>> of the other newer features) in a future edition of the book, assuming
>> there’s enough interest!
>>
>> Best,
>> Kevin
>>
>>
>> On Mar 11, 2026 at 3:33:31 PM, Thomas Fan via scikit-learn <
>> [email protected]> wrote:
>>
>>> Thank you for sharing!
>>>
>>> In the “Tuning the decision threshold” section, scikit-learn now has a 
>>> TunedThresholdClassifierCV!
>>> It could be worthwhile to include in the second edition. 😆
>>>
>>> 3.3. Tuning the decision threshold for class prediction
>>> <https://scikit-learn.org/stable/modules/classification_threshold.html#tunedthresholdclassifiercv>
>>> scikit-learn.org
>>> <https://scikit-learn.org/stable/modules/classification_threshold.html#tunedthresholdclassifiercv>
>>> [image: favicon.ico]
>>> <https://scikit-learn.org/stable/modules/classification_threshold.html#tunedthresholdclassifiercv>
>>> <https://scikit-learn.org/stable/modules/classification_threshold.html#tunedthresholdclassifiercv>
>>>
>>> Best,
>>> Thomas
>>>
>>> On Mar 11, 2026, at 10:30 AM, Kevin Markham <[email protected]> wrote:
>>>
>>> 
>>> Hello scikit-learn community!
>>>
>>> Last week I published a new book called “Master Machine Learning with
>>> scikit-learn”, and as my gift to the community, I’ve made it free to read
>>> online (with no ads and no registration required):
>>>
>>> https://mlbook.dataschool.io
>>>
>>> I designed it to be a “practitioner’s handbook" for the effective use of
>>> scikit-learn, covering many practical topics that I’ve not seen covered
>>> elsewhere. I hope that it fills a useful role in the ecosystem of
>>> scikit-learn educational resources, and perhaps even plays a tiny role in
>>> ensuring the long-term success of the library. (I’ve already heard from two
>>> teachers who would like to use the book in their classrooms, which is great
>>> news!)
>>>
>>> If you're a current or former Core Contributor, I would be honored to
>>> send you a free paperback copy as a token of my appreciation. Just reply to
>>> me (not the list!) with your mailing address and I’ll ship you a copy from
>>> Amazon. (It’s already available in a dozen countries, and I’m actively
>>> working to expand distribution elsewhere.)
>>>
>>> Thanks!
>>> Kevin
>>>
>>> P.S. In case you’re curious, I used Quarto to output the book website,
>>> ebook (PDF and EPUB), and paperback from a single set of source files.
>>> Quarto is amazing!!!
>>>
>>> Kevin Markham
>>> Founder, Data School
>>> ML book on Amazon: https://geni.us/MasterML
>>> Data Science courses: https://courses.dataschool.io
>>>
>>> _______________________________________________
>>> scikit-learn mailing list -- [email protected]
>>> To unsubscribe send an email to [email protected]
>>> https://mail.python.org/mailman3//lists/scikit-learn.python.org
>>> Member address: [email protected]
>>>
>>> _______________________________________________
>>> scikit-learn mailing list -- [email protected]
>>> To unsubscribe send an email to [email protected]
>>> https://mail.python.org/mailman3//lists/scikit-learn.python.org
>>> Member address: [email protected]
>>>
>> _______________________________________________
>> scikit-learn mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>> https://mail.python.org/mailman3//lists/scikit-learn.python.org
>> Member address: [email protected]
>>
> _______________________________________________
> scikit-learn mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3//lists/scikit-learn.python.org
> Member address: [email protected]
>
_______________________________________________
scikit-learn mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/scikit-learn.python.org
Member address: [email protected]

Reply via email to