{ "cells": [ { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "from sklearn.svm import SVC\n", "import numpy as np\n", "import random\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "import pylab as pl\n", "\n", "#import numpy as np\n", "#import matplotlib.pyplot as plt\n", "#plt.ioff()\n", "\n", "def prettyPicture(clf, X_test, y_test):\n", " x_min = 0.0; x_max = 1.0\n", " y_min = 0.0; 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), 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] for ii in range(0, len(X_test)) if y_test[ii]==0]\n", " bumpy_sig = [X_test[ii][1] for ii in range(0, len(X_test)) if y_test[ii]==0]\n", " grade_bkg = [X_test[ii][0] for ii in range(0, len(X_test)) if y_test[ii]==1]\n", " bumpy_bkg = [X_test[ii][1] 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\")\n", " " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# 此处产生一个训练数据集\n", "def makeTerrainData(n_points=1000):\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]) 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] for ii in range(0, len(X_train)) if y_train[ii]==0]\n", " bumpy_sig = [X_train[ii][1] for ii in range(0, len(X_train)) if y_train[ii]==0]\n", " grade_bkg = [X_train[ii][0] for ii in range(0, len(X_train)) if y_train[ii]==1]\n", " bumpy_bkg = [X_train[ii][1] for ii in range(0, len(X_train)) if y_train[ii]==1]\n", "\n", "# training_data = {\"fast\":{\"grade\":grade_sig, \"bumpiness\":bumpy_sig}\n", "# , \"slow\":{\"grade\":grade_bkg, \"bumpiness\":bumpy_bkg}}\n", "\n", "\n", " grade_sig = [X_test[ii][0] for ii in range(0, len(X_test)) if y_test[ii]==0]\n", " bumpy_sig = [X_test[ii][1] for ii in range(0, len(X_test)) if y_test[ii]==0]\n", " grade_bkg = [X_test[ii][0] for ii in range(0, len(X_test)) if y_test[ii]==1]\n", " bumpy_bkg = [X_test[ii][1] 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\n", "# return training_data, test_data" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The accuracy of SVM is 94.8 %\n", "Test Data\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Train Data\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "f_train,l_train,f_test,l_test = makeTerrainData()\n", "C_value = 1\n", "clf = SVC(kernel=\"rbf\",C=C_value,gamma=700.0)#生成一个支持向量机,kernel 表示选用什么核函数,linear 是线性核函数 \n", "clf.fit(f_train, l_train)\n", "result = clf.predict(f_test)\n", "#print(result)\n", "#print(f_test)\n", "\n", "num = 0\n", "corr = 0\n", "#print(len(result),len(l_test))\n", "\n", "for x in range(0,len(result)):\n", " if result[x] == l_test[x]:\n", " corr+=1\n", " num += 1\n", "print(\"The accuracy of SVM is\",corr/num*100,\"%\")\n", "print(\"Test Data\")\n", "prettyPicture(clf, f_test, l_test)\n", "#plt.savefig('test.png', dpi = 300) \n", "plt.show()\n", "print(\"Train Data\")\n", "prettyPicture(clf, f_train, l_train)\n", "#plt.savefig('train.png', dpi = 300) \n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#把数据集改造成 x^2,y^2型特征,在此数据集中效果一般\n", "fn_train = []\n", "for x in range(0,len(f_train)):\n", " for n in range(0,2):\n", " #print(n)\n", " data = f_train[x][n]\n", " data = data*data\n", " fn_train.append(data)\n", "fn_train = np.array(fn_train)\n", "fn_train = fn_train.reshape(-1,2)\n", "\n", "fn_test = []\n", "for x in range(0,len(f_test)):\n", " for n in range(0,2):\n", " data = f_test[x][n]\n", " data = data*data\n", " fn_test.append(data)\n", "fn_test = np.array(fn_test)\n", "fn_test = fn_test.reshape(-1,2)\n", "#print(fn_test)" ] }, { "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.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 }