1674 lines
213 KiB
Text
1674 lines
213 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Workshop: Machine Learning for Beginners"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## What is Machine Learning"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Machine learning is the process of **extracting knowledge from data** in an automated fashion.\n",
|
|
"\n",
|
|
"The use cases usually are making predictions on new and unseen data or simply understanding a given dataset better by finding patterns.\n",
|
|
"\n",
|
|
"Central to machine learning is the idea of **automating** the **decision making** from data **without** the user specifying **explicit rules** how these decisions should be made."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"raw/what_is_machine_learning.png\" width=\"60%\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Examples"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"raw/examples.png\" width=\"60%\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Types of Machine Learning"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"raw/3_types_of_machine_learning.png\" width=\"60%\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"- **Supervised** (focus of this workshop): Each entry in the dataset comes with a \"label\". Examples are a list of emails where spam mail is already marked as such or a sample of handwritten digits. The goal is to use the historic data to make predictions.\n",
|
|
"\n",
|
|
"- **Unsupervised**: There is no desired output associated with a data entry. In a sense, one can think of unsupervised learning as a means of discovering labels from the data itself. A popular example is the clustering of customer data.\n",
|
|
"\n",
|
|
"- **Reinforcement**: Conceptually, this can be seen as \"learning by doing\". Some kind of \"reward function\" tells how good a predicted outcome is. For example, chess computers are typically programmed with this approach."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Types of Supervised Learning"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"raw/classification_vs_regression.png\" width=\"60%\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"- In **classification** tasks, the labels are *discrete*, such as \"spam\" or \"no spam\" for emails. Often, labels are nominal (e.g., colors of something), or ordinal (e.g., T-shirt sizes in S, M, or L).\n",
|
|
"- In **regression**, the labels are *continuous*. For example, given a person's age, education, and position, infer his/her salary."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Case Study: Iris Flower Classification"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"raw/iris_data.png\" width=\"60%\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Python for Scientific Computing: A brief Introduction"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Python itself does not come with any scientific algorithms. However, over time, many open source libraries emerged that are useful to build machine learning applications.\n",
|
|
"\n",
|
|
"Among the popular ones are [numpy](https://numpy.org/) (numerical computations, linear algebra), [pandas](https://pandas.pydata.org/) (data processing), [matplotlib](https://matplotlib.org/) (visualisations), and [scikit-learn](https://scikit-learn.org/stable/index.html) (machine learning algorithms).\n",
|
|
"\n",
|
|
"First, import the libraries:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import pandas as pd\n",
|
|
"import matplotlib.pyplot as plt"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The following line is needed so that this Jupyter notebook creates the visiualizations in the notebook and not in a new window. This has nothing to do with Python."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%matplotlib inline"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Standard Python can do basic arithmetic operations ..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"3"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a = 1\n",
|
|
"b = 2\n",
|
|
"\n",
|
|
"c = a + b\n",
|
|
"\n",
|
|
"c"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"... and provides some simple **data structures**, such as a list of values."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[1, 2, 3, 4]"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"l = [a, b, c, 4]\n",
|
|
"\n",
|
|
"l"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Numpy provides a data structure called an **n-dimensional array**. This may sound fancy at first but when used with only 1 or 2 dimensions, it basically represents vectors and matrices. Arrays allow for much faster computations as they are implemented in the very fast [C language](https://en.wikipedia.org/wiki/C_%28programming_language%29)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To create an array, we use the [array()](https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html#numpy-array) function from the imported `np` module and provide it with a `list` of values."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([1, 2, 3])"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"v1 = np.array([1, 2, 3])\n",
|
|
"\n",
|
|
"v1"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"A vector can be multiplied with a scalar."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([3, 6, 9])"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"v2 = v1 * 3\n",
|
|
"\n",
|
|
"v2"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To create a matrix, just use a list of (row) list of values instead."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[1, 2, 3],\n",
|
|
" [4, 5, 6]])"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"m1 = np.array([\n",
|
|
" [1, 2, 3],\n",
|
|
" [4, 5, 6],\n",
|
|
"])\n",
|
|
"\n",
|
|
"m1"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Now we can use numpy to multiply a matrix with a vector to obtain a new vector ..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([14, 32])"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"v3 = np.dot(m1, v1)\n",
|
|
"\n",
|
|
"v3"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"... or simply transpose it."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[1, 4],\n",
|
|
" [2, 5],\n",
|
|
" [3, 6]])"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"m1.T"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The rules from maths still apply and it makes a difference if a vector is multiplied from the left or the right by a matrix. The following operation will fail."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"ename": "ValueError",
|
|
"evalue": "shapes (3,) and (2,3) not aligned: 3 (dim 0) != 2 (dim 0)",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
|
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
|
|
"\u001b[0;32m<ipython-input-10-c170f5d663e1>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mm1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
|
"\u001b[0;32m<__array_function__ internals>\u001b[0m in \u001b[0;36mdot\u001b[0;34m(*args, **kwargs)\u001b[0m\n",
|
|
"\u001b[0;31mValueError\u001b[0m: shapes (3,) and (2,3) not aligned: 3 (dim 0) != 2 (dim 0)"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"np.dot(v1, m1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In order to retrieve only a slice (= subset) of an array's data, we can \"index\" into it. For example, the first row of the matrix is ..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([1, 2, 3])"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"m1[0, :]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"... while the second column is:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([2, 5])"
|
|
]
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"m1[:, 1]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To acces the lowest element in the right column, two indices can be used."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"6"
|
|
]
|
|
},
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"m1[1, 2]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Numpy also provides various other functions and constants, such as sinus or pi. To further illustrate the concept of **vectorization**, let us calculate the sinus curve over a range of values."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([-9.42477796, -9.23437841, -9.04397885, -8.8535793 , -8.66317974,\n",
|
|
" -8.47278019, -8.28238063, -8.09198108, -7.90158152, -7.71118197,\n",
|
|
" -7.52078241, -7.33038286, -7.1399833 , -6.94958375, -6.75918419,\n",
|
|
" -6.56878464, -6.37838508, -6.18798553, -5.99758598, -5.80718642,\n",
|
|
" -5.61678687, -5.42638731, -5.23598776, -5.0455882 , -4.85518865,\n",
|
|
" -4.66478909, -4.47438954, -4.28398998, -4.09359043, -3.90319087,\n",
|
|
" -3.71279132, -3.52239176, -3.33199221, -3.14159265, -2.9511931 ,\n",
|
|
" -2.76079354, -2.57039399, -2.37999443, -2.18959488, -1.99919533,\n",
|
|
" -1.80879577, -1.61839622, -1.42799666, -1.23759711, -1.04719755,\n",
|
|
" -0.856798 , -0.66639844, -0.47599889, -0.28559933, -0.09519978,\n",
|
|
" 0.09519978, 0.28559933, 0.47599889, 0.66639844, 0.856798 ,\n",
|
|
" 1.04719755, 1.23759711, 1.42799666, 1.61839622, 1.80879577,\n",
|
|
" 1.99919533, 2.18959488, 2.37999443, 2.57039399, 2.76079354,\n",
|
|
" 2.9511931 , 3.14159265, 3.33199221, 3.52239176, 3.71279132,\n",
|
|
" 3.90319087, 4.09359043, 4.28398998, 4.47438954, 4.66478909,\n",
|
|
" 4.85518865, 5.0455882 , 5.23598776, 5.42638731, 5.61678687,\n",
|
|
" 5.80718642, 5.99758598, 6.18798553, 6.37838508, 6.56878464,\n",
|
|
" 6.75918419, 6.94958375, 7.1399833 , 7.33038286, 7.52078241,\n",
|
|
" 7.71118197, 7.90158152, 8.09198108, 8.28238063, 8.47278019,\n",
|
|
" 8.66317974, 8.8535793 , 9.04397885, 9.23437841, 9.42477796])"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"x = np.linspace(-3*np.pi, 3*np.pi, 100)\n",
|
|
"\n",
|
|
"x"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([-3.67394040e-16, -1.89251244e-01, -3.71662456e-01, -5.40640817e-01,\n",
|
|
" -6.90079011e-01, -8.14575952e-01, -9.09631995e-01, -9.71811568e-01,\n",
|
|
" -9.98867339e-01, -9.89821442e-01, -9.45000819e-01, -8.66025404e-01,\n",
|
|
" -7.55749574e-01, -6.18158986e-01, -4.58226522e-01, -2.81732557e-01,\n",
|
|
" -9.50560433e-02, 9.50560433e-02, 2.81732557e-01, 4.58226522e-01,\n",
|
|
" 6.18158986e-01, 7.55749574e-01, 8.66025404e-01, 9.45000819e-01,\n",
|
|
" 9.89821442e-01, 9.98867339e-01, 9.71811568e-01, 9.09631995e-01,\n",
|
|
" 8.14575952e-01, 6.90079011e-01, 5.40640817e-01, 3.71662456e-01,\n",
|
|
" 1.89251244e-01, -1.22464680e-16, -1.89251244e-01, -3.71662456e-01,\n",
|
|
" -5.40640817e-01, -6.90079011e-01, -8.14575952e-01, -9.09631995e-01,\n",
|
|
" -9.71811568e-01, -9.98867339e-01, -9.89821442e-01, -9.45000819e-01,\n",
|
|
" -8.66025404e-01, -7.55749574e-01, -6.18158986e-01, -4.58226522e-01,\n",
|
|
" -2.81732557e-01, -9.50560433e-02, 9.50560433e-02, 2.81732557e-01,\n",
|
|
" 4.58226522e-01, 6.18158986e-01, 7.55749574e-01, 8.66025404e-01,\n",
|
|
" 9.45000819e-01, 9.89821442e-01, 9.98867339e-01, 9.71811568e-01,\n",
|
|
" 9.09631995e-01, 8.14575952e-01, 6.90079011e-01, 5.40640817e-01,\n",
|
|
" 3.71662456e-01, 1.89251244e-01, 1.22464680e-16, -1.89251244e-01,\n",
|
|
" -3.71662456e-01, -5.40640817e-01, -6.90079011e-01, -8.14575952e-01,\n",
|
|
" -9.09631995e-01, -9.71811568e-01, -9.98867339e-01, -9.89821442e-01,\n",
|
|
" -9.45000819e-01, -8.66025404e-01, -7.55749574e-01, -6.18158986e-01,\n",
|
|
" -4.58226522e-01, -2.81732557e-01, -9.50560433e-02, 9.50560433e-02,\n",
|
|
" 2.81732557e-01, 4.58226522e-01, 6.18158986e-01, 7.55749574e-01,\n",
|
|
" 8.66025404e-01, 9.45000819e-01, 9.89821442e-01, 9.98867339e-01,\n",
|
|
" 9.71811568e-01, 9.09631995e-01, 8.14575952e-01, 6.90079011e-01,\n",
|
|
" 5.40640817e-01, 3.71662456e-01, 1.89251244e-01, 3.67394040e-16])"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"y = np.sin(x)\n",
|
|
"\n",
|
|
"y"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"With matplotlib's [plot()](https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot) function we can visualize the sinus curve."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x7fb55f900410>]"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.plot(x, y)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Let us quickly generate some random data and draw a scatter plot."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.collections.PathCollection at 0x7fb5a7e85950>"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"x = np.random.normal(42, 3, 100)\n",
|
|
"y = np.random.gamma(7, 1, 100)\n",
|
|
"\n",
|
|
"plt.scatter(x, y)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Case Study (continued): Importing the Iris data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The sklearn library provides several sample datasets, among which is also the Iris dataset.\n",
|
|
"\n",
|
|
"As a table, the dataset would look like:\n",
|
|
"<img src=\"raw/iris.png\" width=\"50%\">\n",
|
|
"\n",
|
|
"However, the data object imported from sklearn is organized slightly different. In particular, the so-called **features** are seperated from the **labels**."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from sklearn.datasets import load_iris"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"iris = load_iris()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Using Python's **dir()** function we can inspect the data object, i.e. find out what **attributes** it has."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"['DESCR',\n",
|
|
" 'data',\n",
|
|
" 'feature_names',\n",
|
|
" 'filename',\n",
|
|
" 'frame',\n",
|
|
" 'target',\n",
|
|
" 'target_names']"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"dir(iris)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"iris.data provides us with a Numpy array, where the first dimension equals the number of observed flowers (**instances**) and the second dimension lists the various features of a flower."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[5.1, 3.5, 1.4, 0.2],\n",
|
|
" [4.9, 3. , 1.4, 0.2],\n",
|
|
" [4.7, 3.2, 1.3, 0.2],\n",
|
|
" [4.6, 3.1, 1.5, 0.2],\n",
|
|
" [5. , 3.6, 1.4, 0.2],\n",
|
|
" [5.4, 3.9, 1.7, 0.4],\n",
|
|
" [4.6, 3.4, 1.4, 0.3],\n",
|
|
" [5. , 3.4, 1.5, 0.2],\n",
|
|
" [4.4, 2.9, 1.4, 0.2],\n",
|
|
" [4.9, 3.1, 1.5, 0.1],\n",
|
|
" [5.4, 3.7, 1.5, 0.2],\n",
|
|
" [4.8, 3.4, 1.6, 0.2],\n",
|
|
" [4.8, 3. , 1.4, 0.1],\n",
|
|
" [4.3, 3. , 1.1, 0.1],\n",
|
|
" [5.8, 4. , 1.2, 0.2],\n",
|
|
" [5.7, 4.4, 1.5, 0.4],\n",
|
|
" [5.4, 3.9, 1.3, 0.4],\n",
|
|
" [5.1, 3.5, 1.4, 0.3],\n",
|
|
" [5.7, 3.8, 1.7, 0.3],\n",
|
|
" [5.1, 3.8, 1.5, 0.3],\n",
|
|
" [5.4, 3.4, 1.7, 0.2],\n",
|
|
" [5.1, 3.7, 1.5, 0.4],\n",
|
|
" [4.6, 3.6, 1. , 0.2],\n",
|
|
" [5.1, 3.3, 1.7, 0.5],\n",
|
|
" [4.8, 3.4, 1.9, 0.2],\n",
|
|
" [5. , 3. , 1.6, 0.2],\n",
|
|
" [5. , 3.4, 1.6, 0.4],\n",
|
|
" [5.2, 3.5, 1.5, 0.2],\n",
|
|
" [5.2, 3.4, 1.4, 0.2],\n",
|
|
" [4.7, 3.2, 1.6, 0.2],\n",
|
|
" [4.8, 3.1, 1.6, 0.2],\n",
|
|
" [5.4, 3.4, 1.5, 0.4],\n",
|
|
" [5.2, 4.1, 1.5, 0.1],\n",
|
|
" [5.5, 4.2, 1.4, 0.2],\n",
|
|
" [4.9, 3.1, 1.5, 0.2],\n",
|
|
" [5. , 3.2, 1.2, 0.2],\n",
|
|
" [5.5, 3.5, 1.3, 0.2],\n",
|
|
" [4.9, 3.6, 1.4, 0.1],\n",
|
|
" [4.4, 3. , 1.3, 0.2],\n",
|
|
" [5.1, 3.4, 1.5, 0.2],\n",
|
|
" [5. , 3.5, 1.3, 0.3],\n",
|
|
" [4.5, 2.3, 1.3, 0.3],\n",
|
|
" [4.4, 3.2, 1.3, 0.2],\n",
|
|
" [5. , 3.5, 1.6, 0.6],\n",
|
|
" [5.1, 3.8, 1.9, 0.4],\n",
|
|
" [4.8, 3. , 1.4, 0.3],\n",
|
|
" [5.1, 3.8, 1.6, 0.2],\n",
|
|
" [4.6, 3.2, 1.4, 0.2],\n",
|
|
" [5.3, 3.7, 1.5, 0.2],\n",
|
|
" [5. , 3.3, 1.4, 0.2],\n",
|
|
" [7. , 3.2, 4.7, 1.4],\n",
|
|
" [6.4, 3.2, 4.5, 1.5],\n",
|
|
" [6.9, 3.1, 4.9, 1.5],\n",
|
|
" [5.5, 2.3, 4. , 1.3],\n",
|
|
" [6.5, 2.8, 4.6, 1.5],\n",
|
|
" [5.7, 2.8, 4.5, 1.3],\n",
|
|
" [6.3, 3.3, 4.7, 1.6],\n",
|
|
" [4.9, 2.4, 3.3, 1. ],\n",
|
|
" [6.6, 2.9, 4.6, 1.3],\n",
|
|
" [5.2, 2.7, 3.9, 1.4],\n",
|
|
" [5. , 2. , 3.5, 1. ],\n",
|
|
" [5.9, 3. , 4.2, 1.5],\n",
|
|
" [6. , 2.2, 4. , 1. ],\n",
|
|
" [6.1, 2.9, 4.7, 1.4],\n",
|
|
" [5.6, 2.9, 3.6, 1.3],\n",
|
|
" [6.7, 3.1, 4.4, 1.4],\n",
|
|
" [5.6, 3. , 4.5, 1.5],\n",
|
|
" [5.8, 2.7, 4.1, 1. ],\n",
|
|
" [6.2, 2.2, 4.5, 1.5],\n",
|
|
" [5.6, 2.5, 3.9, 1.1],\n",
|
|
" [5.9, 3.2, 4.8, 1.8],\n",
|
|
" [6.1, 2.8, 4. , 1.3],\n",
|
|
" [6.3, 2.5, 4.9, 1.5],\n",
|
|
" [6.1, 2.8, 4.7, 1.2],\n",
|
|
" [6.4, 2.9, 4.3, 1.3],\n",
|
|
" [6.6, 3. , 4.4, 1.4],\n",
|
|
" [6.8, 2.8, 4.8, 1.4],\n",
|
|
" [6.7, 3. , 5. , 1.7],\n",
|
|
" [6. , 2.9, 4.5, 1.5],\n",
|
|
" [5.7, 2.6, 3.5, 1. ],\n",
|
|
" [5.5, 2.4, 3.8, 1.1],\n",
|
|
" [5.5, 2.4, 3.7, 1. ],\n",
|
|
" [5.8, 2.7, 3.9, 1.2],\n",
|
|
" [6. , 2.7, 5.1, 1.6],\n",
|
|
" [5.4, 3. , 4.5, 1.5],\n",
|
|
" [6. , 3.4, 4.5, 1.6],\n",
|
|
" [6.7, 3.1, 4.7, 1.5],\n",
|
|
" [6.3, 2.3, 4.4, 1.3],\n",
|
|
" [5.6, 3. , 4.1, 1.3],\n",
|
|
" [5.5, 2.5, 4. , 1.3],\n",
|
|
" [5.5, 2.6, 4.4, 1.2],\n",
|
|
" [6.1, 3. , 4.6, 1.4],\n",
|
|
" [5.8, 2.6, 4. , 1.2],\n",
|
|
" [5. , 2.3, 3.3, 1. ],\n",
|
|
" [5.6, 2.7, 4.2, 1.3],\n",
|
|
" [5.7, 3. , 4.2, 1.2],\n",
|
|
" [5.7, 2.9, 4.2, 1.3],\n",
|
|
" [6.2, 2.9, 4.3, 1.3],\n",
|
|
" [5.1, 2.5, 3. , 1.1],\n",
|
|
" [5.7, 2.8, 4.1, 1.3],\n",
|
|
" [6.3, 3.3, 6. , 2.5],\n",
|
|
" [5.8, 2.7, 5.1, 1.9],\n",
|
|
" [7.1, 3. , 5.9, 2.1],\n",
|
|
" [6.3, 2.9, 5.6, 1.8],\n",
|
|
" [6.5, 3. , 5.8, 2.2],\n",
|
|
" [7.6, 3. , 6.6, 2.1],\n",
|
|
" [4.9, 2.5, 4.5, 1.7],\n",
|
|
" [7.3, 2.9, 6.3, 1.8],\n",
|
|
" [6.7, 2.5, 5.8, 1.8],\n",
|
|
" [7.2, 3.6, 6.1, 2.5],\n",
|
|
" [6.5, 3.2, 5.1, 2. ],\n",
|
|
" [6.4, 2.7, 5.3, 1.9],\n",
|
|
" [6.8, 3. , 5.5, 2.1],\n",
|
|
" [5.7, 2.5, 5. , 2. ],\n",
|
|
" [5.8, 2.8, 5.1, 2.4],\n",
|
|
" [6.4, 3.2, 5.3, 2.3],\n",
|
|
" [6.5, 3. , 5.5, 1.8],\n",
|
|
" [7.7, 3.8, 6.7, 2.2],\n",
|
|
" [7.7, 2.6, 6.9, 2.3],\n",
|
|
" [6. , 2.2, 5. , 1.5],\n",
|
|
" [6.9, 3.2, 5.7, 2.3],\n",
|
|
" [5.6, 2.8, 4.9, 2. ],\n",
|
|
" [7.7, 2.8, 6.7, 2. ],\n",
|
|
" [6.3, 2.7, 4.9, 1.8],\n",
|
|
" [6.7, 3.3, 5.7, 2.1],\n",
|
|
" [7.2, 3.2, 6. , 1.8],\n",
|
|
" [6.2, 2.8, 4.8, 1.8],\n",
|
|
" [6.1, 3. , 4.9, 1.8],\n",
|
|
" [6.4, 2.8, 5.6, 2.1],\n",
|
|
" [7.2, 3. , 5.8, 1.6],\n",
|
|
" [7.4, 2.8, 6.1, 1.9],\n",
|
|
" [7.9, 3.8, 6.4, 2. ],\n",
|
|
" [6.4, 2.8, 5.6, 2.2],\n",
|
|
" [6.3, 2.8, 5.1, 1.5],\n",
|
|
" [6.1, 2.6, 5.6, 1.4],\n",
|
|
" [7.7, 3. , 6.1, 2.3],\n",
|
|
" [6.3, 3.4, 5.6, 2.4],\n",
|
|
" [6.4, 3.1, 5.5, 1.8],\n",
|
|
" [6. , 3. , 4.8, 1.8],\n",
|
|
" [6.9, 3.1, 5.4, 2.1],\n",
|
|
" [6.7, 3.1, 5.6, 2.4],\n",
|
|
" [6.9, 3.1, 5.1, 2.3],\n",
|
|
" [5.8, 2.7, 5.1, 1.9],\n",
|
|
" [6.8, 3.2, 5.9, 2.3],\n",
|
|
" [6.7, 3.3, 5.7, 2.5],\n",
|
|
" [6.7, 3. , 5.2, 2.3],\n",
|
|
" [6.3, 2.5, 5. , 1.9],\n",
|
|
" [6.5, 3. , 5.2, 2. ],\n",
|
|
" [6.2, 3.4, 5.4, 2.3],\n",
|
|
" [5.9, 3. , 5.1, 1.8]])"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"iris.data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To find out what the four features are, we can list them:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"['sepal length (cm)',\n",
|
|
" 'sepal width (cm)',\n",
|
|
" 'petal length (cm)',\n",
|
|
" 'petal width (cm)']"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"iris.feature_names"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Similarly, we can also print the flowers' labels (a.k.a. targets):"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
|
|
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
|
|
" 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
|
|
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
|
|
" 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
|
|
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
|
|
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])"
|
|
]
|
|
},
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"iris.target"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The three flower classes are encoded with integers. Let's show the corresponding names:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array(['setosa', 'versicolor', 'virginica'], dtype='<U10')"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"iris.target_names"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Case Study (continued): Simple Visualizations"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Since the data is four dimensional, we cannot visualize all features together. Instead, we can plot the distribution of the flower classes by a single feature using histograms."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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8IUvsHnzZqZNm8bNN9/MjTfeWGfdGzduJC8vjyuuuAKAz33ucwC8+uqrTJs2DYBLLrmEiy++mLfffrvOsq+++irLly8HYOjQoezcuZNPP/0UgNGjR9OhQ4dY9r/RADezxcBXgK5mVg3MInHWydnAyuguyn9x97tiqUhEpAnGjh1LcXExH330EePGjeP999/nwQcf5Lvf/W6d+aqqqjjnnHNOvO7SpQtr167lpZde4te//jXLli1jwYIFzV5v7RrSlcxZKN9w9zx3z3b3fHd/0t2/6O7d3X1g9FB4i0hGjBs3jiVLllBcXMzYsWMZMWIECxYsYO/evQBs2bKFmpqak5bbsWMHx44d47bbbuNnP/sZZWVldd7v3bs327ZtY82aNQDs2bOHI0eOcO2117JoUeJjv7fffpsPPviA3r1711m29jyrV6+ma9euJ47g46R2siISnwy08ezbty979uyhW7du5OXlkZeXx4YNG7jqqqsAOPfcc3n22Wdp3759neW2bNnCxIkTOXbsGAC/+MUv6rx/1llnsXTpUqZNm8b+/fvp0KEDq1atYsqUKdx9993079+frKwsFi5cyNlnn11n2dmzZzNp0iQGDBhAx44dm61/uNrJnobayUroWuIsFLWTjZ/ayYqInAEU4CIigVKAi4gESgEuIhIoBbiISKAU4CIigdJ54CISm1ROXWxIKs21tm7dyvTp0ykuLm7ScjfddBPPPfccnTt3Pu08Dz30ENdddx3Dhg1rcl3NQQEuIm3KRRdddMrwbqx964svvtjouluq1WyyNIQiIsGaOXMmc+fOPfF69uzZ/OpXv6Jfv34ALFy4kNGjRzN06FBuuOEGPvvsM772ta/Rp08fbr31VgYPHszxiwt79OjBjh07qKqq4tJLL+U73/kOffv25cYbb2T//v0ATJgw4cR/DmvWrOHqq6/msssu48orr2TPnj1UVVVx7bXXcvnll3P55Zfz5z//uVn3XwEuIsE6VTvZwYMH15mnrKyM4uJi/vSnPzFv3jy6dOlCZWUlP/3pTyktLT3lejdt2sQ999zD+vXr6dy584nOgsedrtXs5z//eVauXElZWRlLly5l+vTp8e90LRpCEZFgnaqdbPfu3evMM3z4cM4//3wg0eZ1xowZAPTr148BAwaccr09e/Zk4MCBAAwaNIiqqqo675+u1ey+ffuYOnUq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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"feature_index = 2\n",
|
|
"colors = ['blue', 'red', 'green']\n",
|
|
"\n",
|
|
"for label, color in zip(range(len(iris.target_names)), colors):\n",
|
|
" plt.hist(iris.data[iris.target==label, feature_index], \n",
|
|
" label=iris.target_names[label],\n",
|
|
" color=color)\n",
|
|
"\n",
|
|
"plt.xlabel(iris.feature_names[feature_index])\n",
|
|
"plt.legend(loc='upper right')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Also, we can draw scatter plots of two features."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"first_feature_index = 1\n",
|
|
"second_feature_index = 0\n",
|
|
"\n",
|
|
"colors = ['blue', 'red', 'green']\n",
|
|
"\n",
|
|
"for label, color in zip(range(len(iris.target_names)), colors):\n",
|
|
" plt.scatter(iris.data[iris.target==label, first_feature_index], \n",
|
|
" iris.data[iris.target==label, second_feature_index],\n",
|
|
" label=iris.target_names[label],\n",
|
|
" c=color)\n",
|
|
"\n",
|
|
"plt.xlabel(iris.feature_names[first_feature_index])\n",
|
|
"plt.ylabel(iris.feature_names[second_feature_index])\n",
|
|
"plt.legend(loc='upper left')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Using the higher level library pandas, one can easily create a so-called **scatterplot matrix**."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 576x576 with 16 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)\n",
|
|
"\n",
|
|
"pd.plotting.scatter_matrix(iris_df, figsize=(8, 8));"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Concept of Generalization"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"The goal of a supervised machine learning model is to make predictions on new (i.e., previously unseen) data.\n",
|
|
"\n",
|
|
"In a real-world application, we are not interested in marking an already labeled email as spam or not. Instead, we want to make the user's life easier by automatically classifying new incoming mail.\n",
|
|
"\n",
|
|
"In order to get an idea of how good a model generalizes, a best practice is to split the available data into a training and a test set. Only the former is used to train the model. Then predictions are made on the test data and the predictions can be compared with the actual labels.\n",
|
|
"\n",
|
|
"Common splits are 75/25 or 60/40."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"raw/generalization.png\" width=\"60%\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Case Study (continued): Train/Test Split for the Iris data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"It is common practice to refer to the feature matrix as X and the vector of labels as y."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"X, y = iris.data, iris.target"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"A naive splitting approach could be to use array slicing."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 29,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"X_train, X_test, y_train, y_test = X[0:100, :], X[100:150, :], y[0:100], y[100:150]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"However, this would lead to unbalanced label distributions. For example, the test set would only be made up of flowers of the same type."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
|
|
" 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
|
|
" 2, 2, 2, 2, 2, 2])"
|
|
]
|
|
},
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"y_test"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 31,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([ 0, 0, 50])"
|
|
]
|
|
},
|
|
"execution_count": 31,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"np.bincount(y_test)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"sklearn provides a function that not only randomizes the split but also ensures that the resulting label distribution is proportionate to the overall distribution (called **stratification**)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from sklearn.model_selection import train_test_split"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 33,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([0, 0, 1, 2, 0, 0, 1, 1, 2, 0, 2, 0, 1, 0, 2, 0, 2, 1, 2, 0, 2, 2,\n",
|
|
" 2, 1, 2, 0, 2, 1, 1, 1, 1, 1, 0, 0, 2, 1, 2, 1, 0, 0, 1, 2, 1, 0,\n",
|
|
" 2])"
|
|
]
|
|
},
|
|
"execution_count": 33,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.7, test_size=0.3, stratify=y)\n",
|
|
"\n",
|
|
"y_test"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 34,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([15, 15, 15])"
|
|
]
|
|
},
|
|
"execution_count": 34,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"np.bincount(y_test)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## A simple Classification Model: k-Nearest Neighbors"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"To predict the label for any observation, just determine the k \"nearest\" observations in the training set (e.g., by Euclidean distance) and use a simple majority vote."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"<img src=\"raw/knn.png\" width=\"60%\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Case Study (continued): Train and Predict the Iris data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"sklearn provides a uniform interface for all its classification models. They all have a **fit()** and a **predict()** method that abstract away the actual machine learning algorithm."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from sklearn.neighbors import KNeighborsClassifier"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"knn = KNeighborsClassifier(n_neighbors=5)\n",
|
|
"\n",
|
|
"knn.fit(X_train, y_train)\n",
|
|
"\n",
|
|
"y_pred = knn.predict(X_test)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Let us list the labels predicted for the test set ..."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([0, 0, 1, 2, 0, 0, 1, 1, 2, 0, 2, 0, 1, 0, 2, 0, 2, 1, 2, 0, 2, 2,\n",
|
|
" 2, 1, 2, 0, 2, 1, 1, 1, 1, 1, 0, 0, 2, 1, 2, 1, 0, 0, 1, 2, 1, 0,\n",
|
|
" 2])"
|
|
]
|
|
},
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"y_pred"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"... and compare them with the actual labels."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 38,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([0, 0, 1, 2, 0, 0, 1, 1, 2, 0, 2, 0, 1, 0, 2, 0, 2, 1, 2, 0, 2, 2,\n",
|
|
" 2, 1, 2, 0, 2, 1, 1, 1, 1, 1, 0, 0, 2, 1, 2, 1, 0, 0, 1, 2, 1, 0,\n",
|
|
" 2])"
|
|
]
|
|
},
|
|
"execution_count": 38,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"y_test"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Numpy can show us the indices where the predictions are wrong."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 39,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(array([], dtype=int64),)"
|
|
]
|
|
},
|
|
"execution_count": 39,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"np.where(y_pred != y_test)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Alternatively, we can calculate the fraction of correctly predicted flowers."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 40,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"1.0"
|
|
]
|
|
},
|
|
"execution_count": 40,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"np.sum(y_pred == y_test) / len(y_test)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"It is important to mention that we can also \"predict\" the training set. Surprisingly, the model does not get the training set 100% correct."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 41,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"0.9523809523809523"
|
|
]
|
|
},
|
|
"execution_count": 41,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"y_train_pred = knn.predict(X_train)\n",
|
|
"\n",
|
|
"np.sum(y_train_pred == y_train) / len(y_train)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"A visualization reveals that the misclassified flowers are right \"at the borderline\" between two neighboring clusters of flower classes."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 42,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"first_feature_index = 3\n",
|
|
"second_feature_index = 0\n",
|
|
"\n",
|
|
"correct_idx = np.where(y_pred == y_test)[0]\n",
|
|
"incorrect_idx = np.where(y_pred != y_test)[0]\n",
|
|
"\n",
|
|
"colors = [\"darkblue\", \"darkgreen\", \"gray\"]\n",
|
|
"\n",
|
|
"for n, color in enumerate(colors):\n",
|
|
" idx = np.where(y_test == n)[0]\n",
|
|
" plt.scatter(X_test[idx, first_feature_index], X_test[idx, second_feature_index], color=color,\n",
|
|
" label=iris.target_names[n])\n",
|
|
"\n",
|
|
"plt.scatter(X_test[incorrect_idx, first_feature_index], X_test[incorrect_idx, second_feature_index],\n",
|
|
" color=\"darkred\", label='misclassified')\n",
|
|
"\n",
|
|
"plt.xlabel('sepal width [cm]')\n",
|
|
"plt.ylabel('petal length [cm]')\n",
|
|
"plt.legend(loc='best')\n",
|
|
"plt.title(\"Iris Classification results\")\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In practice, the number of neighbors is to chosen before the model is trained. Therefore, it is possible to \"optimize\" it. This process is referred to as **hyper-parameter** tuning. For the Iris dataset this does not make much of a difference."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 43,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1 1.0\n",
|
|
"2 0.9555555555555556\n",
|
|
"3 1.0\n",
|
|
"4 0.9777777777777777\n",
|
|
"5 1.0\n",
|
|
"6 1.0\n",
|
|
"7 1.0\n",
|
|
"8 0.9777777777777777\n",
|
|
"9 0.9777777777777777\n",
|
|
"10 0.9777777777777777\n",
|
|
"11 0.9777777777777777\n",
|
|
"12 0.9777777777777777\n",
|
|
"13 1.0\n",
|
|
"14 0.9777777777777777\n",
|
|
"15 0.9555555555555556\n",
|
|
"16 0.9777777777777777\n",
|
|
"17 0.9555555555555556\n",
|
|
"18 0.9777777777777777\n",
|
|
"19 0.9777777777777777\n",
|
|
"20 0.9777777777777777\n",
|
|
"21 0.9555555555555556\n",
|
|
"22 0.9777777777777777\n",
|
|
"23 0.9555555555555556\n",
|
|
"24 0.9777777777777777\n",
|
|
"25 0.9555555555555556\n",
|
|
"26 0.9777777777777777\n",
|
|
"27 0.9555555555555556\n",
|
|
"28 0.9777777777777777\n",
|
|
"29 0.9777777777777777\n",
|
|
"30 0.9777777777777777\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for i in range(1, 31):\n",
|
|
" knn = KNeighborsClassifier(n_neighbors=i)\n",
|
|
" knn.fit(X_train, y_train)\n",
|
|
" y_pred = knn.predict(X_test)\n",
|
|
" correct = np.sum(y_pred == y_test) / len(y_test)\n",
|
|
" print(i, correct)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## WHU's Python Course in the BSc program"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"- free [online book](https://github.com/webartifex/intro-to-python) by the author of this workshop"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Literature on Machine Learning"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Depending on the programming language one chooses, the following books are recommended:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"- [Python Machine Learning](https://www.amazon.de/Python-Machine-Learning-scikit-learn-TensorFlow/dp/1787125939/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=python+machine+learning&qid=1575545025&sr=8-1) by Sebastian Raschka\n",
|
|
"\n",
|
|
"<img src=\"raw/python_ml.png\">"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"- [An Introduction to Statistical Learning](http://faculty.marshall.usc.edu/gareth-james/ISL/)\n",
|
|
"\n",
|
|
"<img src=\"raw/r.png\">"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"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.7.9"
|
|
},
|
|
"toc": {
|
|
"base_numbering": 1,
|
|
"nav_menu": {},
|
|
"number_sections": false,
|
|
"sideBar": true,
|
|
"skip_h1_title": false,
|
|
"title_cell": "Table of Contents",
|
|
"title_sidebar": "Contents",
|
|
"toc_cell": false,
|
|
"toc_position": {},
|
|
"toc_section_display": true,
|
|
"toc_window_display": false
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|