diff --git "a/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/.ipynb_checkpoints/2.Perceptron-checkpoint.ipynb" "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/.ipynb_checkpoints/2.Perceptron-checkpoint.ipynb" new file mode 100644 index 0000000..96bbe8d --- /dev/null +++ "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/.ipynb_checkpoints/2.Perceptron-checkpoint.ipynb" @@ -0,0 +1,570 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 第2章 感知机" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1.感知机是根据输入实例的特征向量$x$对其进行二类分类的线性分类模型:\n", + "\n", + "$$\n", + "f(x)=\\operatorname{sign}(w \\cdot x+b)\n", + "$$\n", + "\n", + "感知机模型对应于输入空间(特征空间)中的分离超平面$w \\cdot x+b=0$。\n", + "\n", + "2.感知机学习的策略是极小化损失函数:\n", + "\n", + "$$\n", + "\\min _{w, b} L(w, b)=-\\sum_{x_{i} \\in M} y_{i}\\left(w \\cdot x_{i}+b\\right)\n", + "$$\n", + "\n", + "损失函数对应于误分类点到分离超平面的总距离。\n", + "\n", + "3.感知机学习算法是基于随机梯度下降法的对损失函数的最优化算法,有原始形式和对偶形式。算法简单且易于实现。原始形式中,首先任意选取一个超平面,然后用梯度下降法不断极小化目标函数。在这个过程中一次随机选取一个误分类点使其梯度下降。\n", + " \n", + "4.当训练数据集线性可分时,感知机学习算法是收敛的。感知机算法在训练数据集上的误分类次数$k$满足不等式:\n", + "\n", + "$$\n", + "k \\leqslant\\left(\\frac{R}{\\gamma}\\right)^{2}\n", + "$$\n", + "\n", + "当训练数据集线性可分时,感知机学习算法存在无穷多个解,其解由于不同的初值或不同的迭代顺序而可能有所不同。\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 二分类模型\n", + "$f(x) = sign(w\\cdot x + b)$\n", + "\n", + "$\\operatorname{sign}(x)=\\left\\{\\begin{array}{ll}{+1,} & {x \\geqslant 0} \\\\ {-1,} & {x<0}\\end{array}\\right.$\n", + "\n", + "给定训练集:\n", + "\n", + "$T=\\left\\{\\left(x_{1}, y_{1}\\right),\\left(x_{2}, y_{2}\\right), \\cdots,\\left(x_{N}, y_{N}\\right)\\right\\}$\n", + "\n", + "定义感知机的损失函数 \n", + "\n", + "$L(w, b)=-\\sum_{x_{i} \\in M} y_{i}\\left(w \\cdot x_{i}+b\\right)$\n", + "\n", + "---\n", + "#### 算法\n", + "\n", + "随即梯度下降法 Stochastic Gradient Descent\n", + "\n", + "随机抽取一个误分类点使其梯度下降。\n", + "\n", + "$w = w + \\eta y_{i}x_{i}$\n", + "\n", + "$b = b + \\eta y_{i}$\n", + "\n", + "当实例点被误分类,即位于分离超平面的错误侧,则调整$w$, $b$的值,使分离超平面向该无分类点的一侧移动,直至误分类点被正确分类" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "拿出iris数据集中两个分类的数据和[sepal length,sepal width]作为特征" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.datasets import load_iris\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# load data\n", + "iris = load_iris()\n", + "df = pd.DataFrame(iris.data, columns=iris.feature_names)\n", + "df['label'] = iris.target" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2 50\n", + "1 50\n", + "0 50\n", + "Name: label, dtype: int64" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns = [\n", + " 'sepal length', 'sepal width', 'petal length', 'petal width', 'label'\n", + "]\n", + "df.label.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(df[:50]['sepal length'], df[:50]['sepal width'], label='0')\n", + "plt.scatter(df[50:100]['sepal length'], df[50:100]['sepal width'], label='1')\n", + "plt.xlabel('sepal length')\n", + "plt.ylabel('sepal width')\n", + "plt.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "data = np.array(df.iloc[:100, [0, 1, -1]])" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "X, y = data[:,:-1], data[:,-1]" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "y = np.array([1 if i == 1 else -1 for i in y])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Perceptron" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "# 数据线性可分,二分类数据\n", + "# 此处为一元一次线性方程\n", + "class Model:\n", + " def __init__(self):\n", + " self.w = np.ones(len(data[0]) - 1, dtype=np.float32)\n", + " self.b = 0\n", + " self.l_rate = 0.1\n", + " # self.data = data\n", + "\n", + " def sign(self, x, w, b):\n", + " y = np.dot(x, w) + b\n", + " return y\n", + "\n", + " # 随机梯度下降法\n", + " def fit(self, X_train, y_train):\n", + " is_wrong = False\n", + " while not is_wrong:\n", + " wrong_count = 0\n", + " for d in range(len(X_train)):\n", + " X = X_train[d]\n", + " y = y_train[d]\n", + " if y * self.sign(X, self.w, self.b) <= 0:\n", + " self.w = self.w + self.l_rate * np.dot(y, X)\n", + " self.b = self.b + self.l_rate * y\n", + " wrong_count += 1\n", + " if wrong_count == 0:\n", + " is_wrong = True\n", + " return 'Perceptron Model!'\n", + "\n", + " def score(self):\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Perceptron Model!'" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "perceptron = Model()\n", + "perceptron.fit(X, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x_points = np.linspace(4, 7, 10)\n", + "y_ = -(perceptron.w[0] * x_points + perceptron.b) / perceptron.w[1]\n", + "plt.plot(x_points, y_)\n", + "\n", + "plt.plot(data[:50, 0], data[:50, 1], 'bo', color='blue', label='0')\n", + "plt.plot(data[50:100, 0], data[50:100, 1], 'bo', color='orange', label='1')\n", + "plt.xlabel('sepal length')\n", + "plt.ylabel('sepal width')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### scikit-learn实例" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "import sklearn\n", + "from sklearn.linear_model import Perceptron" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0.21.2'" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sklearn.__version__" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Perceptron(alpha=0.0001, class_weight=None, early_stopping=False, eta0=1.0,\n", + " fit_intercept=True, max_iter=1000, n_iter_no_change=5, n_jobs=None,\n", + " penalty=None, random_state=0, shuffle=True, tol=0.001,\n", + " validation_fraction=0.1, verbose=0, warm_start=False)" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "clf = Perceptron(fit_intercept=True, \n", + " max_iter=1000, \n", + " shuffle=True)\n", + "clf.fit(X, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 23.2 -38.7]]\n" + ] + } + ], + "source": [ + "# Weights assigned to the features.\n", + "print(clf.coef_)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[-5.]\n" + ] + } + ], + "source": [ + "# 截距 Constants in decision function.\n", + "print(clf.intercept_)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# 画布大小\n", + "plt.figure(figsize=(10,10))\n", + "\n", + "# 中文标题\n", + "plt.rcParams['font.sans-serif']=['SimHei']\n", + "plt.rcParams['axes.unicode_minus'] = False\n", + "plt.title('鸢尾花线性数据示例')\n", + "\n", + "plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n", + "plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n", + "\n", + "# 画感知机的线\n", + "x_ponits = np.arange(4, 8)\n", + "y_ = -(clf.coef_[0][0]*x_ponits + clf.intercept_)/clf.coef_[0][1]\n", + "plt.plot(x_ponits, y_)\n", + "\n", + "# 其他部分\n", + "plt.legend() # 显示图例\n", + "plt.grid(False) # 不显示网格\n", + "plt.xlabel('sepal length')\n", + "plt.ylabel('sepal width')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**注意 !**\n", + "\n", + "在上图中,有一个位于左下角的蓝点没有被正确分类,这是因为 SKlearn 的 Perceptron 实例中有一个`tol`参数。\n", + "\n", + "`tol` 参数规定了如果本次迭代的损失和上次迭代的损失之差小于一个特定值时,停止迭代。所以我们需要设置 `tol=None` 使之可以继续迭代:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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VVzs9HRNmBD6gfVSO4GOnTGmwFobMIFqjJeIiEiMycxU0IpVOtUoIiIiEiEKXiIiIiIRouAlIiIiEiEKXiIiIiIRouAlIuICt++1JxJItNwkuy7OppbBgweHrpBaUvASEYmwynvtFRWBtSfvtafwJbW2yQevpsGsBGe6KbJvnnDfJLsuoqmW2lDwEhGJsEjea0/i0CYf5GVBSRFgnWleVljC1+DBg/nZz37Gd77zna+1Vzp69Cg33HADgwYN4uabb6asrCzguiZMmMCrr74KwNNPP83cuXMpKSlhyJAhDBo0iPvuuy/o61b3GqfWUlpayh133MGVV17JDTfcQElJCceOHePOO+/kqquuIjMzk+PHjwesL9hywfbBmVLwEhGJsEjea0/i0LJHoLxKci8vcdpDLJQ3yR46dChvvfUWAB999BHXX399wJtkB3rdQK8RSE5ODj179uSTTz7h1ltvZeXKlQFvsB1IsOVqsw/qQhdQFRGJsJQU5/RioHaRGpUESejB2s9CKG+SDbB582YOHjxIixYtaNy4cdCbZFd93UCvEciaNWu49dZbARg5ciQA06dP/9oNtgMJdCPu2u6DulCPl4hIhEXbvfYkxniDJPRg7WchlDfJBujfvz/PPvssP/jBDwCC3iS76uvW9jUuueQSFi1aBMCvf/1rJk+eHPAG24EEW642+6AuFLxERCIsMxNyciA1FYxxpjk5ugWM1FLPCeCpktw9XqfdBbW9STbA0KFDefbZZ7nhhhsAgt4k+0xfY+zYsSxevJjBgwezePFihg8fHvAG24HUdrmzpZtki4iIuKyuN8lmk88Z01VS7PR09ZwAnZTc3aCbZIuIiMS7TpkKWjFKpxpFRESiQCycgZLTnckxU/ASERFxWXJyMnv27FH4iiHWWvbs2UNycnKdnqdTjSIiIi7r2LEjmzdvZteuXW6XInWQnJxMx44d6/QcBS8RERGXJSUl0alTJ7fLkAjQqUYRERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGJe7sOHXO7BEDBS0REROLcnEVf8o1n3qegaK/bpSh4iYiISPya/PFGHvzncvqlteLS9s3cLkf3ahQREZH4Y63lj++u57n31vPdbufy7B29aJjocbssBS8RERGJLxUV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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "clf = Perceptron(fit_intercept=True, \n", + " max_iter=1000,\n", + " tol=None,\n", + " shuffle=True)\n", + "clf.fit(X, y)\n", + "\n", + "# 画布大小\n", + "plt.figure(figsize=(10,10))\n", + "\n", + "# 中文标题\n", + "plt.rcParams['font.sans-serif']=['SimHei']\n", + "plt.rcParams['axes.unicode_minus'] = False\n", + "plt.title('鸢尾花线性数据示例')\n", + "\n", + "plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n", + "plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n", + "\n", + "# 画感知机的线\n", + "x_ponits = np.arange(4, 8)\n", + "y_ = -(clf.coef_[0][0]*x_ponits + clf.intercept_)/clf.coef_[0][1]\n", + "plt.plot(x_ponits, y_)\n", + "\n", + "# 其他部分\n", + "plt.legend() # 显示图例\n", + "plt.grid(False) # 不显示网格\n", + "plt.xlabel('sepal length')\n", + "plt.ylabel('sepal width')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "现在可以看到,所有的两种鸢尾花都被正确分类了。\n", + "\n", + "----\n", + "参考代码:https://github.com/wzyonggege/statistical-learning-method\n", + "\n", + "中文注释制作:机器学习初学者\n", + "\n", + "微信公众号:ID:ai-start-com\n", + "\n", + "配置环境:python 3.5+\n", + "\n", + "代码全部测试通过。\n", + "![gongzhong](../gongzhong.jpg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb" "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb" index 5a5ad71..96bbe8d 100644 --- "a/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb" +++ "b/\347\254\25402\347\253\240 \346\204\237\347\237\245\346\234\272/2.Perceptron.ipynb" @@ -78,7 +78,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -91,7 +91,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -115,7 +115,7 @@ "Name: label, dtype: int64" ] }, - "execution_count": 3, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -129,27 +129,29 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 4, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEDCAYAAADdpATdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAeK0lEQVR4nO3df5QV9Znn8feTtg29GmggHWcAHTCH5awrELWDMAZC/EU0JmGZCcZx1pgx427WSc4czrrikbiuh4xuzJDdZMecY8LEGZOQ4MRwVI6jExWjjr8aiQ27O2wyrD/AaFoUMhDMsJ1n/6h76aa5t/tW3/re+62qz+ucPvSt/nb1U3Xp596u+nyrzN0REZFyeUe7CxARkdZT8xcRKSE1fxGRElLzFxEpITV/EZESUvMXESmh40Ks1MxOAv7W3c+o8bXjgF2VD4DPufv20db37ne/22fOnJl5nSIiRbZ169Y33L2n1teCNH/gy0BXna/NAza4+3WNrmzmzJn09fVlUpiISFmY2Uv1vpb5YR8zOxc4CLxWZ8hC4BIze9bM1lf+EhARkRbKtPmb2fHAF4DVowx7Djjf3RcAncDFddZ1tZn1mVnfwMBAlmWKiJRe1u/8VwO3u/u+Ucb0u/vPK5/3AbNrDXL3O9y91917e3pqHrISEZFxyvqQy/nAuWZ2DfA+M/umu39mxJi7zOyLwA5gOfBnGdcgIpKpw4cPs3v3bt5+++12l1LThAkTmDFjBp2dnQ1/T6bN392XVD83sy3AOjNb6+5rhg27GfguYMC97v6jLGsQEcna7t27ede73sXMmTMxs3aXcxR3Z+/evezevZtZs2Y1/H3BTra6+9LKp2tGLN9BkvgREcmFt99+O8rGD2BmTJ06lbTnRpW0EcnQpm17uO3Bnby67xDTuru4dtkclp8xvd1lSQZibPxV46lNzV8kI5u27eH6e7Zz6PAgAHv2HeL6e5L5i3oBkNjo8g4iGbntwZ1HGn/VocOD3PbgzjZVJEVy1VVXsWjRItauXZvJ+tT8RTLy6r5DqZZLcW3atodzbn2EWas3c86tj7Bp256m1nfPPfcwODjIU089xa5du/jpT3/adI1q/iIZmdZd+4om9ZZLMVUP/+3Zdwhn6PBfMy8AW7ZsYeXKlQBceOGFPPHEE03XqeYvkpFrl82hq7PjqGVdnR1cu2xOmyqSdghx+O/gwYNMn56cN5oyZQqvv/56UzWCTviKZKZ6Uldpn3ILcfjvxBNP5NCh5PsPHDjAb37zm3Gvq0rNXyRDy8+YrmZfctO6u9hTo9E3c/jvrLPO4oknnmDhwoW88MILzJnT/F+Tav4iIhm6dtmcoyK/0Pzhv+XLl7N48WJeffVVHnjgAZ5++umm69QxfxGRDC0/Yzq3rJjL9O4uDJje3cUtK+Y29RfhxIkT2bJlCwsXLuTRRx9l0qRJTdepd/4iIhkLcfhv8uTJRxI/WdA7fxGRElLzFxEpITV/EZESUvMXESkhNX8RkZx4/fXXWbx4cSbrUvMXEcla/0b4yulwU3fyb//Gplf51ltv8alPfYqDBw9mUKCav5RU1lddFDmifyPc93nY/wrgyb/3fb7pF4COjg6+//3vM3HixEzKVPOX0glx1UWRIx6+GQ6PuLzD4UPJ8iZMnDgxk8ldVWr+Ujq66YoEtX93uuVtouYvpaObrkhQk2akW94mav5SOrrpigR13o3QOeL/UmdXsjwiav5SOrrpigQ1byV89Ksw6WTAkn8/+tVkeQa2bNmSyXp0YTcpHd10RYKbtzKzZh+Kmr+Ukm66Imm5O2bW7jJqcvfU36PmLy21adseveOW3JkwYQJ79+5l6tSp0b0AuDt79+5lwoQJqb5PzV9appqvr8Ysq/l6QC8AErUZM2awe/duBgYG2l1KTRMmTGDGjHRpIjV/aZnR8vVq/hKzzs5OZs2a1e4yMqW0j7SM8vUi8VDzl5ZRvl4kHmr+0jLK14vEQ8f8pWWUrxeJh5q/tJTy9SJxCNL8zewk4G/d/Yw6X18PnAZsdve1IWoQiZ3mPEg7hTrm/2Wg5lk8M1sBdLj7IuBUM5sdqAaRaOmeAtJumTd/MzsXOAi8VmfIUqB6S5uHgA9kXYNI7HRPAWm3TJu/mR0PfAFYPcqwE4Dq25s3gZPqrOtqM+szs75YZ9WJjJfmPEi7Zf3OfzVwu7vvG2XMAYYOCZ1YrwZ3v8Pde929t6enJ+MyRdpLcx6k3bJu/ucD15jZFuB9ZvbNGmO2MnSoZz7wYsY1iERPcx6k3TJN+7j7kurnlReAdWa21t3XDBu2CXjczKYBFwELs6xBJA8050HazcZzHeimf6jZZOAC4MfuXu/E8BG9vb3e19cXvjARkQIxs63u3lvra22Z5OXubzGU+BFp2ppN29nwzCsMutNhxmVnn8za5XPbXZZItDTDV3JvzabtfPvpl488HnQ/8lgvACK16cJuknsbnnkl1XIRUfOXAhisc96q3nIRUfOXAuioc0/VestFRM1fCuCys09OtVxEdMJXCqB6UldpH5HGtSXnn5Zy/iIi6UWX85diufwbT/HkP7555PE5753Cd/54URsrah9do1/yQsf8pSkjGz/Ak//4Jpd/46k2VdQ+uka/5ImavzRlZOMfa3mR6Rr9kidq/iIZ0TX6JU/U/EUyomv0S56o+UtTznnvlFTLi0zX6Jc8UfOXpnznjxcd0+jLmvZZfsZ0blkxl+ndXRgwvbuLW1bMVdpHoqScv4hIQSnnL0GFyranWa/y9SLpqPlLU6rZ9mrEsZptB5pqvmnWG6oGkSLTMX9pSqhse5r1Kl8vkp6avzQlVLY9zXqVrxdJT81fmhIq255mvcrXi6Sn5i9NCZVtT7Ne5etF0tMJX2lK9YRq1kmbNOsNVYNIkSnnLyJSUMr5t1ksGXTl5kWkSs0/sFgy6MrNi8hwOuEbWCwZdOXmRWQ4Nf/AYsmgKzcvIsOp+QcWSwZduXkRGU7NP7BYMujKzYvIcDrhG1gsGXTl5kVkuCA5fzObApwFbHP3N5pdn3L+IiLptTTnb2aTgfuBzcA6MzvX3QdGjDkO2FX5APicu2/PuhYZvzWbtrPhmVcYdKfDjMvOPpm1y+c2PTaW+QOx1CHSLiEO+8wDVrn705UXgjOBB2uM2eDu1wX4+dKkNZu28+2nXz7yeND9yOORTT3N2FjmD8RSh0g7jXnC18xOM7PVZnZj9WO08e7+WKXxLwEWAE/VGLYQuMTMnjWz9ZW/BCQSG555peHlacbGMn8gljpE2qmRtM9GYDfw2LCPUZmZAZcCbwGHawx5Djjf3RcAncDFNdZxtZn1mVnfwMDAMSuQcAbrnAeqtTzN2FjmD8RSh0g7NdL8Xyc5RPNY9WOsb/DENUA/8LEaQ/rd/eeVz/uA2TXWcYe797p7b09PTwNlSlY6zBpenmZsLPMHYqlDpJ3qNn8zu8LMrgBeAB41s88OW1aXmV03bEw3sK/GsLvMbL6ZdQDLKz9DInHZ2Sc3vDzN2FjmD8RSh0g7jXasvfrW7QWGmrMBY2VD7wA2mtlngB3AbjNb6+5rho25GfhuZX33uvuPUlcuwVRP1DaS4EkzNpb5A7HUIdJOY+b8zWyqu+8d9nilu28MXtkwyvmLiKTXbM7/buDcYY+vITkJLA0KlSlPk68Pue4Y7hMQcl/kTv9GePhm2L8bJs2A826EeSvbXZVEpm7zN7MPAkuBmcPinSeQJHikQaEy5Wny9SHXHcN9AkLui9zp3wj3fR4OV5JL+19JHoNeAOQoo6V9XgS2APsZinj+APhE8KoKJFSmPE2+PuS6Y7hPQMh9kTsP3zzU+KsOH0qWiwxT952/u78EvGRm32ok3im1hcqUp8nXh1x3DPcJCLkvcmf/7nTLpbRGO+xTjWvuGxnvdPe/DlpVgUzr7mJPjebWbKa8w6xmc6uXuw+17jTbl8d9kTuTZiSHemotFxlmtMM+Vvn4A+ADwARgETBqzl+OFipTniZfH3LdMdwnIOS+yJ3zboTOES+mnV3JcpFhRjvs81eQ/AXg7ldXl5vZI60orChCZcrT5OtDrjuG+wSE3Be5Uz2pq7SPjKGRnP89JCd/XwD+NTDH3T8evrQhyvmLiKTXbM5/JbACmAVsA9aMPlyKIIbsvuSc5htEbczm7+7/D03qKpUYsvuSc5pvED3dwF2OEUN2X3JO8w2iN1rUc527rzKzRxm6mJuRXLH53HrfJ/kXQ3Zfck7zDaI3WtpnVeXfD7WuHIlBDNl9yTnNN4ieDvvIMWLI7kvOab5B9MY84WtmzwH/G9gKPA9sc/cDoQuT9okhuy85p/kG0Wvoev7AR0gu6HYe8JK7/6sW1HaEcv4iIuk1m/PfCTwJ3Af8SeWCb4UUKq+eZr2xXJde2f3IFD0zX/TtS6NF+6KR5j+b5J3/SuB/mNkb7j4t80raLFRePc16Y7kuvbL7kSl6Zr7o25dGC/dFIyd8vw+cDnwHOL2IjR/C5dXTrDeW69Irux+Zomfmi759abRwXzQyw/fCzH9qhELl1dOsN5br0iu7H5miZ+aLvn1ptHBfKOpZUS+X3mxePc16611/vtXXpQ+1L2Sc6mXji5KZL/r2pdHCfaHmXxEqr55mvbFcl17Z/cgUPTNf9O1Lo4X7opETvqUQKq+eZr2xXJde2f3IFD0zX/TtS6OF+2LMnH8MlPMXEUmv2Zy/NCmG+QMQzxwCkWjdvwq23gk+CNYBZ10Jl6xrfr0RzmNQ8w8shvkDEM8cApFo3b8K+tYPPfbBocfNvABEOo+h7glfM3vUzB4Z8fGo7uGbTgzzByCeOQQi0dp6Z7rljYp0HsNol3TWpZwzEMP8AYhnDoFItHww3fJGRTqPQVHPwGKYPwDxzCEQiZZ1pFveqEjnMYzZ/M2sw8zeb2ZLKh+XtaKwoohh/gDEM4dAJFpnXZlueaMincfQyAnfvwH+CZgFvApMBjaELKpIYpg/APHMIRCJVvWkbtZpn0jnMTRyPf/HgaXARnf/PTN73N0Xt6K4KuX8RUTSazbn/zLJ5Zx/bWbXAxMb+IFTgLNI7vr1Rppis5YmC5+3a9inze0XeV8EzVGnyX6HqiPk9kWYQc9Umu0r+r4YppF3/u8ApgKHgRXAk+5eN6doZpOBzZWPTwLnuvtAjXHrgdOAze6+drQaxvvOf2QWHpLj4resmHtMI0szNgYjc/tVf7jwlJovAEXeF8fkqCE5pvrRrzb/izsy+13Ve9WxLwCh6gi5fSHXHYM021fAfTHaO/9G0z4fAD4NDAD/Z4yx84BV7v5F4EHgzBoFrQA63H0RcKqZzW6wjlTSZOHzdg37tLn9Iu+LoDnqNNnvUHWE3L5IM+iZSbN9Rd8XIzTS/L9Hcu/eg8DFJDd1qcvdH3P3p81sCbAAeKrGsKXAxsrnD5G8uBzFzK42sz4z6xsYOOYPh4akycLn7Rr2aXP7Rd4XQXPUabLfoeoIuX2RZtAzk2b7ir4vRmik+b/H3f/E3e9w988Cvz3WN5iZAZcCb5EcLhrpBGBP5fM3gZNGDqj8vF537+3p6WmgzGOlycLn7Rr2aXP7Rd4XQXPUabLfoeoIuX2RZtAzk2b7ir4vRmik+f/KzFab2QVmdgOwv/Kuvi5PXAP0Ax+rMeQAUO0kJzZYR2ppsvB5u4Z92tx+kfdF0Bx1mux3qDpCbl+kGfTMpNm+ou+LERppus8A7wR+lyQdtI3ksE1NZnadmV1RedgN7KsxbCtDh3rmAy82Vm46y8+Yzi0r5jK9uwsDpnd31T1pmWZsDNYun8sfLjzlyDv9DrO6J3uh2PuCeSuTk3KTTgYs+Terk3SXrEtO7lbf6VtH7ZO9IesIuX0h1x2DNNtX9H0xQkPX8zez04HpJLHPV9z9wChjJ5Mcz38nsAP4C+Ayd18zbMxE4HHgYeAiYKG776+3TuX8RUTSayrnb2ZfA6aRzPD9AvBfqX0oBwB3fwu4YMTiNSPG/NLMllbGfWm0xi8iItlr5LDPXHf/PWCfu28GJmXxg939LXff6O6vZbG+LGzatodzbn2EWas3c86tj7Bp256xv0mKr38jfOV0uKk7+bd/YzZjQ0lbQwzbF3K/xfCcRKiRGb4DZnYjMNnMPgVE06yzFOqmK5JzaW7EEcNNO9LWEMP2hdxvMTwnkWrknf8VwH6SvP4kkslehZO7iU3SGnmbJJS2hhi2T5PY2qKRd/6/Br4FHCJJ6DR5ces45W5ik7RG3iYJpa0hhu3TJLa2aOSd/93AEmAd8Bngh0ErapPcTWyS1sjbJKG0NcSwfZrE1haNNP+p7n4/MNvdL2doclah5G5ik7RG3iYJpa0hhu3TJLa2aKT5/5OZbQK2mtnFJDd2KZzcTWyS1sjbJKG0NcSwfZrE1haNXNJ5AnCauz9vZvOBF1udy9ckLxGR9Jqa5OXubwPPVz5/IePaRIolzY1fYpG3mmO54UosdYxTI2kfEWnEyBu/+ODQ41ibad5qjiW3H0sdTQhyNU2RUkpz45dY5K3mWHL7sdTRBDV/kaykufFLLPJWcyy5/VjqaIKav0hW0tz4JRZ5qzmW3H4sdTRBzV8kK2lu/BKLvNUcS24/ljqaoOYvkpU0N36JRd5qjiW3H0sdTWjoZi7tppy/iEh6TeX8RTKVx2x0qJpD5evzuI+l5dT8pXXymI0OVXOofH0e97G0hY75S+vkMRsdquZQ+fo87mNpCzV/aZ08ZqND1RwqX5/HfSxtoeYvrZPHbHSomkPl6/O4j6Ut1PyldfKYjQ5Vc6h8fR73sbSFmr+0Th6z0aFqDpWvz+M+lrZQzl9EpKBGy/nrnb+UU/9G+MrpcFN38m//xtavN1QNIg1Qzl/KJ1QWPs16lceXNtM7fymfUFn4NOtVHl/aTM1fyidUFj7NepXHlzZT85fyCZWFT7Ne5fGlzdT8pXxCZeHTrFd5fGkzNX8pn1BZ+DTrVR5f2kw5fxGRgmppzt/MJpnZA2b2kJn90MyOrzHmODN72cy2VD7mZl2HtFAe8+rK44en/Ra1EDn/y4F17v53ZvZ14MPAvSPGzAM2uPt1AX6+tFIe8+rK44en/Ra9zN/5u/vt7v53lYc9wC9qDFsIXGJmz5rZejPTZLO8ymNeXXn88LTfohfshK+ZLQImu/vTNb78HHC+uy8AOoGLa3z/1WbWZ2Z9AwMDocqUZuUxr648fnjab9EL0vzNbArwNeCP6gzpd/efVz7vA2aPHODud7h7r7v39vT0hChTspDHvLry+OFpv0UvxAnf44G7gevd/aU6w+4ys/lm1gEsB17Iug5pkTzm1ZXHD0/7LXoh3vlfBZwJ3FBJ8vxnM1s7YszNwF3AT4Cn3P1HAeqQVshjXl15/PC036KnnL+ISEGNlvNXyqZM+jcmaYv9u5Njr+fdWN53Yvevgq13JjdMt47k9onN3kVLJEfU/MtCuesh96+CvvVDj31w6LFeAKQkdG2fslDuesjWO9MtFykgNf+yUO56iA+mWy5SQGr+ZaHc9RDrSLdcpIDU/MtCueshZ12ZbrlIAan5l4Vy10MuWQe9Vw2907eO5LFO9kqJKOcvIlJQyvkHsGnbHm57cCev7jvEtO4url02h+VnTG93Wdkp+pyAom9fDLSPo6bmPw6btu3h+nu2c+hwkg7Zs+8Q19+zHaAYLwBFnxNQ9O2LgfZx9HTMfxxue3DnkcZfdejwILc9uLNNFWWs6HMCir59MdA+jp6a/zi8uu9QquW5U/Q5AUXfvhhoH0dPzX8cpnV3pVqeO0WfE1D07YuB9nH01PzH4dplc+jqPHpCUFdnB9cum9OmijJW9DkBRd++GGgfR08nfMehelK3sGmf6gm5oiY1ir59MdA+jp5y/iIiBTVazl+HfUSKpn8jfOV0uKk7+bd/Yz7WLS2lwz4iRRIyX6/sfqHonb9IkYTM1yu7Xyhq/iJFEjJfr+x+oaj5ixRJyHy9svuFouYvUiQh8/XK7heKmr9IkYS8b4PuCVEoyvmLiBSUcv4iInIUNX8RkRJS8xcRKSE1fxGRElLzFxEpITV/EZESUvMXESkhNX8RkRJS85fadN12kULL/Hr+ZjYJ+B7QARwELnX3f64xbj1wGrDZ3ddmXYc0QddtFym8EO/8LwfWufuFwGvAh0cOMLMVQIe7LwJONbPZAeqQ8dJ120UKL/N3/u5++7CHPcAvagxbClSPIzwEfAD46fABZnY1cDXAKaecknWZMhpdt12k8IId8zezRcBkd3+6xpdPAPZUPn8TOGnkAHe/w9173b23p6cnVJlSi67bLlJ4QZq/mU0Bvgb8UZ0hB4DqhcFPDFWHjJOu2y5SeJk3XTM7HrgbuN7dX6ozbCvJoR6A+cCLWdchTdB120UKL/Nj/sBVwJnADWZ2A/Ao0Onua4aN2QQ8bmbTgIuAhQHqkGbMW6lmL1JgIU74fh34+hhjfmlmS4ELgC+5+/6s6xARkfpCvPNviLu/xVDiR0REWkgnWkVESkjNX0SkhNT8RURKSM1fRKSE1PxFREpIzV9EpITM3dtdw5jMbACoN1u43d4NvNHuIgLS9uVXkbcNtH2N+B13r3lxtFw0/5iZWZ+797a7jlC0fflV5G0DbV+zdNhHRKSE1PxFREpIzb95d7S7gMC0fflV5G0DbV9TdMxfRKSE9M5fRKSE1PwbZGYnmdm2Ol87zsxeNrMtlY+5ra5Pamv0uTGznwwbc0Gr65TRmdntZvbROl/T7984tO2Szjn0ZYZuPTnSPGCDu1/XwnoyYWbHAbsqHwCfc/ftNcb9F+Bi4Fl3v6aFJTZrzOfGzKYC/+Dun2xdWdkys9uBB9z9vjpfXw+cBmx297UtLa5JZrYY+K1620a+f/8+C1xaedgNPOPu/67GuMyfP73zb4CZnQscBF6rM2QhcImZPWtm6ysNNS+qvzhLKx+1Gv9ZJLfdXAD8wszOb3WRTWjkuTkbWGBmf29mm8zsXS2usSljNUczWwF0uPsi4FQzm93SAptgZp3AN4AXzezjdYbl9vfP3b9e/d0DHifZ1qOEev7U/MdQuSfxF4DVowx7Djjf3RcAnSTvkPOikV+cDwI/8CQd8CCwuKUVNqeR52YXsMzdfxfoBz7dwvqa0mBzXMrQjZMeYuj+2XlwBfC/gC+RvEB/rsaYPP/+AWBm04GT3L2vxpeXEuD5U/Mf22rgdnffN8qYfnf/eeXzPiA376xo7BfnBGBP5fM3gZNaVFsWGnludgE/G2NMrBppjnl+/s4A7nD314BvAx+qMSbPv39V11D/9rdBnj81/7GdD1xjZluA95nZN2uMucvM5ptZB7AceKGVBTapkV+cAwyd7ziRfP2/aeS5+SJQPZn4+3XGxKqR5pjn5+9nwKmVz3upfY2vPP/+YWbvIHnettQZEuT5y9N/grZw9yXDjsn9BFhnZiNPuNwM3FX5+lPu/qMWl9mMRn5xtjL0p+Z84MUW1ZaFo54b4PkaL+DrgBvMbAfwa+CvWltiUxppjnl+/tYDHzKzHwP/Afibgv3+QXIY9RmvP+kqyPOnSV4lZ2anA98FDLgX+HPgS+7+mWFj3kFyMqoP+DDwYXf/v20oV0aonJz+S5JDAZ3AfwQucvc1w8ZMJHn+HgYuAha6+/42lCs1mNmfAX3ufo+ZnQb8QSuePzV/aYiZdQEfAZ53911jjZe4mNlk4ALgx5VDRJIjIZ4/NX8RkRLSMX8RkRJS8xcRKSE1f5ExVGK+mY1rcF0zzWzpsMdXmtmVWa1fRM1fJE4zSWZ2igSRm2tgiIylkki6G5gI7AU+ARwP/DXwHmC7u19jZjeRXM/nXwADwCcBJ8mK/w7JTbN/390PN1GLkdyM419WfsalwL8lyWnPB34LWAn8T5LJWe8lmcX5UuXj00B35d3/JyqrnW9mj1S/1913jLc+Eb3zlyI5DfiNuy8BvkUyG/JqYEdl2W+b2bzK2Mfd/YPA68DHganAZpLrGP0SOLPJWj4OdFZ+xsskMVmA9wPLgFuBjwGTgfe4+0Jglruvcvf/DvwpcGdlguFAne8VGTc1fymS54EdZvYQSZP8FTAH+DeV4/GnAtMrY7dW/u0nOcRyGLiE5C+HU6l/+e5GzQEWVX7uEoaux7Kh8hfFyyR/lfwKeKeZPQN8Z4x1jvxekXFT85cimQ886e4XkryjXgzsBP5b5fIca0gaJySXp4bk2jg/A1YAOyr/7qF5O4HvVX7un5JcfA2SS4MPtwD4obuf7e5/Pmz5IZLDUtVDSLW+V2Tc1PylSF4EPm9mf09yXLyP5HLHF1WuDfPvgVcqY99feVfeDdwPPElyXP4JYApDfyGM173ANDN7DFhL7WvuAPwDsMrMHjWzH1SuzQ+wDZhjZo8zdLMPkcxohq+UTuWE7xZ339LmUjCzjwD/Cfhnknf733X377W3KikDNX8RkRLSYR8RkRJS8xcRKSE1fxGRElLzFxEpITV/EZESUvMXESmh/w+IbF1PZaOcwgAAAABJRU5ErkJggg==\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -163,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -172,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ @@ -181,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -197,7 +199,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -236,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -245,7 +247,7 @@ "'Perceptron Model!'" ] }, - "execution_count": 9, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -257,27 +259,29 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 10, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -302,55 +306,70 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ + "import sklearn\n", "from sklearn.linear_model import Perceptron" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 53, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\stochastic_gradient.py:183: FutureWarning: max_iter and tol parameters have been added in Perceptron in 0.19. If max_iter is set but tol is left unset, the default value for tol in 0.19 and 0.20 will be None (which is equivalent to -infinity, so it has no effect) but will change in 0.21 to 1e-3. Specify tol to silence this warning.\n", - " FutureWarning)\n" - ] - }, + "data": { + "text/plain": [ + "'0.21.2'" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sklearn.__version__" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ { "data": { "text/plain": [ "Perceptron(alpha=0.0001, class_weight=None, early_stopping=False, eta0=1.0,\n", - " fit_intercept=False, max_iter=1000, n_iter=None, n_iter_no_change=5,\n", - " n_jobs=None, penalty=None, random_state=0, shuffle=False, tol=None,\n", - " validation_fraction=0.1, verbose=0, warm_start=False)" + " fit_intercept=True, max_iter=1000, n_iter_no_change=5, n_jobs=None,\n", + " penalty=None, random_state=0, shuffle=True, tol=0.001,\n", + " validation_fraction=0.1, verbose=0, warm_start=False)" ] }, - "execution_count": 12, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "clf = Perceptron(fit_intercept=False, max_iter=1000, shuffle=False)\n", + "clf = Perceptron(fit_intercept=True, \n", + " max_iter=1000, \n", + " shuffle=True)\n", "clf.fit(X, y)" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[[ 74.6 -127.2]]\n" + "[[ 23.2 -38.7]]\n" ] } ], @@ -361,14 +380,14 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[0.]\n" + "[-5.]\n" ] } ], @@ -379,37 +398,122 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 15, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# 画布大小\n", + "plt.figure(figsize=(10,10))\n", + "\n", + "# 中文标题\n", + "plt.rcParams['font.sans-serif']=['SimHei']\n", + "plt.rcParams['axes.unicode_minus'] = False\n", + "plt.title('鸢尾花线性数据示例')\n", + "\n", + "plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n", + "plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n", + "\n", + "# 画感知机的线\n", + "x_ponits = np.arange(4, 8)\n", + "y_ = -(clf.coef_[0][0]*x_ponits + clf.intercept_)/clf.coef_[0][1]\n", + "plt.plot(x_ponits, y_)\n", + "\n", + "# 其他部分\n", + "plt.legend() # 显示图例\n", + "plt.grid(False) # 不显示网格\n", + "plt.xlabel('sepal length')\n", + "plt.ylabel('sepal width')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**注意 !**\n", + "\n", + "在上图中,有一个位于左下角的蓝点没有被正确分类,这是因为 SKlearn 的 Perceptron 实例中有一个`tol`参数。\n", + "\n", + "`tol` 参数规定了如果本次迭代的损失和上次迭代的损失之差小于一个特定值时,停止迭代。所以我们需要设置 `tol=None` 使之可以继续迭代:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 63, "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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VVzs9HRNmBD6gfVSO4GOnTGmwFobMIFqjJeIiEiMycxU0IpVOtUoIiIiEiEKXiIiIiIRouAlIiIiEiEKXiIiIiIRouAlIuICt++1JxJItNwkuy7OppbBgweHrpBaUvASEYmwynvtFRWBtSfvtafwJbW2yQevpsGsBGe6KbJvnnDfJLsuoqmW2lDwEhGJsEjea0/i0CYf5GVBSRFgnWleVljC1+DBg/nZz37Gd77zna+1Vzp69Cg33HADgwYN4uabb6asrCzguiZMmMCrr74KwNNPP83cuXMpKSlhyJAhDBo0iPvuuy/o61b3GqfWUlpayh133MGVV17JDTfcQElJCceOHePOO+/kqquuIjMzk+PHjwesL9hywfbBmVLwEhGJsEjea0/i0LJHoLxKci8vcdpDLJQ3yR46dChvvfUWAB999BHXX399wJtkB3rdQK8RSE5ODj179uSTTz7h1ltvZeXKlQFvsB1IsOVqsw/qQhdQFRGJsJQU5/RioHaRGpUESejB2s9CKG+SDbB582YOHjxIixYtaNy4cdCbZFd93UCvEciaNWu49dZbARg5ciQA06dP/9oNtgMJdCPu2u6DulCPl4hIhEXbvfYkxniDJPRg7WchlDfJBujfvz/PPvssP/jBDwCC3iS76uvW9jUuueQSFi1aBMCvf/1rJk+eHPAG24EEW642+6AuFLxERCIsMxNyciA1FYxxpjk5ugWM1FLPCeCpktw9XqfdBbW9STbA0KFDefbZZ7nhhhsAgt4k+0xfY+zYsSxevJjBgwezePFihg8fHvAG24HUdrmzpZtki4iIuKyuN8lmk88Z01VS7PR09ZwAnZTc3aCbZIuIiMS7TpkKWjFKpxpFRESiQCycgZLTnckxU/ASERFxWXJyMnv27FH4iiHWWvbs2UNycnKdnqdTjSIiIi7r2LEjmzdvZteuXW6XInWQnJxMx44d6/QcBS8RERGXJSUl0alTJ7fLkAjQqUYRERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGRCFHwEhEREYkQBS8RERGJe7sOHXO7BEDBS0REROLcnEVf8o1n3qegaK/bpSh4iYiISPya/PFGHvzncvqlteLS9s3cLkf3ahQREZH4Y63lj++u57n31vPdbufy7B29aJjocbssBS8RERGJLxUV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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ + "clf = Perceptron(fit_intercept=True, \n", + " max_iter=1000,\n", + " tol=None,\n", + " shuffle=True)\n", + "clf.fit(X, y)\n", + "\n", + "# 画布大小\n", + "plt.figure(figsize=(10,10))\n", + "\n", + "# 中文标题\n", + "plt.rcParams['font.sans-serif']=['SimHei']\n", + "plt.rcParams['axes.unicode_minus'] = False\n", + "plt.title('鸢尾花线性数据示例')\n", + "\n", + "plt.scatter(data[:50, 0], data[:50, 1], c='b', label='Iris-setosa',)\n", + "plt.scatter(data[50:100, 0], data[50:100, 1], c='orange', label='Iris-versicolor')\n", + "\n", + "# 画感知机的线\n", "x_ponits = np.arange(4, 8)\n", "y_ = -(clf.coef_[0][0]*x_ponits + clf.intercept_)/clf.coef_[0][1]\n", "plt.plot(x_ponits, y_)\n", "\n", - "plt.plot(data[:50, 0], data[:50, 1], 'bo', color='blue', label='0')\n", - "plt.plot(data[50:100, 0], data[50:100, 1], 'bo', color='orange', label='1')\n", + "# 其他部分\n", + "plt.legend() # 显示图例\n", + "plt.grid(False) # 不显示网格\n", "plt.xlabel('sepal length')\n", "plt.ylabel('sepal width')\n", "plt.legend()" @@ -419,6 +523,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "现在可以看到,所有的两种鸢尾花都被正确分类了。\n", + "\n", "----\n", "参考代码:https://github.com/wzyonggege/statistical-learning-method\n", "\n", @@ -431,6 +537,13 @@ "代码全部测试通过。\n", "![gongzhong](../gongzhong.jpg)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -449,7 +562,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.4" + "version": "3.6.8" } }, "nbformat": 4,