# course-machine-learning **Repository Path**: gitconomy/course-machine-learning ## Basic Information - **Project Name**: course-machine-learning - **Description**: No description available - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-10-26 - **Last Updated**: 2026-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Machine Learning: Theory, Algorithms, and Python Practice An undergraduate course resource repository for students in computer science, data science, artificial intelligence, and related disciplines. The course focuses on classical machine learning, integrates Python programming and experimental validation, and introduces selected topics in deep learning and machine learning engineering. ## 1. Course at a Glance | Item | Description | | --- | --- | | Duration | 6 weeks, 24 chapters; 2 hours per chapter | | Total workload | 60 hours: 48 hours of lectures and case-based instruction, plus 12 hours of laboratory work | | Organization | Four chapters and one 2-hour integrated lab each week | | Main tools | Python 3, Jupyter Notebook, NumPy, Pandas, Matplotlib, Scikit-learn, and PyTorch | | Recurring context | E-commerce customer and order analysis, using clearly sourced datasets suited to each topic; one dataset is not expected to cover every task | The course begins with data preparation, mathematical foundations, and model training, then moves through supervised and unsupervised learning, deep learning, and applications such as time-series forecasting, recommendation systems, and model deployment. ## 2. Learning Outcomes By the end of the course, students will be able to: 1. Explain common machine learning tasks, training workflows, generalization, overfitting, and data leakage, and apply appropriate dataset-splitting practices. 2. Describe the core principles and appropriate use cases of linear models, KNN, Naive Bayes, decision trees, SVMs, and ensemble methods. 3. Use Python for preprocessing, feature engineering, model training, cross-validation, metric computation, and hyperparameter optimization. 4. Implement and evaluate clustering, PCA, and probabilistic mixture models, and explain the findings and limitations of unsupervised learning. 5. Explain the basic mechanisms of neural network training, backpropagation, CNNs, and Attention/Transformer architectures, and complete introductory PyTorch experiments. 6. Build a reproducible machine learning workflow for a business problem and report model performance, limitations, and basic ethical risks. ## 3. Laboratories and Assessment The course plan includes six integrated 2-hour laboratories aligned with the weekly chapters. Use datasets with clear provenance and permission for educational use. For data involving customer identifiers, purchase records, or review text, use anonymized or publicly de-identified data. | Assessment | Weight | Main criteria | | --- | ---: | --- | | Weekly Python laboratories (6) | 40% | Task completion, reproducible code, model results, analytical interpretation, and sound experimental practice | | Algorithm principles and progress tests | 20% | Core concepts, principles, algorithm suitability, and evaluation methods; two tests worth 10% each are recommended | | Week 6 capstone project | 40% | Problem and data design, models and experiments, evaluation and reflection, code, and presentation | Assessment emphasizes students’ ability to explain why an algorithm was selected, how it was evaluated, and what limitations remain. Accuracy alone is not a substitute for comprehensive evaluation. ## 4. Repository Navigation | Path | Contents | | --- | --- | | [`02-lectures/notes/`](02-lectures/notes/) | Lecture notes for Ch01–Ch11 | | [`02-lectures/slides/`](02-lectures/slides/) | Available lecture slides | | [`02-lectures/tutorials/`](02-lectures/tutorials/) | Runnable algorithm tutorials and their setup guides | | [`03-labs/ch01-colab/README.md`](03-labs/ch01-colab/README.md) | Ch01 lab guide and notebooks | | [`03-labs/ch02-colab/README.md`](03-labs/ch02-colab/README.md) | Ch02 lab guide and notebook | | [`03-labs/ch03-colab/README.md`](03-labs/ch03-colab/README.md) | Ch03 lab guide and notebook | | [`03-labs/ch04-colab/README.md`](03-labs/ch04-colab/README.md) | Ch04 lab guide and notebook | Chapter resources are organized below. In this repository, “Colab” refers to local Jupyter lab materials. | Chapter | Topic | Lecture Notes | Slides | Tutorial | | --- | --- | --- | --- | --- | | Ch01 | Giving Computers the Ability to Learn from Data | [Notes](02-lectures/notes/ch01-giving-computers-the-ability-to-learning-from-data.md) | [PPT](02-lectures/slides/ch01-giving-computers-the-ability-to-learning-from-data.pptx) | — | | Ch02 | Linear Regression | [Notes](02-lectures/notes/ch02-linear-regression-modeling-continuous-outcomes.md) | [PPT](02-lectures/slides/ch02-linear-regression.pptx) | [Guide](02-lectures/tutorials/ch02-linear-regression/README.md) | | Ch03 | Logistic Regression | [Notes](ch03-logistic-regression-modeling-class-probabilities.md) | [PPT](02-lectures/slides/ch03-logistic-regression.pptx) | [Guide](02-lectures/tutorials/ch03-logistic-regression/README.md) | | Ch04 | Regularization | [Notes](ch04-regularization-controlling-model-complexity.md) | [PPT](02-lectures/slides/ch04-regularization.pptx) | [Guide](02-lectures/tutorials/ch04-regularization/README.md) | | Ch05 | K-Nearest Neighbors | [Notes](ch05-knn-distance-prediction-by-voting-among-similar-records.md) | [PPT](02-lectures/slides/ch05-knn.pptx) | [Guide](02-lectures/tutorials/ch05-knn/README.md) | | Ch06 | Naive Bayes | [Notes](ch06-naive-bayes-classification-with-conditional-probabilities.md) | — | [Guide](02-lectures/tutorials/ch06-naive-bayes/README.md) | | Ch07 | Decision Trees | [Notes](ch07-decision-tree-recursive-feature-based-splitting.md) | — | [Guide](02-lectures/tutorials/ch07-decision-tree/README.md) | | Ch08 | Random Forests | [Notes](ch08-random-forest-bagging-and-random-feature-selection.md) | — | [Guide](02-lectures/tutorials/ch08-random-forest/README.md) | | Ch09 | Gradient Boosting | [Notes](02-lectures/notes/ch09-gradient-boosting.md) | — | [Guide](02-lectures/tutorials/ch09-gradient-boosting/README.md) | | Ch10 | XGBoost | [Notes](02-lectures/notes/ch10-xgboost.md) | — | [Guide](02-lectures/tutorials/ch11-xgboost/README.md) | | Ch11 | Neural Networks | [Notes](02-lectures/notes/ch11-neural-network.md) | — | [Guide](02-lectures/tutorials/ch10-neural-network/README.md) | The repository includes lecture notes for Ch01–Ch11, slides for Ch01–Ch05, runnable tutorials for selected algorithms, and lab materials for Ch01–Ch04. Tutorial folder numbers may differ from lecture chapter numbers; use the linked guide titles to identify each tutorial. ## 5. Getting Started 1. Start with the Ch01–Ch05 lecture notes and available slides. 2. Open a tutorial guide or lab README for its setup instructions and practice materials. 3. Before running a Notebook, check the chapter README, data documentation, and requirements file. Dependencies may vary by chapter. Recommended prerequisites include basic Python syntax, functions, and data structures, plus matrix operations, derivatives, and introductory probability and statistics. Week 1 reviews or supplements essential concepts but does not replace a full foundational mathematics course. ## License The repository code is licensed under the terms in [LICENSE](LICENSE). Course materials may have separate licensing terms; follow the notices in the relevant files.