This repo contains notebooks which demonstrate how one can approach a classification machine learning problem using scikit-learn
. The models are trained on data on direct marketing campaigns (phone calls) of a Portuguese banking institution (Data source: UCI Machine Learning Repository). The classification goal is to predict if the client will subscribe a term deposit (variable y).
To see the complete process of approaching a machine learning problem, please see the full-analysis
notebook. It illustrates the process of training, evaluating, tuning/optimizing and interpreting a logistic regression model
The comparing-models
notebook demonstrates how you can follow a similar pattern for training a model using Logistic Regression Classifier, Naive Bayes Classifier, KNearest Neighbour Classifier, Decision Tree Classifier, Support Vector Machine Classifier, Random Forest Classifier. It also demonstrates how you can optimize a Random Forest Classifier using GridSearchCV
Note: The following set up will only work for Macs (Sorry Windows users)
-
Clone the repo and
cd
into the directory:git clone github.com/davified/learn-scikit-learn && cd learn-scikit-learn
-
Run
./bin/setup.sh
(read it before running!). Under the hood, this will:-
Install python
-
Create a virtualenv folder in repo to store the dependencies in the next bullet
-
Install dependencies
- jupyter
- pandas
- numpy
- matplotlib
- sklearn
-
-
source .venv/bin/activate
-
Start the notebook:
jupyter notebook
(if you're not familiar with jupyter notebook, it's just an IDE. You can refer to the cheatsheet)