邁克爾·貝耶勒是華盛頓大學神經工程和數(shù)據(jù)科學專業(yè)的博士后,主攻仿生視覺計算模型,用以為盲人植入人工視網(wǎng)膜(仿生眼睛),改善盲人的視覺體驗。他的工作屬于神經科學、計算機工程、計算機視覺和機器學習的交叉領域。他也是2015年Packt出版的《OpenCV with Python Blueprints》一書的作者,該書是構建高級計算機視覺項目的實用指南。同時他也是多個開源項目的積極貢獻者,具有Python、C/C++、CUDA、MATLAB和Android的專業(yè)編程經驗。他還擁有加利福尼亞大學歐文分校計算機科學專業(yè)的博士學位、瑞士蘇黎世聯(lián)邦理工學院生物醫(yī)學專業(yè)的碩士學位和電子工程專業(yè)的學士學位。當他不“呆頭呆腦”地研究大腦時,他會攀登雪山、參加現(xiàn)場音樂會或者彈鋼琴。
圖書目錄
Preface Chapter 1:A Taste of Machine Learning Getting started with machine learning Problems that machine learning can solve Getting started with Python Getting started with OpenCV Installation Getting the latest code for this book Getting to grips with Python's Anaconda distribution Installing OpenCV in a conda environment Verifying the installation Getting a glimpse of OpenCV's ML module Summary Chapter 2: Working with Data in OpenCV and Python Understanding the machine learning workflow Dealing with data using OpenCV and Python Starting a new IPython or Jupyter session Dealing with data using Python's NumPy package Importing NumPy Understanding NumPy arrays Accessing single array elements by indexing Creating multidimensional arrays Loading external datasets in Python Visualizing the data using Matplotlib Importing Matplotlib Producing a simple plot Visualizing data from an external dataset Dealing with data using OpenCV's TrainData container in C++ Summary Chapter 3: First Steps in Supervised Learning Understanding supervised learning Having a look at supervised learning in OpenCV Measuring model performance with scoring functions Scoring classifiers using accuracy, precision, and recall Scoring regressors using mean squared error, explained variance, and R squared Using classification models to predict class labels Understanding the k-NN algorithm Implementing k-NN in OpenCV Generating the training data Training the classifier Predicting the label of a new data point Using regression models to predict continuous outcomes Understanding linear regression Using linear regression to predict Boston housing prices Loading the dataset Training the model Testing the model Applying Lasso and ridge regression Classifying iris species using logistic regression Understanding logistic regression Loading the training data Making it a binary classification problem Inspecting the data Splitting the data into training and test sets Training the classifier Testing the classifier Summary Chapter 4: Representing Data and Engineering Features Understanding feature engineering Preprocessing data Standardizing features Normalizing features Scaling features to a range Binarizing features Handling the missing data Understanding dimensionality reduction Implementing Principal Component Analysis (PCA) in OpenCV Implementing Independent Component Analysis (ICA) Implementing Non-negative Matrix Factorization (NMF) Representing categorical variables Representing text features Representing images Using color spaces Encoding images in RGB space Encoding images in HSV and HLS space Detecting corners in images Chapter 5: Using Decision Trees to Make a Medical Diagnosis Chapter 6: Detecting Pedestrians with Support Vector Machines Chapter 7: Implementing a Spam Filter with Bayesian Learning Chapter 8: Discovering Hidden Structures with Unsupervised Learning Chapter 9: Using Deed Learning to Classifv Handwritten Diqits Chapter 10: Combining Different Algorithms into an Ensemble Chapter 11:Selecting the Right Model with Hyperparameter Tuning Chapter 12: Wrapping Up