Applied Machine Learning with Python (From Scratch)
About the Program
Imagine you’re working with a small-scale agricultural cooperative in rural Kenya, where farmers face challenges in predicting crop yields and managing resources efficiently. The cooperative wants to use data to forecast crop outputs based on weather patterns, soil quality, and farming practices. This can lead to smarter resource allocation, better planning for harvests, and increased resilience to climate variability—all through data-driven decisions.
In Applied Machine Learning with Python (From Scratch), you’ll learn how to build real-world solutions like this from the ground up. Starting from the basics of Python programming, this course will guide you through the full journey of machine learning: understanding the core concepts, building effective models, evaluating performance, and deploying solutions. By the end, you’ll be equipped to harness machine learning to drive meaningful impact—whether it’s predicting agricultural outputs, improving healthcare access, or optimizing local business processes.
Throughout the course, you’ll work on projects that mirror the needs of complex businesses and communities in Africa. You’ll learn to clean and prepare data, use Python and machine learning libraries to create models, and gain insights that can shape decision-making. This is a hands-on, practical course focused on making machine learning accessible, with a strong focus on applying it effectively in the real world.
Course Objectives:
This course provides a thorough, hands-on introduction to machine learning using Python, with a focus on applying techniques in real-world, high-impact domains. Students will start from the fundamentals of Python programming and progress to developing, evaluating, and deploying machine learning models. The ultimate objective is for students to gain the skills needed to solve practical problems in areas such as agriculture, healthcare, finance, and other sectors that can benefit from data-driven solutions.
By the end of the course, students will be able to:
- Build machine learning models from scratch and deploy them effectively.
- Perform data preprocessing, exploratory data analysis, and feature engineering.
- Apply machine learning techniques to create models for classification, regression, clustering, and recommendation.
- Deploy machine learning models into real-world applications, including web, mobile, and IoT contexts.
- Develop solutions that consider scalability, model evaluation, and impact assessment.
- Use machine learning ethically, with an awareness of potential biases and the impact on communities.
Requirements
At least a core i5 computer, 8GB RAM. Prior coding experience is not required.
Student to Teacher Ratio of 10:1
Applied Machine Learning
Curriculum
Objective: Develop a strong foundation in Python programming and essential data handling skills.
- Introduction to Python: Variables, data types, control structures, and functions.
- Working with Data: Libraries like NumPy and Pandas, data manipulation, and handling missing values.
- Data Visualization: Introduction to Matplotlib and Seaborn for data plotting and pattern identification.
- Data Structures and Algorithms: Key data structures (lists, dictionaries) and algorithmic thinking for machine learning.
Objective: Understand core machine learning concepts, terminology, and workflows.
- Introduction to Machine Learning: Overview, types of learning (supervised, unsupervised, reinforcement), and problem-solving approaches.
- Supervised vs. Unsupervised Learning: Differences, use cases, and choosing the right approach.
- Key Algorithms Overview: Linear and logistic regression, decision trees, k-means clustering, and SVM.
- Building a Basic Model: Hands-on with a linear regression model for predicting agricultural yield.
Objective: Develop skills to clean, prepare, and enhance data for effective model building.
- Data Cleaning: Handling missing data, data imputation, and dealing with outliers.
- Feature Engineering: Scaling, encoding categorical variables, creating interaction terms, and feature selection.
- Feature Extraction: Principal Component Analysis (PCA) and dimensionality reduction.
- Data Splitting: Training, validation, and test sets for reliable model performance evaluation.
Objective: Master core supervised learning algorithms for classification and regression problems.
- Regression Techniques: Linear, polynomial, ridge, and Lasso regression.
- Classification Models: Logistic regression, decision trees, random forests, and support vector machines.
- Evaluation Metrics: MSE, RMSE for regression; accuracy, precision, recall, F1-score, and AUC for classification.
- Hands-On Project: Build a model to classify potential loan applicants in a financial dataset.
Objective: Understand unsupervised learning and its application in pattern discovery
- Clustering Techniques: K-means, hierarchical clustering, and DBSCAN.
- Association Rule Learning: Market basket analysis with Apriori algorithm.
- Dimensionality Reduction for Visualization: Using PCA and t-SNE.
- Hands-On Project: Identify customer segments in a dataset for targeted agricultural assistance.
Objective: Dive into more complex algorithms and advanced model tuning for optimized performance.
- Ensemble Methods: Bagging, boosting, and stacking (Random Forests, Gradient Boosting, AdaBoost).
- Hyperparameter Tuning: Grid search, random search, and cross-validation techniques.
- Intro to Neural Networks: Basic structure, forward propagation, and backpropagation.
- Project: Build an ensemble model to predict medical supplies demand.
Objective: Introduce the basics of deep learning and its applications.
- Neural Networks: Layers, activation functions, training neural networks.
- Convolutional Neural Networks (CNNs): Image data processing basics.
- Recurrent Neural Networks (RNNs): Time series data and forecasting.
- Hands-On Project: Build a simple CNN for image classification.
Objective: Learn how to deploy machine learning models, integrate them into applications, and expose them as APIs for real-world use.
- Saving and Exporting Models: Serialization with joblib and pickle.
- Deploying Models with Flask: Building a REST API around your model using Flask.
- Introduction to RESTful APIs and their importance in serving models.
- Hands-on: Create a simple Flask application to serve a machine learning model.
- Deploying Models with FastAPI: Overview of FastAPI for building high-performance APIs.
- Introduction to FastAPI for faster, more efficient API creation.
- Hands-on: Create a FastAPI-based API to expose your model.
- Model Serving in the Cloud: Deploying APIs and models on cloud platforms (AWS, Google Cloud, or Azure).
- Setting up cloud-based environments for model hosting.
- Deploy models using cloud services like AWS SageMaker, Google AI Platform, or Azure ML.
- Making APIs Consumable: Best practices for creating APIs that can be accessed by other applications.
- Securing APIs: Token-based authentication (e.g., JWT, OAuth).
- Rate-limiting, API versioning, and error handling for production-quality APIs.
- API Monitoring and Maintenance: How to monitor the performance of deployed models and APIs.
- Logging and error tracking tools (e.g., Sentry).
- Model drift detection and updating deployed models.
- Project: Deploy a loan risk model as a consumable RESTful API.
- Expose your trained model as a service that can be accessed by other applications for predictions in real time.
Objective: Apply all learned skills in a real-world capstone project.
- Project Proposal and Planning: Define the problem, objectives, and desired outcomes.
- Data Collection and Preprocessing: Gather and prepare data.
- Model Building and Testing: Apply multiple algorithms and select the best-performing model.
- Evaluation and Insights: Analyze results, identify patterns, and create actionable insights.
- Deployment and Presentation: Deploy the model and prepare a final project report and presentation.
Objective: Instill an understanding of ethical AI and responsible machine learning practices.
- Bias in Machine Learning: Understanding and mitigating model bias.
- Data Privacy and Security: Compliance with regulations like GDPR.
- Impact on Communities: Considering societal impact in model deployment.
- Final Reflection and Discussion: Real-world implications of machine learning projects.
Program Expectations
By the end of this course, here’s what you’ll be able to achieve:
- Build, evaluate, and deploy machine learning models in Python.
- Use a variety of machine learning algorithms to solve complex problems.
- Implement machine learning models in real-world applications with high ethical standards.
- Present data insights and communicate results to non-technical stakeholders.
This course provides a holistic view of the machine learning pipeline, empowering students to create impactful solutions that drive real-world change in sectors like agriculture, healthcare, finance, and beyond.