{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import sys\n", "sys.path.append('/Users/kaonpark/workspace/github.com/likejazz/kaon-learn')\n", "import kaonlearn\n", "from kaonlearn.plots import plot_decision_regions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Perceptron" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "from sklearn.datasets import load_iris\n", "from sklearn.linear_model import Perceptron\n", "\n", "iris = load_iris()\n", "X = iris.data[:, (2, 3)] # petal length, petal width\n", "y = (iris.target == 0).astype(np.int) # Iris Setosa?\n", "\n", "per_clf = Perceptron(random_state=42)\n", "per_clf.fit(X, y)\n", "\n", "y_pred = per_clf.predict([[2, 0.5]])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1])" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_decision_regions(X, y, clf=per_clf)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.4, 0.2],\n", " [ 1.4, 0.2],\n", " [ 1.3, 0.2],\n", " [ 1.5, 0.2],\n", " [ 1.4, 0.2],\n", " [ 1.7, 0.4],\n", " [ 1.4, 0.3],\n", " [ 1.5, 0.2],\n", " [ 1.4, 0.2],\n", " [ 1.5, 0.1],\n", " [ 1.5, 0.2],\n", " [ 1.6, 0.2],\n", " [ 1.4, 0.1],\n", " [ 1.1, 0.1],\n", " [ 1.2, 0.2],\n", " [ 1.5, 0.4],\n", " [ 1.3, 0.4],\n", " [ 1.4, 0.3],\n", " [ 1.7, 0.3],\n", " [ 1.5, 0.3],\n", " [ 1.7, 0.2],\n", " [ 1.5, 0.4],\n", " [ 1. , 0.2],\n", " [ 1.7, 0.5],\n", " [ 1.9, 0.2],\n", " [ 1.6, 0.2],\n", " [ 1.6, 0.4],\n", " [ 1.5, 0.2],\n", " [ 1.4, 0.2],\n", " [ 1.6, 0.2],\n", " [ 1.6, 0.2],\n", " [ 1.5, 0.4],\n", " [ 1.5, 0.1],\n", " [ 1.4, 0.2],\n", " [ 1.5, 0.1],\n", " [ 1.2, 0.2],\n", " [ 1.3, 0.2],\n", " [ 1.5, 0.1],\n", " [ 1.3, 0.2],\n", " [ 1.5, 0.2],\n", " [ 1.3, 0.3],\n", " [ 1.3, 0.3],\n", " [ 1.3, 0.2],\n", " [ 1.6, 0.6],\n", " [ 1.9, 0.4],\n", " [ 1.4, 0.3],\n", " [ 1.6, 0.2],\n", " [ 1.4, 0.2],\n", " [ 1.5, 0.2],\n", " [ 1.4, 0.2],\n", " [ 4.7, 1.4],\n", " [ 4.5, 1.5],\n", " [ 4.9, 1.5],\n", " [ 4. , 1.3],\n", " [ 4.6, 1.5],\n", " [ 4.5, 1.3],\n", " [ 4.7, 1.6],\n", " [ 3.3, 1. ],\n", " [ 4.6, 1.3],\n", " [ 3.9, 1.4],\n", " [ 3.5, 1. ],\n", " [ 4.2, 1.5],\n", " [ 4. , 1. ],\n", " [ 4.7, 1.4],\n", " [ 3.6, 1.3],\n", " [ 4.4, 1.4],\n", " [ 4.5, 1.5],\n", " [ 4.1, 1. ],\n", " [ 4.5, 1.5],\n", " [ 3.9, 1.1],\n", " [ 4.8, 1.8],\n", " [ 4. , 1.3],\n", " [ 4.9, 1.5],\n", " [ 4.7, 1.2],\n", " [ 4.3, 1.3],\n", " [ 4.4, 1.4],\n", " [ 4.8, 1.4],\n", " [ 5. , 1.7],\n", " [ 4.5, 1.5],\n", " [ 3.5, 1. ],\n", " [ 3.8, 1.1],\n", " [ 3.7, 1. ],\n", " [ 3.9, 1.2],\n", " [ 5.1, 1.6],\n", " [ 4.5, 1.5],\n", " [ 4.5, 1.6],\n", " [ 4.7, 1.5],\n", " [ 4.4, 1.3],\n", " [ 4.1, 1.3],\n", " [ 4. , 1.3],\n", " [ 4.4, 1.2],\n", " [ 4.6, 1.4],\n", " [ 4. , 1.2],\n", " [ 3.3, 1. ],\n", " [ 4.2, 1.3],\n", " [ 4.2, 1.2],\n", " [ 4.2, 1.3],\n", " [ 4.3, 1.3],\n", " [ 3. , 1.1],\n", " [ 4.1, 1.3],\n", " [ 6. , 2.5],\n", " [ 5.1, 1.9],\n", " [ 5.9, 2.1],\n", " [ 5.6, 1.8],\n", " [ 5.8, 2.2],\n", " [ 6.6, 2.1],\n", " [ 4.5, 1.7],\n", " [ 6.3, 1.8],\n", " [ 5.8, 1.8],\n", " [ 6.1, 2.5],\n", " [ 5.1, 2. ],\n", " [ 5.3, 1.9],\n", " [ 5.5, 2.1],\n", " [ 5. , 2. ],\n", " [ 5.1, 2.4],\n", " [ 5.3, 2.3],\n", " [ 5.5, 1.8],\n", " [ 6.7, 2.2],\n", " [ 6.9, 2.3],\n", " [ 5. , 1.5],\n", " [ 5.7, 2.3],\n", " [ 4.9, 2. ],\n", " [ 6.7, 2. ],\n", " [ 4.9, 1.8],\n", " [ 5.7, 2.1],\n", " [ 6. , 1.8],\n", " [ 4.8, 1.8],\n", " [ 4.9, 1.8],\n", " [ 5.6, 2.1],\n", " [ 5.8, 1.6],\n", " [ 6.1, 1.9],\n", " [ 6.4, 2. ],\n", " [ 5.6, 2.2],\n", " [ 5.1, 1.5],\n", " [ 5.6, 1.4],\n", " [ 6.1, 2.3],\n", " [ 5.6, 2.4],\n", " [ 5.5, 1.8],\n", " [ 4.8, 1.8],\n", " [ 5.4, 2.1],\n", " [ 5.6, 2.4],\n", " [ 5.1, 2.3],\n", " [ 5.1, 1.9],\n", " [ 5.9, 2.3],\n", " [ 5.7, 2.5],\n", " [ 5.2, 2.3],\n", " [ 5. , 1.9],\n", " [ 5.2, 2. ],\n", " [ 5.4, 2.3],\n", " [ 5.1, 1.8]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X" ] }, { "cell_type": "code", "execution_count": 6, "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.1],\n", " [ 5. , 3.2, 1.2, 0.2],\n", " [ 5.5, 3.5, 1.3, 0.2],\n", " [ 4.9, 3.1, 1.5, 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": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iris.data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Neural Networks with scikit-learn" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from sklearn.neural_network import MLPClassifier\n", "\n", "mlp = MLPClassifier(solver='adam', random_state=42, hidden_layer_sizes=[100, 1], max_iter=2000, activation='logistic').fit(X,y)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_decision_regions(X, y, clf=mlp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Neural Networks with Keras" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "dense_1 (Dense) (None, 100) 300 \n", "_________________________________________________________________\n", "dense_2 (Dense) (None, 1) 101 \n", "=================================================================\n", "Total params: 401.0\n", "Trainable params: 401\n", "Non-trainable params: 0.0\n", "_________________________________________________________________\n" ] } ], "source": [ "from keras.models import Sequential\n", "from keras.layers import Dense\n", "\n", "model = Sequential()\n", "\n", "# 100 * 1\n", "model.add(Dense(100, input_dim=2, activation='sigmoid'))\n", "model.add(Dense(1, activation='sigmoid'))\n", "\n", "model.compile(loss='binary_crossentropy',\n", " optimizer='adam',\n", " metrics=['accuracy'])\n", "\n", "model.summary()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "796b19f1115445c09e5099f5a787b190" } }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from keras_tqdm import TQDMNotebookCallback\n", "model.fit(X, y, epochs=2000, verbose=0, callbacks=[TQDMNotebookCallback(show_inner=False)])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_decision_regions(X, y, clf=model)" ] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }