This is the material for a class I taught to Dell software engineers in early 2017. All code is in Jupyter notebook form with much of embedded lecture text included.
This class was a 17 week course. Classes were for one hour once a week. Assumptions for students were to already be sufficient in Python and understand basic statistical practices and concepts. Goal was to bridge the startup gap needed by software engineers and introduce them fast and functionally to machine learning in python.
Textbook for this class - "Machine Learning Mastery With Python: Understand Your Data, Create Accurate Models and Work Projects End-To-End" by Jason Brownlee Code and text migrated to Jupyter with additions for class by Mitch Sanders 5/15/2017
Python
SciPy
scikit-learn
Python Ecosystem Installation
Summary
Python Crash Course
NumPy Crash Course
Matplotlib Crash Course
Pandas Crash Course
Summary
Considerations When Loading CSV Data
Pima Indians Dataset
Load CSV Files with the Python Standard Library
Load CSV Files with NumPy
Load CSV Files with Pandas
Summary
Peek at Your Data
Dimensions of Your Data
Data Type For Each Attribute
Descriptive Statistics
Class Distribution (Classification Only)
Correlations Between Attributes
Skew of Univariate Distributions
Tips To Remember
Summary
Univariate Plots
Multivariate Plots
Summary
Need For Data Pre-processing
Data Transforms
Rescale Data
Standardize Data
Normalize Data
Binarize Data (Make Binary)
Summary
Feature Selection
Univariate Selection
Recursive Feature Elimination
Principal Component Analysis
Feature Importance
Summary
Evaluate Machine Learning Algorithms
Split into Train and Test Sets
K-fold Cross-Validation
Leave One Out Cross-Validation
Repeated Random Test-Train Splits
What Techniques to Use When
Summary
Algorithm Evaluation Metrics
Classification Metrics
Regression Metrics
Summary
Algorithm Spot-Checking
Algorithms Overview
Linear Machine Learning Algorithms
Nonlinear Machine Learning Algorithms
Summary
Algorithms Overview
Linear Machine Learning Algorithms
Nonlinear Machine Learning Algorithms
Summary
Choose The Best Machine Learning Model
Compare Machine Learning Algorithms Consistently
Summary
Automating Machine Learning Workflows
Data Preparation and Modeling Pipeline
Feature Extraction and Modeling Pipeline
Summary
Combine Models Into Ensemble Predictions
Bagging Algorithms
Boosting Algorithms
Voting Ensemble
Summary
Machine Learning Algorithm Parameters
Grid Search Parameter Tuning
Random Search Parameter Tuning
Summary
Finalize Your Model with pickle
Finalize Your Model with Joblib
Tips for Finalizing Your Model
Summary
Python 2.7