{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from sklearn.svm import SVC\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "X=np.array([[1,1],[1,2],[1,3],[1,4],[2,1],[2,2],[3,1],[4,1],[5,1],\n", " [5,2],[6,1],[6,2],[6,3],[6,4],[3,3],[3,4],[3,5],[4,3],[4,4],[4,5]])\n", "Y=np.array([1]*14+[-1]*6)\n", "T=np.array([[0.5,0.5],[1.5,1.5],[3.5,3.5],[4,5.5]])\n", "svc=SVC(kernel='poly',degree=2,gamma=1,coef0=0)\n", "svc.fit(X,Y)\n", "pre=svc.predict(T)\n", "print(Y)\n", "print (\"pre -->\",pre)\n", "print (\"n_support_ -->\",svc.n_support_)\n", "print (\"support_ -->\",svc.support_)\n", "print (\"support_vectors_ -->\",svc.support_vectors_)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#https://stackoverflow.com/questions/43529388/speed-of-svm-kernels-linear-vs-rbf-vs-poly\n", "from datetime import datetime\n", "\n", "from sklearn.datasets import load_breast_cancer\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.preprocessing import MinMaxScaler\n", "from sklearn.svm import SVC\n", "\n", "data = load_breast_cancer()\n", "X = data.data\n", "y = data.target\n", "X_train, X_test, y_train, y_test = train_test_split(X, y)\n", "clf_rbf = SVC(kernel = 'rbf',gamma=0.02,C=1)\n", "clf_lin = SVC(kernel='linear',C=1.0,gamma=0.1)\n", "\n", "trarining_start_time = datetime.now()\n", "\n", "clf_lin.fit(X_train, y_train)\n", "\n", "training_stop_time = datetime.now()\n", "print (\"runing clf_lin time:\",(training_stop_time - trarining_start_time))\n", "\n", "#####################\n", "trarining_start_time = datetime.now()\n", "\n", "clf_rbf.fit(X_train, y_train)\n", "\n", "training_stop_time = datetime.now()\n", "print (\"runing clf_rbf time:\",(training_stop_time - trarining_start_time))\n", "\n", "#####################\n", "scaler = MinMaxScaler() # Default behavior is to scale to [0,1]\n", "X = scaler.fit_transform(X)\n", "X_train, X_test, y_train, y_test = train_test_split(X, y)\n", "\n", "trarining_start_time = datetime.now()\n", "\n", "clf_lin.fit(X_train, y_train)\n", "\n", "training_stop_time = datetime.now()\n", "print (\"runing clf_lin time:\",(training_stop_time - trarining_start_time))\n", "\n", "#####################\n", "trarining_start_time = datetime.now()\n", "\n", "clf_rbf.fit(X_train, y_train)\n", "\n", "training_stop_time = datetime.now()\n", "print (\"runing clf_rbf time:\",(training_stop_time - trarining_start_time))\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd \n", "import seaborn as sns\n", "from IPython.display import display\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits.mplot3d import Axes3D\n", "import sklearn\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "load data successful !!!!!\n" ] } ], "source": [ "try :\n", " data = pd.read_excel(\"train_features_9.xlsx\")\n", " \n", " print (\"load data successful !!!!!\")\n", "except :\n", " print (\"load data error !!!!!!!!!!\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['index', 'lelf_right_R', 'lelf_right_G', 'lelf_right_B', 'lelf_right_H',\n", " 'lelf_right_S', 'lelf_right_V', 'lelf_right_l', 'lelf_right_a',\n", " 'lelf_right_b', 'lelf_right_R_stddev', 'lelf_right_G_stddev',\n", " 'lelf_right_B_stddev', 'lelf_right_H_stddev', 'lelf_right_S_stddev',\n", " 'lelf_right_V_stddev', 'lelf_right_l_stddev', 'lelf_right_a_stddev',\n", " 'lelf_right_b_stddev', 'lelf_right_R_hist', 'lelf_right_G_hist',\n", " 'lelf_right_B_hist', 'lelf_right_H_hist', 'lelf_right_S_hist',\n", " 'lelf_right_V_hist', 'lelf_right_l_hist', 'lelf_right_a_hist',\n", " 'lelf_right_b_hist', 'lelf_right_R_max', 'lelf_right_G_max',\n", " 'lelf_right_B_max', 'lelf_right_H_max', 'lelf_right_S_max',\n", " 'lelf_right_V_max', 'lelf_right_l_max', 'lelf_right_a_max',\n", " 'lelf_right_b_max', 'lelf_right_R_min', 'lelf_right_G_min',\n", " 'lelf_right_B_min', 'lelf_right_H_min', 'lelf_right_S_min',\n", " 'lelf_right_V_min', 'lelf_right_l_min', 'lelf_right_a_min',\n", " 'lelf_right_b_min', 'lelf_right_gray_value', 'lelf_right_gray_stddev',\n", " 'lelf_right_gray_hist', 'lelf_right_gray_max', 'lelf_right_gray_min'],\n", " dtype='object')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.columns" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "data.sort_values('index',ascending=False,inplace=True)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "data.to_excel(\"train_features_9_sorted.xlsx\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | left_block_R | \n", "left_block_G | \n", "left_block_B | \n", "left_block_H | \n", "left_block_S | \n", "left_block_V | \n", "left_block_l | \n", "left_block_a | \n", "left_block_b | \n", "left_block_R_stddev | \n", "... | \n", "right_grayHist | \n", "right_grayMax | \n", "right_grayMin | \n", "white_grayValue | \n", "white_grayStddevValue | \n", "white_grayHist | \n", "white_grayMax | \n", "white_grayMin | \n", "whiteBalance | \n", "index | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| count | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "... | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.0 | \n", "
| mean | \n", "175.867260 | \n", "181.762539 | \n", "184.008616 | \n", "133.618240 | \n", "11.246638 | \n", "184.339731 | \n", "187.535724 | \n", "125.856332 | \n", "125.570398 | \n", "1.400322 | \n", "... | \n", "113.666573 | \n", "167.097436 | \n", "81.866699 | \n", "179.621393 | \n", "1.100238 | \n", "180.129238 | \n", "184.027949 | \n", "175.930163 | \n", "0.500000 | \n", "0.0 | \n", "
| std | \n", "19.052799 | \n", "19.644934 | \n", "19.237605 | \n", "11.897388 | \n", "6.031816 | \n", "19.101085 | \n", "18.168406 | \n", "0.787749 | \n", "1.651624 | \n", "0.643500 | \n", "... | \n", "23.273636 | \n", "18.075028 | \n", "15.962582 | \n", "19.392158 | \n", "0.341169 | \n", "19.365162 | \n", "18.627964 | \n", "20.511767 | \n", "0.500018 | \n", "0.0 | \n", "
| min | \n", "130.000000 | \n", "135.000000 | \n", "137.000000 | \n", "23.000000 | \n", "0.000000 | \n", "138.000000 | \n", "143.000000 | \n", "124.000000 | \n", "122.000000 | \n", "0.000000 | \n", "... | \n", "66.000000 | \n", "131.000000 | \n", "53.000000 | \n", "135.000000 | \n", "0.000000 | \n", "136.000000 | \n", "139.000000 | \n", "128.000000 | \n", "0.000000 | \n", "0.0 | \n", "
| 25% | \n", "165.000000 | \n", "171.000000 | \n", "172.000000 | \n", "123.000000 | \n", "6.000000 | \n", "173.000000 | \n", "178.000000 | \n", "125.000000 | \n", "124.000000 | \n", "1.000000 | \n", "... | \n", "96.000000 | \n", "158.000000 | \n", "75.000000 | \n", "169.000000 | \n", "1.000000 | \n", "170.000000 | \n", "173.000000 | \n", "166.000000 | \n", "0.000000 | \n", "0.0 | \n", "
| 50% | \n", "173.000000 | \n", "179.000000 | \n", "181.000000 | \n", "137.000000 | \n", "11.000000 | \n", "181.000000 | \n", "185.000000 | \n", "126.000000 | \n", "126.000000 | \n", "1.000000 | \n", "... | \n", "110.000000 | \n", "164.000000 | \n", "78.000000 | \n", "177.000000 | \n", "1.000000 | \n", "177.000000 | \n", "181.000000 | \n", "174.000000 | \n", "0.500000 | \n", "0.0 | \n", "
| 75% | \n", "184.000000 | \n", "188.000000 | \n", "192.000000 | \n", "142.000000 | \n", "17.000000 | \n", "192.000000 | \n", "194.000000 | \n", "126.000000 | \n", "127.000000 | \n", "2.000000 | \n", "... | \n", "117.000000 | \n", "174.000000 | \n", "82.000000 | \n", "186.000000 | \n", "1.000000 | \n", "187.000000 | \n", "190.000000 | \n", "184.000000 | \n", "1.000000 | \n", "0.0 | \n", "
| max | \n", "225.000000 | \n", "230.000000 | \n", "233.000000 | \n", "163.000000 | \n", "26.000000 | \n", "233.000000 | \n", "231.000000 | \n", "128.000000 | \n", "128.000000 | \n", "4.000000 | \n", "... | \n", "208.000000 | \n", "215.000000 | \n", "128.000000 | \n", "227.000000 | \n", "3.000000 | \n", "228.000000 | \n", "231.000000 | \n", "225.000000 | \n", "1.000000 | \n", "0.0 | \n", "
8 rows × 152 columns
\n", "| \n", " | lelf_right_R | \n", "lelf_right_G | \n", "lelf_right_B | \n", "lelf_right_H | \n", "lelf_right_S | \n", "lelf_right_V | \n", "lelf_right_l | \n", "lelf_right_a | \n", "lelf_right_b | \n", "lelf_right_R_stddev | \n", "... | \n", "lelf_right_S_min | \n", "lelf_right_V_min | \n", "lelf_right_l_min | \n", "lelf_right_a_min | \n", "lelf_right_b_min | \n", "lelf_right_gray_value | \n", "lelf_right_gray_stddev | \n", "lelf_right_gray_hist | \n", "lelf_right_gray_max | \n", "lelf_right_gray_min | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| count | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "... | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "14276.000000 | \n", "
| mean | \n", "30.447254 | \n", "72.962034 | \n", "57.679742 | \n", "-99.373284 | \n", "-55.883861 | \n", "38.789087 | \n", "59.999370 | \n", "-19.272485 | \n", "1.832656 | \n", "-12.981648 | \n", "... | \n", "-6.670076 | \n", "64.054987 | \n", "97.503012 | \n", "-6.963785 | \n", "3.183805 | \n", "58.462244 | \n", "-21.538876 | \n", "66.753362 | \n", "18.173928 | \n", "94.753923 | \n", "
| std | \n", "4.945144 | \n", "4.950271 | \n", "4.510348 | \n", "15.952271 | \n", "9.890148 | \n", "6.213177 | \n", "4.262055 | \n", "1.135266 | \n", "0.720246 | \n", "2.047649 | \n", "... | \n", "7.051346 | \n", "7.798639 | \n", "6.538395 | \n", "1.142899 | \n", "0.974624 | \n", "4.732158 | \n", "1.943031 | \n", "15.616751 | \n", "2.615314 | \n", "7.306732 | \n", "
| min | \n", "21.000000 | \n", "57.000000 | \n", "43.000000 | \n", "-214.000000 | \n", "-81.000000 | \n", "26.000000 | \n", "48.000000 | \n", "-25.000000 | \n", "-1.000000 | \n", "-18.000000 | \n", "... | \n", "-23.000000 | \n", "40.000000 | \n", "74.000000 | \n", "-12.000000 | \n", "-2.000000 | \n", "45.000000 | \n", "-31.000000 | \n", "14.000000 | \n", "9.000000 | \n", "68.000000 | \n", "
| 25% | \n", "26.000000 | \n", "69.000000 | \n", "54.000000 | \n", "-114.000000 | \n", "-64.000000 | \n", "33.000000 | \n", "57.000000 | \n", "-20.000000 | \n", "1.000000 | \n", "-15.000000 | \n", "... | \n", "-13.000000 | \n", "58.000000 | \n", "92.000000 | \n", "-8.000000 | \n", "3.000000 | \n", "55.000000 | \n", "-23.000000 | \n", "60.000000 | \n", "16.000000 | \n", "89.000000 | \n", "
| 50% | \n", "29.000000 | \n", "73.000000 | \n", "57.000000 | \n", "-94.000000 | \n", "-58.000000 | \n", "39.000000 | \n", "59.000000 | \n", "-19.000000 | \n", "2.000000 | \n", "-13.000000 | \n", "... | \n", "-7.000000 | \n", "63.000000 | \n", "97.000000 | \n", "-7.000000 | \n", "3.000000 | \n", "58.000000 | \n", "-21.000000 | \n", "66.000000 | \n", "18.000000 | \n", "96.000000 | \n", "
| 75% | \n", "35.000000 | \n", "76.000000 | \n", "61.000000 | \n", "-85.000000 | \n", "-49.000000 | \n", "43.000000 | \n", "64.000000 | \n", "-18.000000 | \n", "2.000000 | \n", "-11.000000 | \n", "... | \n", "0.000000 | \n", "70.000000 | \n", "103.000000 | \n", "-6.000000 | \n", "4.000000 | \n", "62.000000 | \n", "-20.000000 | \n", "77.000000 | \n", "20.000000 | \n", "100.000000 | \n", "
| max | \n", "46.000000 | \n", "99.000000 | \n", "79.000000 | \n", "-67.000000 | \n", "-33.000000 | \n", "60.000000 | \n", "80.000000 | \n", "-16.000000 | \n", "4.000000 | \n", "-8.000000 | \n", "... | \n", "10.000000 | \n", "93.000000 | \n", "127.000000 | \n", "-2.000000 | \n", "8.000000 | \n", "81.000000 | \n", "-16.000000 | \n", "113.000000 | \n", "28.000000 | \n", "127.000000 | \n", "
8 rows × 50 columns
\n", "