Write the models of the first chapter yourself in Python: load the penguins, measure the error, work out its slope, and train with a loop you wrote.
Free to start · adaptive placement finds your level · reviews timed to your own forgetting.
Every idea is taught with motivation and a worked example before the drills, and an FSRS spaced-repetition engine schedules each review for the day its model predicts you would forget it. A short placement check finds what you already know, so you start Machine Learning: Learning from Data, in Code exactly where it's useful.