{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import pandas as pd \n", "import numpy as np\n", "from os import listdir\n", "from IPython.display import Image" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "# Introduction to Machine learning" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "## Shir Meir Lador" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Data scientist - the sexiest job of the 21st century (Harvard Business Review 2012) \n", "\n", "The “data scientist” (2008) - ״It’s a high-ranking professional with the training and curiosity to make discoveries in the world of big data.״\n", "\n", " https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century\n", " \n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Outline\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* What is machine learning?\n", "* Example of machine learning in practice\n", "* History of machine learning\n", "* Supervised and unsupervised learning\n", "* Classification and regression\n", "* Generalization \n", "* Data - train and test\n", "* Overfitting\n", "* Linear and logistic regression\n", "* Decision trees and Random forests\n", "* Bias variance tradeoff\n", "* SVM\n", "* Example data - visualization of the decision boundaries of different models\n", "* **Bonus**: Pro tips" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## What is machine learning?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Machine learning is the subfield of computer science that gives computers the ability to learn without being explicitly programmed (Arthur Samuel, 1959).\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "The study and construction of algorithms that can learn from and make predictions on data (through building a model from sample inputs). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Example of machine learning in practice" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Approving loans automatically using machine learning models based on:\n", "- Features based on the user bank account\n", "- Features based on the user credit scoring\n", "- Features based on the user web appearances\n", "- ...\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## History of machine learning" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "1950 — “Turing Test” - determine if a computer has real intelligence. To pass the test, a computer must be able to fool a human into believing it is also human.\n", "\n", "1952 — First computer learning program (Arthur Samuel) - Checkers game. The IBM computer improved at the game the more it played, studying which moves made up winning strategies and incorporating those moves into its program.\n", "\n", "\n", "1957 — First neural network for computers - the perceptron (Frank Rosenblatt), which \"simulate\" the thought processes of the human brain.\n", "\n", "1967 — The “nearest neighbor” algorithm was written - basic pattern recognition. This could be used to map a route for traveling salesmen, starting at a random city but ensuring they visit all cities during a short tour.\n", "\n", "1997 — IBM’s Deep Blue beats the world champion at chess.\n", "\n", "2006 — Geoffrey Hinton coins the term “deep learning” to explain new algorithms that let computers “see” and distinguish objects and text in images and videos." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Supervised and unsupervised learning" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "-" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Supervised - labels are given\n", "------\n", "### Unsupervised - no labels" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Overfitting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Overfitting occurs when a model begins to \"memorize\" training data rather than \"learning\" to generalize from trend" ] }, { "cell_type": "markdown", "metadata": { "scrolled": false }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When a statistical model describes random error or noise instead of the underlying relationship. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Overfitting occurs when a model is excessively complex, such as having too many parameters relative to the number of observations. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Overfitting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### A model that has been overfit has poor predictive performance, as it overreacts to minor fluctuations in the training data." ] }, { "cell_type": "markdown", "metadata": { "scrolled": true }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Linear regression - I" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A linear approach for modeling the relationship between a scalar dependent variable y and one or more explanatory variables X." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Linear regression - II" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**OLS** - The Ordinary Least Squares method minimizes the sum of squared errors." ] }, { "cell_type": "markdown", "metadata": { "scrolled": true }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Logistic Regression - I" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Linear approach for classification.\n", "\n", "The logistic regression estimates the probability that the dependent variable is 0/1." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Logistic Regression - II\n", "Use the logit transformation to transform the linear regression result to a probability." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Decision tree \n", "Idea - series of binary questions \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Decision tree - training\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Decision tree - How to split?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Decision tree - prediction\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Decision tree vs. Logistic regression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "## Which model should I choose?\n", "\n", "1. What kind of decision boundary makes more sense in my problem?\n", "\n", "2. How complex is the relationship between my variables and target? \n", "\n", "3. Are there interactions between my features?\n", "4. How many features and samples do I have?\n", "\n", "5. Try both models and do cross-validation - help you find out which one is more likely to have better generalization error.\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Error of a model - Bias Variance Tradeoff " ] }, { "cell_type": "markdown", "metadata": { "scrolled": false }, "source": [ "\n", "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Bias Variance Tradeoff - II" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Bias Variance Tradeoff - III" ] }, { "cell_type": "markdown", "metadata": { "scrolled": true }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Random forest (Ensemble learning method)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Average prediction of many decision trees trained on different subsets of the features" ] }, { "cell_type": "markdown", "metadata": { "scrolled": false }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Ensemble methods reduce the prediction variance --> Reduce the prediction error (and decrease overfitting). \n", "* Reminder - $var(x)=\\sigma^2$, $\\space\\space\\space$ $var(\\frac {1}{n} \\Sigma(x_i) ) = \\frac {1}{n^2} var(\\Sigma(x_i)) = \\frac {n}{n^2} {\\sigma^2}=\\frac {\\sigma^2}{n}$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Random forest" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Random forest" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Linear SVM" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Find the hyperplane that maximizes the margin." ] }, { "cell_type": "markdown", "metadata": { "scrolled": false }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The larger the margin the lower the generalization error of the classifier." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Non-linear SVM (using Kernels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Kernel trick** - implicitly mapping the inputs into high-dimensional feature spaces." ] }, { "cell_type": "markdown", "metadata": { "scrolled": true }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# SVM - Kernel trick" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Deep Learning - a glimpse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Example Data" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true, "slideshow": { "slide_type": "notes" } }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import pylab as pl\n", "from sklearn import svm\n", "from sklearn.naive_bayes import GaussianNB\n", "from sklearn import linear_model\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from xgboost import XGBClassifier\n", "from sklearn import tree, ensemble\n", "\n", "import pandas as pd\n", "from matplotlib import pyplot as plt\n", "def plot_results_with_hyperplane(clf, clf_name, df, plt_nmbr):\n", " x_min, x_max = df.x.min() - .5, df.x.max() + .5\n", " y_min, y_max = df.y.min() - .5, df.y.max() + .5\n", " # step between points. i.e. [0, 0.02, 0.04, ...]\n", " step = .02\n", " # to plot the boundary, we're going to create a matrix of every possible point\n", " # then label each point as a wolf or cow using our classifier\n", " xx, yy = np.meshgrid(np.arange(x_min, x_max, step), np.arange(y_min, y_max, step))\n", " Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n", " # this gets our predictions back into a matrix\n", " Z = Z.reshape(xx.shape)\n", " # create a subplot (we're going to have more than 1 plot on a given image)\n", " pl.subplot(2, 3, plt_nmbr)\n", " # plot the boundaries\n", " pl.pcolormesh(xx, yy, Z, cmap=pl.cm.Paired)\n", " # plot the wolves and cows\n", " for animal in df.animal.unique():\n", " pl.scatter(df[df.animal==animal].x,\n", " df[df.animal==animal].y,\n", " marker=animal, s=70,\n", " label=\"cows\" if animal==\"x\" else \"wolves\",\n", " color='black')\n", " pl.title(clf_name, fontsize=20)\n", "\n", "data = open(\"cows_and_wolves.txt\").read()\n", "data = [row.split('\\t') for row in data.strip().split('\\n')]\n", "\n", "animals = []\n", "for y, row in enumerate(data):\n", " for x, item in enumerate(row):\n", " # x's are cows, o's are wolves\n", " if item in ['o', 'x']:\n", " animals.append([x, y, item])\n", "\n", "df = pd.DataFrame(animals, columns=[\"x\", \"y\", \"animal\"])\n", "df['animal_type'] = df.animal.apply(lambda x: 0 if x==\"x\" else 1)\n", "\n", "# train using the x and y position coordiantes\n", "train_cols = [\"x\", \"y\"]\n", "\n", "clfs = {\n", " \"SVM\": svm.SVC(),\n", " \"Logistic Regression\" : linear_model.LogisticRegression(),\n", " \"Decision Tree\": tree.DecisionTreeClassifier(),\n", " \"Random Forest\": ensemble.RandomForestClassifier(random_state=0),\n", " \"K-Nearest Neighbors Classifier\": KNeighborsClassifier(n_neighbors=3), \n", " \"Gaussian Naive Bayes\": GaussianNB(),\n", "}\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(20,12))\n", "plt_nmbr = 1\n", "for clf_name, clf in clfs.items():\n", " clf.fit(df[train_cols], df.animal_type)\n", " plot_results_with_hyperplane(clf, clf_name, df, plt_nmbr)\n", " plt_nmbr += 1\n", "pl.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Pro tips" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Good informative features --> Good model\n", "* Be aware of Data leakage (Cancer example, Clickstream example)\n", "* Learning from you model's errors\n", " * Add new features\n", " * Give more weight to certain examples in training\n", " * Remove outliers\n", "* Using sampling methods \n", " * For imbalanced data set \n", " * For emphasisizing different populations in the data\n", " * For removing correlated samples (deal approval example)\n", "* Choosing the right metrics for your task\n", " * Considering business requirements\n", " * Considering different loss for different types of errors\n", " * Considering imbalanced data set \n", " https://medium.com/towards-data-science/what-metrics-should-we-use-on-imbalanced-data-set-precision-recall-roc-e2e79252aeba\n", " \n", "* Learn pandas tips and tricks\n", " * https://medium.com/towards-data-science/pandas-tips-and-tricks-33bcc8a40bb9\n", " " ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# Questions?" ] } ], "metadata": { "anaconda-cloud": {}, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 1 }