{ "cells": [ { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2019-08-11T06:53:44.152554Z", "start_time": "2019-08-11T06:53:44.147312Z" }, "run_control": { "marked": false } }, "outputs": [], "source": [ "from sklearn.naive_bayes import GaussianNB\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2019-08-11T07:03:57.307101Z", "start_time": "2019-08-11T07:03:57.290922Z" }, "run_control": { "marked": false } }, "outputs": [], "source": [ "#!/usr/bin/python\n", "\n", "import base64\n", "import json\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pylab as pl\n", "\n", "\n", "def prettyPicture(clf, X_test, y_test):\n", " x_min = 0.0\n", " x_max = 1.0\n", " y_min = 0.0\n", " y_max = 1.0\n", "\n", " # Plot the decision boundary. For that, we will assign a color to each\n", " # point in the mesh [x_min, m_max]x[y_min, y_max].\n", " h = .01 # step size in the mesh\n", " xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n", " np.arange(y_min, y_max, h))\n", " Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n", "\n", " # Put the result into a color plot\n", " Z = Z.reshape(xx.shape)\n", " plt.xlim(xx.min(), xx.max())\n", " plt.ylim(yy.min(), yy.max())\n", "\n", " plt.pcolormesh(xx, yy, Z, cmap=pl.cm.seismic)\n", "\n", " # Plot also the test points\n", " grade_sig = [X_test[ii][0]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 0]\n", " bumpy_sig = [X_test[ii][1]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 0]\n", " grade_bkg = [X_test[ii][0]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 1]\n", " bumpy_bkg = [X_test[ii][1]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 1]\n", "\n", " plt.scatter(grade_sig, bumpy_sig, color=\"b\", label=\"fast\")\n", " plt.scatter(grade_bkg, bumpy_bkg, color=\"r\", label=\"slow\")\n", " plt.legend()\n", " plt.xlabel(\"bumpiness\")\n", " plt.ylabel(\"grade\")\n", "\n", " plt.savefig(\"test.png\",dpi=300)\n", "\n", "\n", "def output_image(name, format, bytes):\n", " image_start = \"BEGIN_IMAGE_f9825uweof8jw9fj4r8\"\n", " image_end = \"END_IMAGE_0238jfw08fjsiufhw8frs\"\n", " data = {}\n", " data['name'] = name\n", " data['format'] = format\n", " data['bytes'] = base64.encodestring(bytes)\n", " print(image_start+json.dumps(data)+image_end)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2019-08-11T07:03:57.841214Z", "start_time": "2019-08-11T07:03:57.824989Z" } }, "outputs": [], "source": [ "#!/usr/bin/python\n", "import random\n", "\n", "\n", "def makeTerrainData(n_points=5000):\n", " ###############################################################################\n", " # make the toy dataset\n", " random.seed(42)\n", " grade = [random.random() for ii in range(0, n_points)]\n", " bumpy = [random.random() for ii in range(0, n_points)]\n", " error = [random.random() for ii in range(0, n_points)]\n", " y = [round(grade[ii]*bumpy[ii]+0.3+0.1*error[ii])\n", " for ii in range(0, n_points)]\n", " for ii in range(0, len(y)):\n", " if grade[ii] > 0.8 or bumpy[ii] > 0.8:\n", " y[ii] = 1.0\n", "\n", "# split into train/test sets\n", " X = [[gg, ss] for gg, ss in zip(grade, bumpy)]\n", " split = int(0.75*n_points)\n", " X_train = X[0:split]\n", " X_test = X[split:]\n", " y_train = y[0:split]\n", " y_test = y[split:]\n", "\n", " grade_sig = [X_train[ii][0]\n", " for ii in range(0, len(X_train)) if y_train[ii] == 0]\n", " bumpy_sig = [X_train[ii][1]\n", " for ii in range(0, len(X_train)) if y_train[ii] == 0]\n", " grade_bkg = [X_train[ii][0]\n", " for ii in range(0, len(X_train)) if y_train[ii] == 1]\n", " bumpy_bkg = [X_train[ii][1]\n", " for ii in range(0, len(X_train)) if y_train[ii] == 1]\n", "\n", " training_data = {\"fast\": {\"grade\": grade_sig, \"bumpiness\": bumpy_sig}, \"slow\": {\n", " \"grade\": grade_bkg, \"bumpiness\": bumpy_bkg}}\n", "\n", " grade_sig = [X_test[ii][0]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 0]\n", " bumpy_sig = [X_test[ii][1]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 0]\n", " grade_bkg = [X_test[ii][0]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 1]\n", " bumpy_bkg = [X_test[ii][1]\n", " for ii in range(0, len(X_test)) if y_test[ii] == 1]\n", "\n", " test_data = {\"fast\": {\"grade\": grade_sig, \"bumpiness\": bumpy_sig},\n", " \"slow\": {\"grade\": grade_bkg, \"bumpiness\": bumpy_bkg}}\n", "\n", " return X_train, y_train, X_test, y_test" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "ExecuteTime": { "end_time": "2019-08-11T07:04:15.015777Z", "start_time": "2019-08-11T07:04:14.437679Z" }, "hide_output": false, "run_control": { "marked": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy is 89.68 %\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data_train, label_train, data_test, label_test = makeTerrainData()\n", "clf = GaussianNB()\n", "clf.fit(data_train, label_train)\n", "\n", "result = clf.predict(data_test)\n", "\n", "num = 0\n", "corr = 0\n", "for x in result:\n", " if x == label_test[num]:\n", " corr += 1\n", " num += 1\n", "print(\"Accuracy is\", corr/num*100,\"%\")\n", "prettyPicture(clf, data_test, label_test)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "run_control": { "marked": false } }, "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.7.3" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }