100-Days-Of-ML-Code is a structured machine learning curriculum delivered as Jupyter Notebooks and Python scripts.
The project addresses the challenge of learning machine learning systematically by providing a guided 100-day learning path with daily lessons, code examples, and exercises. It covers foundational topics including data preprocessing, linear and logistic regression, classification algorithms like KNN and SVM, neural networks, decision trees, random forests, clustering methods, and deep learning with convolutional neural networks. The approach combines theory days with implementation days, using Jupyter Notebooks for interactive learning and Python scripts for hands-on practice. Lessons are organized sequentially from basic supervised learning through unsupervised learning and deep learning techniques.
The curriculum currently covers days one through fifty-four, with later days still in development. It is designed for learners who want a comprehensive, structured introduction to machine learning rather than scattered tutorials. The project suits anyone beginning machine learning who prefers a guided path over self-directed exploration. It includes environment setup instructions for Python 3.11 and 3.12, dataset preparation guidance, and compatibility notes for working with modern versions of scikit-learn and Keras. The tool is particularly useful for those learning in Chinese or preferring a Chinese-language resource, as it is a translation and adaptation of an English original with updated examples and explanations.
The project maintains a clear separation between source code in Python scripts with embedded Markdown comments and generated outputs in Jupyter Notebooks and documentation files. A synchronization tool regenerates lesson notebooks and markdown files from the source scripts, ensuring consistency across formats. The maintainers document modernization efforts, including updates to deprecated APIs and baseline issues from earlier versions, and provide detailed day-by-day review reports tracking corrections made during updates. Contribution guidelines specify translation and maintenance standards for those wishing to participate.