#62: Scikit-learn 59:Supervised Learning 37: Project: Biometrics activity classifier
The video discusses a machine learning project to build a Biometrics activity classifier using real world data. Video is in three parts that talk about code to (a) get data, (2) preprocess data, (3) build model using Scikit-learn in Python. Timeline (Python 3.8) [Note: The video lags audio in several places.] 00:00:00 - Outline of video 00:01:25 - Data source 00:02:05 - Story of sensors, biometrics/activity 00:03:40 - Data: folder system 00:04:56 - Data: files ------------------------------------------------ * * * PART - I * * * ------------------------------------------------ 00:07:00 - Open Jupyter notebook 00:08:36 - Download data: set path 00:08:47 - Read data files: create .get_id() 00:11:23 - Read data files: create .clean_file_df() 00:26:50 - Read data files: put data from files into DataFrame 00:33:34 - Read data files: check DataFrame 'dfmain' 00:35:57 - Visualize data: Heatmap 00:40:40 - Visualize data: Interactive 3D scatter plot ------------------------------------------------ * * * PART - II * * * ------------------------------------------------ 00:47:25 - Recap 00:48:16 - Slice dfmain: create DataFrame 'df' 00:50:53 - Get dummies: create DataFrame 'df_sen_dev' 00:52:42 - Create DataFrame 'dfr' 00:53:06 - Create new Features: initialize variables 00:53:55 - * * * CORRECTION * * *: 'Feature # 1' is a typo. Here, a list is created to be used later to create features 00:56:32 - Create new Features: Feature # 1 00:59:36 - Create new Features: Feature # 2 01:02:30 - Create new Features: Feature # 3 01:05:52 - Drop rows: create filter: based on values '!=0' 01:09:24 - * * * NOTE * * *: severe video lag from audio 01:11:20 - Drop rows: plot 01:11:56 - Drop rows: which rows were removed? 01:13:06 - Drop columns not needed 01:14:12 - Split 'dfmain' to 'X' and 'y' 01:16:05 - Remove features with zero variability 01:17:58 - Remove collinear features: create .remove_collinear_cols() 01:21:58 - Remove collinear features: Visualize 01:23:14 - Transform distributions: skew plot 01:24:00 - Transform distributions: create .q_transform() 01:25:22 - * * * CORRECTION * * *: typo! it should be 'rng.fit' and not 'rngfit' 01:25:28 - Transform distributions: update DataFrame 01:26:19 - Transform distributions: plot transformed data 01:26:36 - Standardize: using .StandardScaler() 01:27:47 - Join the sensor and device columns 01:29:19 - Check group count ------------------------------------------------ * * * PART - III * * * ------------------------------------------------ 01:30:49 - Recap 01:31:13 - Split train and test 01:32:19 - Model: create .fit_predict() 01:34:19 - Model: create list of classifiers 01:40:47 - Model: for-loop to classify 01:44:14 - Model: results for accuracy and confusion matrix 01:49:32 - Model: re-run with all activity classes 01:58:59 - Model: re-run with 5 classes and drop a feature 02:01:16 - * * * CORRECTION * * * misspoke there! meant to say 'climbing stairs' 02:03:33 - Ending notes ################# # Download data ################# Link: https://archive.ics.uci.edu/ml/machine-learning-databases/00507/ Description: https://archive.ics.uci.edu/ml/datasets/WISDM+Smartphone+and+Smartwatch+Activity+and+Biometrics+Dataset+ Source: Dr. Gary Weiss, gaweiss '@' fordham.edu, Computer and Information Sciences Department, Fordham University. Citation-1: Gary M. Weiss, Kenichi Yoneda, and Thaier Hayajneh. Smartphone and Smartwatch-Based Biometrics Using Activities of Daily Living. IEEE Access, 7:133190-133202, Sept. 2019. Citation-2: Dua, D. and Graff, C. (2019). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science. ################# # Code ################# Link: https://github.com/learndataa/projects
Download
1 formatsVideo Formats
Right-click 'Download' and select 'Save Link As' if the file opens in a new tab.