Hi Kevin,

In a crazy way: this is good news! I was worried that you had talked to
lots of users and they all told you "we are stuck with 0.23 because ...".
That would have meant a lot of work for the scikit-learn maintaienrs.

If it is "just" because writing a book and getting it shipped is a boat
load of work, then that is good news (for the scikit-learn maintainers).

Good luck with the book!! I'll keep reading (not just the intro section)

T

On Thu, 12 Mar 2026 at 15:47, Kevin Markham <[email protected]> wrote:

> 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]
>
_______________________________________________
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