├── PSO SVM ALGORITHM ├── PSO kurva.ipynb ├── PSO-SVM-australian dataset └── PSO-SVM-german dataset ├── PSO SVM ALGORITM ├── FeatureEngineering.ipynb ├── POL.ipynb ├── PSO FIX.ipynb ├── PSO SVM ALGORITHM │ ├── PSO kurva.ipynb │ ├── PSO-SVM FIX (traditional)-australian-Update2(CV_SVM)-APPROVED-withPCA.ipynb │ └── PSO-SVM FIX (traditional)-australian-Update2(CV_SVM)-APPROVED.ipynb ├── PSO kurva.ipynb ├── PSO-SVM FIX (traditional)-australian-Update1.ipynb ├── PSO-SVM FIX (traditional)-australian-Update2(CV_SVM)-APPROVED-withPCA.ipynb ├── PSO-SVM FIX (traditional)-australian-Update2(CV_SVM)-APPROVED.ipynb ├── PSO-SVM FIX (traditional)-australian-Update2(CV_SVM)-Copy1.ipynb ├── PSO-SVM FIX (traditional)-australian-poly1.ipynb ├── PSO-SVM FIX (traditional)-australian-polynomial.ipynb ├── PSO-SVM FIX (traditional)-australian.ipynb ├── PSO-SVM FIX (traditional)-german.ipynb ├── PSO-SVM FIX (traditional).ipynb ├── SVM Algorithm (GridSearchCV)-Copy2.ipynb ├── SVM gridsearchCV australian.ipynb ├── Untitled.ipynb ├── Untitled1.ipynb ├── Untitled2.ipynb ├── Yang dipake untuk german .ipynb ├── pso-svm-sigmoid.ipynb ├── yang dipake laporan australian polynomial.ipynb ├── yang dipake laporan australian.ipynb └── yang dipake laporan bukalapak .ipynb └── README.md /PSO SVM ALGORITM/PSO FIX.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "Inform the number of iterations: 100\n", 13 | "Inform the target error: 1e-6\n", 14 | "Inform the number of particles: 20\n" 15 | ] 16 | } 17 | ], 18 | "source": [ 19 | "#################### I N P U T ####################\n", 20 | "\n", 21 | "import random\n", 22 | "import numpy as np \n", 23 | "\n", 24 | "W = 0.5\n", 25 | "c1 = 0.8\n", 26 | "c2 = 0.9 \n", 27 | "\n", 28 | "n_iterations = int(input(\"Inform the number of iterations: \"))\n", 29 | "target_error = float(input(\"Inform the target error: \"))\n", 30 | "n_particles = int(input(\"Inform the number of particles: \"))" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 5, 36 | "metadata": { 37 | "collapsed": true 38 | }, 39 | "outputs": [], 40 | "source": [ 41 | "class Particle():\n", 42 | " def __init__(self):\n", 43 | " self.position = np.array([(-1) ** (bool(random.getrandbits(1))) * random.random()*50, (-1)**(bool(random.getrandbits(1))) * random.random()*50])\n", 44 | " self.pbest_position = self.position\n", 45 | " self.pbest_value = float('inf')\n", 46 | " self.velocity = np.array([0,0])\n", 47 | " \n", 48 | " def move(self):\n", 49 | " self.position = self.position + self.velocity" 50 | ] 51 | }, 52 | { 53 | "cell_type": "code", 54 | "execution_count": 6, 55 | "metadata": { 56 | "collapsed": true 57 | }, 58 | "outputs": [], 59 | "source": [ 60 | "class Space():\n", 61 | "\n", 62 | " def __init__(self, target, target_error, n_particles):\n", 63 | " self.target = target\n", 64 | " self.target_error = target_error\n", 65 | " self.n_particles = n_particles\n", 66 | " self.particles = []\n", 67 | " self.gbest_value = float('inf')\n", 68 | " self.gbest_position = np.array([random.random()*50, random.random()*50])\n", 69 | "\n", 70 | " def print_particles(self):\n", 71 | " for particle in self.particles:\n", 72 | " particle.__str__()\n", 73 | " \n", 74 | " def fitness(self, particle):\n", 75 | " return particle.position[0] ** 2 + particle.position[1] ** 2 + 1\n", 76 | "\n", 77 | " def set_pbest(self):\n", 78 | " for particle in self.particles:\n", 79 | " fitness_cadidate = self.fitness(particle)\n", 80 | " if(particle.pbest_value > fitness_cadidate):\n", 81 | " particle.pbest_value = fitness_cadidate\n", 82 | " particle.pbest_position = particle.position\n", 83 | " \n", 84 | "\n", 85 | " def set_gbest(self):\n", 86 | " for particle in self.particles:\n", 87 | " best_fitness_cadidate = self.fitness(particle)\n", 88 | " if(self.gbest_value > best_fitness_cadidate):\n", 89 | " self.gbest_value = best_fitness_cadidate\n", 90 | " self.gbest_position = particle.position\n", 91 | "\n", 92 | " def move_particles(self):\n", 93 | " for particle in self.particles:\n", 94 | " global W\n", 95 | " new_velocity = (W*particle.velocity) + (c1*random.random()) * (particle.pbest_position - particle.position) + \\\n", 96 | " (random.random()*c2) * (self.gbest_position - particle.position)\n", 97 | " particle.velocity = new_velocity\n", 98 | " particle.move()" 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 7, 104 | "metadata": {}, 105 | "outputs": [ 106 | { 107 | "name": "stdout", 108 | "output_type": "stream", 109 | "text": [ 110 | "The best solution is: [ 0.00051643 0.00021877] in n_iterations: 23\n" 111 | ] 112 | } 113 | ], 114 | "source": [ 115 | "########################## M A I N ###################\n", 116 | "\n", 117 | "search_space = Space(1, target_error, n_particles)\n", 118 | "particles_vector = [Particle() for _ in range(search_space.n_particles)]\n", 119 | "search_space.particles = particles_vector\n", 120 | "search_space.print_particles()\n", 121 | "\n", 122 | "iteration = 0\n", 123 | "while(iteration < n_iterations):\n", 124 | " search_space.set_pbest() \n", 125 | " search_space.set_gbest()\n", 126 | "\n", 127 | " if(abs(search_space.gbest_value - search_space.target) <= search_space.target_error):\n", 128 | " break\n", 129 | "\n", 130 | " search_space.move_particles()\n", 131 | " iteration += 1\n", 132 | " \n", 133 | "print(\"The best solution is: \", search_space.gbest_position, \" in n_iterations: \", iteration)" 134 | ] 135 | }, 136 | { 137 | "cell_type": "code", 138 | "execution_count": null, 139 | "metadata": { 140 | "collapsed": true 141 | }, 142 | "outputs": [], 143 | "source": [] 144 | } 145 | ], 146 | "metadata": { 147 | "kernelspec": { 148 | "display_name": "Python 3", 149 | "language": "python", 150 | "name": "python3" 151 | }, 152 | "language_info": { 153 | "codemirror_mode": { 154 | "name": "ipython", 155 | "version": 3 156 | }, 157 | "file_extension": ".py", 158 | "mimetype": "text/x-python", 159 | "name": "python", 160 | "nbconvert_exporter": "python", 161 | "pygments_lexer": "ipython3", 162 | "version": "3.6.8" 163 | } 164 | }, 165 | "nbformat": 4, 166 | "nbformat_minor": 2 167 | } 168 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/PSO-SVM FIX (traditional)-australian-Update2(CV_SVM)-APPROVED-withPCA.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import pandas as pd\n", 10 | "import numpy as np\n", 11 | "import math\n", 12 | "import random\n", 13 | "import csv\n", 14 | "from sklearn.model_selection import KFold\n", 15 | "from sklearn.model_selection import cross_val_score\n", 16 | "from sklearn.svm import SVC\n", 17 | "from sklearn.metrics import classification_report, confusion_matrix\n", 18 | "import matplotlib.pyplot as plt\n", 19 | "from time import time\n", 20 | "from sklearn.decomposition import PCA\n", 21 | "from sklearn.preprocessing import StandardScaler" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": 2, 27 | "metadata": { 28 | "scrolled": true 29 | }, 30 | "outputs": [ 31 | { 32 | "data": { 33 | "text/plain": [ 34 | "1 700\n", 35 | "2 300\n", 36 | "Name: y, dtype: int64" 37 | ] 38 | }, 39 | "execution_count": 2, 40 | "metadata": {}, 41 | "output_type": "execute_result" 42 | } 43 | ], 44 | "source": [ 45 | "#url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\data3.csv\"\n", 46 | "#colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','y']\n", 47 | "\n", 48 | "#url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\Australian fraud dataset\\\\australian.csv\"\n", 49 | "#colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14', 'y']\n", 50 | "\n", 51 | "url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\German fraud dataset\\\\german.csv\"\n", 52 | "colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14','x15','x16','x17','x18','x19','x20','x21','x22','x23','x24','y']\n", 53 | "\n", 54 | "data = pd.read_csv(url, header = None, names = colnames)\n", 55 | "#data = data.sample(n=10000, random_state = 42)\n", 56 | "data[\"y\"].value_counts()" 57 | ] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "execution_count": 3, 62 | "metadata": { 63 | "scrolled": true 64 | }, 65 | "outputs": [], 66 | "source": [ 67 | "#X = data.drop('y', axis = 1)\n", 68 | "#scaler = StandardScaler()\n", 69 | "#scaler.fit(X)\n", 70 | "#X = scaler.transform(X)\n", 71 | "#y = data['y']\n", 72 | "#pca = PCA(0.85)\n", 73 | "#pca.fit(X)\n", 74 | "#print(pca.n_components_)" 75 | ] 76 | }, 77 | { 78 | "cell_type": "code", 79 | "execution_count": 4, 80 | "metadata": { 81 | "scrolled": true 82 | }, 83 | "outputs": [], 84 | "source": [ 85 | "#X = pca.transform(X)\n", 86 | "#colnames1 = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14','x15','x16']\n", 87 | "#X = pd.DataFrame(data = data, columns = colnames1)\n", 88 | "#print(X)" 89 | ] 90 | }, 91 | { 92 | "cell_type": "code", 93 | "execution_count": 5, 94 | "metadata": {}, 95 | "outputs": [], 96 | "source": [ 97 | "#################### I N P U T ####################\n", 98 | "#berdasarkan buku\n", 99 | "#khi = 0.729\n", 100 | "#c1 = 2.05\n", 101 | "#c2 = 2.05\n", 102 | "\n", 103 | "#berdasarkan paper\n", 104 | "K = 0.3\n", 105 | "c1 = 2.05\n", 106 | "c2 = 2.05\n", 107 | "c = c1 + c2\n", 108 | "khi = 2*K/(abs(2-c-math.sqrt(c**2-4*c)))\n", 109 | "n_iterations = 10\n", 110 | "n_particles = 100" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": 6, 116 | "metadata": {}, 117 | "outputs": [], 118 | "source": [ 119 | "#mencari nilai 0-1 loss dari tiap partikel\n", 120 | "#partikle = (gamma,C) untuk rbf\n", 121 | "def fitness_function(position):\n", 122 | " kf = KFold(n_splits = 3)\n", 123 | " svclassifier = SVC(kernel='rbf', gamma = position[0], C = position[1] ) \n", 124 | " # svclassifier.fit(X_train, y_train)\n", 125 | " scores = cross_val_score(svclassifier, X, y, cv = kf, scoring = 'roc_auc')\n", 126 | " return np.mean(scores)\n", 127 | " # y_train_pred = svclassifier.predict(X_train)\n", 128 | " # y_test_pred = svclassifier.predict(X_test) \n", 129 | " # return (confusion_matrix(y_train,y_train_pred)[0][1] + confusion_matrix(y_train,y_train_pred)[1][0])/np.sum(confusion_matrix(y_train,y_train_pred)), (confusion_matrix(y_test,y_test_pred)[0][1] + confusion_matrix(y_test,y_test_pred)[1][0])/np.sum(confusion_matrix(y_test,y_test_pred))\n", 130 | "\n", 131 | "#plotting (x axis = gamma, y axis = C)\n", 132 | "def plot(position):\n", 133 | " x = []\n", 134 | " y = []\n", 135 | " for i in range(0,len(particle_position_vector)):\n", 136 | " x.append(particle_position_vector[i][0])\n", 137 | " y.append(particle_position_vector[i][1])\n", 138 | " colors = (0,0,0)\n", 139 | " plt.scatter(x, y, c = colors, alpha = 0.3)\n", 140 | " plt.xlabel('gamma')\n", 141 | " plt.ylabel('C')\n", 142 | " plt.axis([-1,11,-1,11])\n", 143 | " plt.gca().set_aspect('equal', adjustable='box')\n", 144 | " return plt.show()\n", 145 | "\n", 146 | "for i in range(n_particles):\n", 147 | " max_velocity = np.array([10,10])\n", 148 | " min_velocity = np.array([-10,-10])\n", 149 | " max_position = np.array([10,10])\n", 150 | " min_position = np.array([0.0001, 0.001])\n", 151 | "\n", 152 | "def eval_velocity(new_velocity):\n", 153 | " for j in range(0,2):\n", 154 | " if(new_velocity[j] > max_velocity[j]):\n", 155 | " new_velocity[j] = max_velocity[j]\n", 156 | " elif(new_velocity[j] < min_velocity[j]):\n", 157 | " new_velocity[j] = min_velocity[j]\n", 158 | " return new_velocity\n", 159 | "\n", 160 | "def eval_position(particle_position_vector):\n", 161 | " for j in range(0,2):\n", 162 | " if(particle_position_vector[j] > max_position[j]):\n", 163 | " particle_position_vector[j] = max_position[j]\n", 164 | " elif(particle_position_vector[j] < min_position[j]):\n", 165 | " particle_position_vector[j] = min_position[j]\n", 166 | " return particle_position_vector\n", 167 | " " 168 | ] 169 | }, 170 | { 171 | "cell_type": "code", 172 | "execution_count": 7, 173 | "metadata": {}, 174 | "outputs": [], 175 | "source": [ 176 | "particle_position_vector = np.array([np.array([random.random()*10, random.random()*10]) for _ in range(n_particles)])\n", 177 | "pbest_position = particle_position_vector\n", 178 | "pbest_fitness_value = np.array([0 for _ in range(n_particles)])\n", 179 | "gbest_fitness_value = np.array([0])\n", 180 | "gbest_position = np.array([float('inf'), float('inf')])\n", 181 | "velocity_vector = np.array([np.array([(-1) ** (bool(random.getrandbits(1)))*random.random()*2,(-1) ** (bool(random.getrandbits(1))) * random.random()*2]) for _ in range(n_particles)])\n", 182 | "#velocity_vector = ([np.array([0, 0]) for _ in range(n_particles)])\n", 183 | "iteration = 0" 184 | ] 185 | }, 186 | { 187 | "cell_type": "code", 188 | "execution_count": 8, 189 | "metadata": { 190 | "scrolled": false 191 | }, 192 | "outputs": [ 193 | { 194 | "name": "stderr", 195 | "output_type": "stream", 196 | "text": [ 197 | "'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with 'x' & 'y'. Please use a 2-D array with a single row if you really want to specify the same RGB or RGBA value for all points.\n" 198 | ] 199 | }, 200 | { 201 | "data": { 202 | "image/png": "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\n", 203 | "text/plain": [ 204 | "
" 205 | ] 206 | }, 207 | "metadata": { 208 | "needs_background": "light" 209 | }, 210 | "output_type": "display_data" 211 | }, 212 | { 213 | "ename": "NameError", 214 | "evalue": "name 'X' is not defined", 215 | "output_type": "error", 216 | "traceback": [ 217 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 218 | "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", 219 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn_particles\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[0mstart2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[0mfitness_cadidate\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfitness_function\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 11\u001b[0m \u001b[0mstop2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"AUC for particle -\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"is\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfitness_cadidate\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\" At (gamma, c): \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\".. Time = \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstop2\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mstart2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 220 | "\u001b[1;32m\u001b[0m in \u001b[0;36mfitness_function\u001b[1;34m(position)\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0msvclassifier\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mSVC\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkernel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'rbf'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mgamma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mposition\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mC\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mposition\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;31m# svclassifier.fit(X_train, y_train)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m \u001b[0mscores\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcross_val_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msvclassifier\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcv\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mkf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscoring\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'roc_auc'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 8\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mscores\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;31m# y_train_pred = svclassifier.predict(X_train)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 221 | "\u001b[1;31mNameError\u001b[0m: name 'X' is not defined" 222 | ] 223 | } 224 | ], 225 | "source": [ 226 | "start = time()\n", 227 | "while iteration < n_iterations:\n", 228 | " gbest_fitness_value_cadidate = np.array([0])\n", 229 | " gbest_position_cadidate = np.array([float('inf'), float('inf')])\n", 230 | " start1 = time()\n", 231 | " plot(particle_position_vector)\n", 232 | " \n", 233 | " for i in range(n_particles):\n", 234 | " start2 = time()\n", 235 | " fitness_cadidate = fitness_function(particle_position_vector[i])\n", 236 | " stop2 = time()\n", 237 | " print(\"AUC for particle -\", i+1,\"is\", fitness_cadidate, \" At (gamma, c): \", particle_position_vector[i], \".. Time = \", stop2 - start2)\n", 238 | " \n", 239 | " if(pbest_fitness_value[i] < fitness_cadidate):\n", 240 | " pbest_fitness_value[i] = fitness_cadidate\n", 241 | " pbest_position[i] = particle_position_vector[i]\n", 242 | "\n", 243 | " if(gbest_fitness_value_cadidate < fitness_cadidate):\n", 244 | " gbest_fitness_value_cadidate = fitness_cadidate\n", 245 | " gbest_position_cadidate = particle_position_vector[i]\n", 246 | " \n", 247 | " print(\"The best position in iteration number\", iteration + 1, \"is\", gbest_position_cadidate, \"with AUC:\", fitness_function(gbest_position_cadidate))\n", 248 | " \n", 249 | " # if(gbest_fitness_value < gbest_fitness_value_cadidate):\n", 250 | " # gbest_fitness_value = gbest_fitness_value_cadidate\n", 251 | " # gbest_position = gbest_position_cadidate\n", 252 | " #print(\"The best position so far is \", gbest_position, \"in iteration number\", iteration + 1, \"with AUC:\", fitness_function(gbest_position))\n", 253 | " \n", 254 | " for i in range(n_particles):\n", 255 | " new_velocity = khi*(velocity_vector[i] + (c1*random.random()) * (pbest_position[i] - particle_position_vector[i]) + (c2*random.random()) * (gbest_position_cadidate-particle_position_vector[i]))\n", 256 | " new_velocity = eval_velocity(new_velocity)\n", 257 | " particle_position_vector[i] = new_velocity + particle_position_vector[i]\n", 258 | " particle_position_vector[i] = eval_position(particle_position_vector[i])\n", 259 | " \n", 260 | " iteration = iteration + 1\n", 261 | " stop1 = time()\n", 262 | " sec = stop1-start1\n", 263 | " print(sec)\n", 264 | "stop = time()\n", 265 | "print(stop - start)\n" 266 | ] 267 | } 268 | ], 269 | "metadata": { 270 | "kernelspec": { 271 | "display_name": "Python 3", 272 | "language": "python", 273 | "name": "python3" 274 | }, 275 | "language_info": { 276 | "codemirror_mode": { 277 | "name": "ipython", 278 | "version": 3 279 | }, 280 | "file_extension": ".py", 281 | "mimetype": "text/x-python", 282 | "name": "python", 283 | "nbconvert_exporter": "python", 284 | "pygments_lexer": "ipython3", 285 | "version": "3.6.8" 286 | } 287 | }, 288 | "nbformat": 4, 289 | "nbformat_minor": 2 290 | } 291 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/PSO-SVM FIX (traditional)-australian-Update2(CV_SVM)-APPROVED.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import pandas as pd\n", 10 | "import numpy as np\n", 11 | "import math\n", 12 | "import random\n", 13 | "import csv\n", 14 | "from sklearn.model_selection import KFold\n", 15 | "from sklearn.model_selection import cross_val_score\n", 16 | "from sklearn.svm import SVC\n", 17 | "from sklearn.metrics import classification_report, confusion_matrix\n", 18 | "import matplotlib.pyplot as plt\n", 19 | "from time import time" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 3, 25 | "metadata": { 26 | "scrolled": true 27 | }, 28 | "outputs": [ 29 | { 30 | "data": { 31 | "text/plain": [ 32 | "0 383\n", 33 | "1 307\n", 34 | "Name: y, dtype: int64" 35 | ] 36 | }, 37 | "execution_count": 3, 38 | "metadata": {}, 39 | "output_type": "execute_result" 40 | } 41 | ], 42 | "source": [ 43 | "url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\Australian fraud dataset\\\\australian.csv\"\n", 44 | "colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14', 'y']\n", 45 | "\n", 46 | "data = pd.read_csv(url, header = None, names = colnames)\n", 47 | "data[\"y\"].value_counts()" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 4, 53 | "metadata": {}, 54 | "outputs": [], 55 | "source": [ 56 | "X = data.drop('y', axis = 1)\n", 57 | "X = (X-X.mean())/X.std()\n", 58 | "y = data['y']" 59 | ] 60 | }, 61 | { 62 | "cell_type": "code", 63 | "execution_count": 5, 64 | "metadata": {}, 65 | "outputs": [], 66 | "source": [ 67 | "#################### I N P U T ####################\n", 68 | "c1 = 0.9\n", 69 | "c2 = 0.5\n", 70 | "wmax = 0.9\n", 71 | "wmin = 0.4\n", 72 | "w = wmax\n", 73 | "\n", 74 | "n_iterations = 10\n", 75 | "n_particles = 100" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": 52, 81 | "metadata": {}, 82 | "outputs": [], 83 | "source": [ 84 | "#mencari nilai 0-1 loss dari tiap partikel\n", 85 | "#partikle = (gamma,C) untuk rbf\n", 86 | "def fitness_function(position):\n", 87 | " kf = KFold(n_splits = 3)\n", 88 | " svclassifier = SVC(kernel='rbf', gamma = position[0], C = position[1] ) \n", 89 | " # svclassifier.fit(X_train, y_train)\n", 90 | " scores = cross_val_score(svclassifier, X, y, cv = kf, scoring = 'roc_auc')\n", 91 | " return np.mean(scores)\n", 92 | " # y_train_pred = svclassifier.predict(X_train)\n", 93 | " # y_test_pred = svclassifier.predict(X_test) \n", 94 | " # return (confusion_matrix(y_train,y_train_pred)[0][1] + confusion_matrix(y_train,y_train_pred)[1][0])/np.sum(confusion_matrix(y_train,y_train_pred)), (confusion_matrix(y_test,y_test_pred)[0][1] + confusion_matrix(y_test,y_test_pred)[1][0])/np.sum(confusion_matrix(y_test,y_test_pred))\n", 95 | "\n", 96 | "#plotting (x axis = gamma, y axis = C)\n", 97 | "def plot(position):\n", 98 | " x = []\n", 99 | " y = []\n", 100 | " for i in range(0,len(particle_position_vector)):\n", 101 | " x.append(particle_position_vector[i][0])\n", 102 | " y.append(particle_position_vector[i][1])\n", 103 | " colors = (0,0,0)\n", 104 | " plt.scatter(x, y, c = colors, alpha = 0.3)\n", 105 | " plt.xlabel('gamma')\n", 106 | " plt.ylabel('C')\n", 107 | " plt.axis([-1,11,-1,11])\n", 108 | " plt.gca().set_aspect('equal', adjustable='box')\n", 109 | " return plt.show()\n", 110 | "\n", 111 | "for i in range(n_particles):\n", 112 | " max_velocity = np.array([10,10])\n", 113 | " min_velocity = np.array([-10,-10])\n", 114 | " max_position = np.array([10,10])\n", 115 | " min_position = np.array([0.001, 0.001])\n", 116 | "\n", 117 | "def eval_velocity(new_velocity):\n", 118 | " for j in range(0,2):\n", 119 | " if(new_velocity[j] > max_velocity[j]):\n", 120 | " new_velocity[j] = max_velocity[j]\n", 121 | " elif(new_velocity[j] < min_velocity[j]):\n", 122 | " new_velocity[j] = min_velocity[j]\n", 123 | " return new_velocity\n", 124 | "\n", 125 | "def eval_position(particle_position_vector):\n", 126 | " for j in range(0,2):\n", 127 | " if(particle_position_vector[j] > max_position[j]):\n", 128 | " particle_position_vector[j] = max_position[j]\n", 129 | " elif(particle_position_vector[j] < min_position[j]):\n", 130 | " particle_position_vector[j] = min_position[j]\n", 131 | " return particle_position_vector\n", 132 | " " 133 | ] 134 | }, 135 | { 136 | "cell_type": "code", 137 | "execution_count": 53, 138 | "metadata": {}, 139 | "outputs": [], 140 | "source": [ 141 | "particle_position_vector = np.array([np.array([random.random()*10, random.random()*10]) for _ in range(n_particles)])\n", 142 | "pbest_position = particle_position_vector\n", 143 | "pbest_fitness_value = np.array([0 for _ in range(n_particles)])\n", 144 | "gbest_fitness_value = np.array([0])\n", 145 | "gbest_position = np.array([float('inf'), float('inf')])\n", 146 | "velocity_vector = np.array([np.array([(-1) ** (bool(random.getrandbits(1)))*random.random()*2,(-1) ** (bool(random.getrandbits(1))) * random.random()*2]) for _ in range(n_particles)])\n", 147 | "#velocity_vector = ([np.array([0, 0]) for _ in range(n_particles)])\n", 148 | "iteration = 0" 149 | ] 150 | }, 151 | { 152 | "cell_type": "code", 153 | "execution_count": 1, 154 | "metadata": { 155 | "scrolled": false 156 | }, 157 | "outputs": [ 158 | { 159 | "ename": "NameError", 160 | "evalue": "name 'time' is not defined", 161 | "output_type": "error", 162 | "traceback": [ 163 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 164 | "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", 165 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mstart\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;32mwhile\u001b[0m \u001b[0miteration\u001b[0m \u001b[1;33m<\u001b[0m \u001b[0mn_iterations\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mgbest_fitness_value_cadidate\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marray\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mgbest_position_cadidate\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marray\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mfloat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'inf'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfloat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'inf'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mstart1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 166 | "\u001b[1;31mNameError\u001b[0m: name 'time' is not defined" 167 | ] 168 | } 169 | ], 170 | "source": [ 171 | "start = time()\n", 172 | "while iteration < n_iterations:\n", 173 | " gbest_fitness_value_cadidate = np.array([0])\n", 174 | " gbest_position_cadidate = np.array([float('inf'), float('inf')])\n", 175 | " start1 = time()\n", 176 | " plot(particle_position_vector)\n", 177 | " \n", 178 | " for i in range(n_particles):\n", 179 | " start2 = time()\n", 180 | " fitness_cadidate = fitness_function(particle_position_vector[i])\n", 181 | " stop2 = time()\n", 182 | " print(\"AUC for particle -\", i+1,\"is\", fitness_cadidate, \" At (gamma, c): \", particle_position_vector[i], \".. Time = \", stop2 - start2)\n", 183 | " \n", 184 | " if(pbest_fitness_value[i] < fitness_cadidate):\n", 185 | " pbest_fitness_value[i] = fitness_cadidate\n", 186 | " pbest_position[i] = particle_position_vector[i]\n", 187 | "\n", 188 | " if(gbest_fitness_value_cadidate < fitness_cadidate):\n", 189 | " gbest_fitness_value_cadidate = fitness_cadidate\n", 190 | " gbest_position_cadidate = particle_position_vector[i]\n", 191 | " \n", 192 | " print(\"The best position in iteration number\", iteration + 1, \"is\", gbest_position_cadidate, \"with AUC:\", fitness_function(gbest_position_cadidate))\n", 193 | " \n", 194 | " # if(gbest_fitness_value < gbest_fitness_value_cadidate):\n", 195 | " # gbest_fitness_value = gbest_fitness_value_cadidate\n", 196 | " # gbest_position = gbest_position_cadidate\n", 197 | " #print(\"The best position so far is \", gbest_position, \"in iteration number\", iteration + 1, \"with AUC:\", fitness_function(gbest_position))\n", 198 | " \n", 199 | " for i in range(n_particles):\n", 200 | " new_velocity = w*velocity_vector[i] + (c1*random.random()) * (pbest_position[i] - particle_position_vector[i]) + (c2*random.random()) * (gbest_position_cadidate-particle_position_vector[i])\n", 201 | " new_velocity = eval_velocity(new_velocity)\n", 202 | " \n", 203 | " particle_position_vector[i] = new_velocity + particle_position_vector[i]\n", 204 | " particle_position_vector[i] = eval_position(particle_position_vector[i])\n", 205 | " w = (wmax - wmin)*(n_iterations - iteration)/n_iterations + wmin\n", 206 | " iteration = iteration + 1\n", 207 | " stop1 = time()\n", 208 | " sec = stop1-start1\n", 209 | " print(sec)\n", 210 | "stop = time()\n", 211 | "print(stop - start)\n" 212 | ] 213 | } 214 | ], 215 | "metadata": { 216 | "kernelspec": { 217 | "display_name": "Python 3", 218 | "language": "python", 219 | "name": "python3" 220 | }, 221 | "language_info": { 222 | "codemirror_mode": { 223 | "name": "ipython", 224 | "version": 3 225 | }, 226 | "file_extension": ".py", 227 | "mimetype": "text/x-python", 228 | "name": "python", 229 | "nbconvert_exporter": "python", 230 | "pygments_lexer": "ipython3", 231 | "version": "3.6.8" 232 | } 233 | }, 234 | "nbformat": 4, 235 | "nbformat_minor": 2 236 | } 237 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/PSO-SVM FIX (traditional)-australian-polynomial.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import pandas as pd\n", 10 | "import numpy as np\n", 11 | "import random\n", 12 | "import csv\n", 13 | "from sklearn.model_selection import train_test_split\n", 14 | "from sklearn.svm import SVC\n", 15 | "from sklearn.metrics import classification_report, confusion_matrix \n", 16 | "import matplotlib.pyplot as plt" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 12, 22 | "metadata": {}, 23 | "outputs": [], 24 | "source": [ 25 | "url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\Australian fraud dataset\\\\australian.csv\"\n", 26 | "colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14', 'y']\n", 27 | "data = pd.read_csv(url, header = None, names = colnames)\n", 28 | "X = data.drop('y', axis = 1)\n", 29 | "X = (X-X.mean())/X.std()\n", 30 | "y = data['y']\n", 31 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20) " 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 7, 37 | "metadata": {}, 38 | "outputs": [ 39 | { 40 | "name": "stdout", 41 | "output_type": "stream", 42 | "text": [ 43 | "Inform the number of iterations: 10\n", 44 | "Inform the number of particles: 100\n" 45 | ] 46 | } 47 | ], 48 | "source": [ 49 | "#################### I N P U T ####################\n", 50 | "W = 0.5\n", 51 | "c1 = 0.5\n", 52 | "c2 = 0.5\n", 53 | "\n", 54 | "n_iterations = int(input(\"Inform the number of iterations: \"))\n", 55 | "n_particles = int(input(\"Inform the number of particles: \"))" 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": 8, 61 | "metadata": {}, 62 | "outputs": [], 63 | "source": [ 64 | "#mencari nilai 0-1 loss dari tiap partikel\n", 65 | "#partikle = (gamma,C) untuk rbf\n", 66 | "def fitness_function(position):\n", 67 | " svclassifier = SVC(kernel='poly', gamma = position[0], C = position[1] ) \n", 68 | " svclassifier.fit(X_train, y_train)\n", 69 | " y_train_pred = svclassifier.predict(X_train)\n", 70 | " y_test_pred = svclassifier.predict(X_test) \n", 71 | " return (confusion_matrix(y_train,y_train_pred)[0][1] + confusion_matrix(y_train,y_train_pred)[1][0])/np.sum(confusion_matrix(y_train,y_train_pred)), (confusion_matrix(y_test,y_test_pred)[0][1] + confusion_matrix(y_test,y_test_pred)[1][0])/np.sum(confusion_matrix(y_test,y_test_pred))\n", 72 | "\n", 73 | "#plotting (x axis = gamma, y axis = C)\n", 74 | "def plot(position):\n", 75 | " x = []\n", 76 | " y = []\n", 77 | " for i in range(0,len(particle_position_vector)):\n", 78 | " x.append(particle_position_vector[i][0])\n", 79 | " y.append(particle_position_vector[i][1])\n", 80 | " colors = (0,0,0)\n", 81 | " plt.scatter(x, y, c = colors, alpha = 0.1)\n", 82 | " plt.xlabel('C')\n", 83 | " plt.ylabel('gamma')\n", 84 | " plt.axis([0,10,0,10])\n", 85 | " plt.gca().set_aspect('equal', adjustable='box')\n", 86 | " return plt.show()" 87 | ] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "execution_count": 15, 92 | "metadata": { 93 | "scrolled": false 94 | }, 95 | "outputs": [ 96 | { 97 | "name": "stderr", 98 | "output_type": "stream", 99 | "text": [ 100 | "'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with 'x' & 'y'. Please use a 2-D array with a single row if you really want to specify the same RGB or RGBA value for all points.\n" 101 | ] 102 | }, 103 | { 104 | "data": { 105 | "image/png": "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\n", 106 | "text/plain": [ 107 | "
" 108 | ] 109 | }, 110 | "metadata": { 111 | "needs_background": "light" 112 | }, 113 | "output_type": "display_data" 114 | }, 115 | { 116 | "name": "stdout", 117 | "output_type": "stream", 118 | "text": [ 119 | "error of particle- 1 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 9.18881738]\n", 120 | "error of particle- 2 is (training, test) (0.0018115942028985507, 0.2246376811594203) At (gamma, c): [2. 0.05467787]\n", 121 | "error of particle- 3 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 9.59641723]\n", 122 | "error of particle- 4 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 1.23179075]\n", 123 | "error of particle- 5 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [9. 7.42137606]\n", 124 | "error of particle- 6 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 9.18287016]\n", 125 | "error of particle- 7 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 1.57456366]\n", 126 | "error of particle- 8 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 4.33781737]\n", 127 | "error of particle- 9 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [3. 2.9474705]\n", 128 | "error of particle- 10 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [9. 6.44997835]\n", 129 | "error of particle- 11 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 8.35680874]\n", 130 | "error of particle- 12 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [2. 1.26341906]\n", 131 | "error of particle- 13 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 5.3086148]\n", 132 | "error of particle- 14 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 4.62726791]\n", 133 | "error of particle- 15 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 3.20701303]\n", 134 | "error of particle- 16 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [1. 9.98098624]\n", 135 | "error of particle- 17 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 5.46644233]\n", 136 | "error of particle- 18 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 1.82166416]\n", 137 | "error of particle- 19 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [2. 3.74591114]\n", 138 | "error of particle- 20 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 2.22471366]\n", 139 | "error of particle- 21 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 5.1667709]\n", 140 | "error of particle- 22 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [3. 2.60173087]\n", 141 | "error of particle- 23 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 2.1059704]\n", 142 | "error of particle- 24 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 3.30954119]\n", 143 | "error of particle- 25 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 6.32427891]\n", 144 | "error of particle- 26 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 1.27999005]\n", 145 | "error of particle- 27 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [3. 6.44878097]\n", 146 | "error of particle- 28 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 0.69976651]\n", 147 | "error of particle- 29 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 5.40256884]\n", 148 | "error of particle- 30 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [9. 7.50110185]\n", 149 | "error of particle- 31 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [3. 1.3427169]\n", 150 | "error of particle- 32 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 8.53575354]\n", 151 | "error of particle- 33 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 3.62528184]\n", 152 | "error of particle- 34 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [1. 8.11825255]\n", 153 | "error of particle- 35 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 0.93882951]\n", 154 | "error of particle- 36 is (training, test) (0.0, 0.2028985507246377) At (gamma, c): [1. 5.51299988]\n", 155 | "error of particle- 37 is (training, test) (0.0018115942028985507, 0.1956521739130435) At (gamma, c): [1. 3.26464314]\n", 156 | "error of particle- 38 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 5.27052818]\n", 157 | "error of particle- 39 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [3. 1.09348657]\n", 158 | "error of particle- 40 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 5.22007482]\n", 159 | "error of particle- 41 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [9. 0.15234589]\n", 160 | "error of particle- 42 is (training, test) (0.0018115942028985507, 0.1956521739130435) At (gamma, c): [1. 2.67598404]\n", 161 | "error of particle- 43 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 0.38637159]\n", 162 | "error of particle- 44 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 9.17252037]\n", 163 | "error of particle- 45 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [3. 2.32682338]\n", 164 | "error of particle- 46 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 4.08496865]\n", 165 | "error of particle- 47 is (training, test) (0.0, 0.21014492753623187) At (gamma, c): [4. 0.08994508]\n", 166 | "error of particle- 48 is (training, test) (0.0, 0.1956521739130435) At (gamma, c): [1. 4.82248808]\n", 167 | "error of particle- 49 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 4.06843972]\n", 168 | "error of particle- 50 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 1.40664228]\n", 169 | "error of particle- 51 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 4.25858185]\n", 170 | "error of particle- 52 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 2.68559265]\n", 171 | "error of particle- 53 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [3. 9.32820352]\n", 172 | "error of particle- 54 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [9. 6.39588039]\n", 173 | "error of particle- 55 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [2. 7.20869246]\n", 174 | "error of particle- 56 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [9. 8.10091009]\n", 175 | "error of particle- 57 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 7.57187532]\n", 176 | "error of particle- 58 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [2. 9.60462555]\n", 177 | "error of particle- 59 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 6.70616689]\n", 178 | "error of particle- 60 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 1.69363321]\n", 179 | "error of particle- 61 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 7.56299202]\n", 180 | "error of particle- 62 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [2. 6.11529761]\n", 181 | "error of particle- 63 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 7.05035582]\n", 182 | "error of particle- 64 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 6.59687888]\n", 183 | "error of particle- 65 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 5.10432321]\n", 184 | "error of particle- 66 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 7.94553413]\n", 185 | "error of particle- 67 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 1.0294431]\n", 186 | "error of particle- 68 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 2.28477269]\n", 187 | "error of particle- 69 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 1.04451287]\n", 188 | "error of particle- 70 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [9. 7.79856123]\n", 189 | "error of particle- 71 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 9.79045024]\n", 190 | "error of particle- 72 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 8.81763307]\n", 191 | "error of particle- 73 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 1.3196103]\n", 192 | "error of particle- 74 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 6.87414636]\n", 193 | "error of particle- 75 is (training, test) (0.0018115942028985507, 0.1956521739130435) At (gamma, c): [1. 1.64182162]\n", 194 | "error of particle- 76 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 1.57707487]\n" 195 | ] 196 | }, 197 | { 198 | "name": "stdout", 199 | "output_type": "stream", 200 | "text": [ 201 | "error of particle- 77 is (training, test) (0.0018115942028985507, 0.18840579710144928) At (gamma, c): [1. 4.60010273]\n", 202 | "error of particle- 78 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 4.72015078]\n", 203 | "error of particle- 79 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 3.10117059]\n", 204 | "error of particle- 80 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 8.53864313]\n", 205 | "error of particle- 81 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 2.64855753]\n", 206 | "error of particle- 82 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 6.39959624]\n", 207 | "error of particle- 83 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 6.94928639]\n", 208 | "error of particle- 84 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 7.85357194]\n", 209 | "error of particle- 85 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [1. 7.39353357]\n", 210 | "error of particle- 86 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 7.74251118]\n", 211 | "error of particle- 87 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 4.76008594]\n", 212 | "error of particle- 88 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 2.10405991]\n", 213 | "error of particle- 89 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [5. 2.56588097]\n", 214 | "error of particle- 90 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 7.5700091]\n", 215 | "error of particle- 91 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [6. 1.61509802]\n", 216 | "error of particle- 92 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 6.78487089]\n", 217 | "error of particle- 93 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 6.33554912]\n", 218 | "error of particle- 94 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [7. 1.68151414]\n", 219 | "error of particle- 95 is (training, test) (0.0, 0.2028985507246377) At (gamma, c): [1. 6.29807518]\n", 220 | "error of particle- 96 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 9.31469311]\n", 221 | "error of particle- 97 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [1. 8.53096845]\n", 222 | "error of particle- 98 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [8. 4.36265358]\n", 223 | "error of particle- 99 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [4. 5.89108849]\n", 224 | "error of particle- 100 is (training, test) (0.0, 0.21739130434782608) At (gamma, c): [10. 2.30420932]\n" 225 | ] 226 | }, 227 | { 228 | "ename": "TypeError", 229 | "evalue": "type numpy.ndarray doesn't define __round__ method", 230 | "output_type": "error", 231 | "traceback": [ 232 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 233 | "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", 234 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 25\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 26\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn_particles\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 27\u001b[1;33m \u001b[0mnew_velocity\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mW\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mvelocity_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mround\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mc1\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrandint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m3\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m*\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mpbest_position\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mc2\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m*\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mgbest_position\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 28\u001b[0m \u001b[0mnew_position\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnew_velocity\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 29\u001b[0m \u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnew_position\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 235 | "\u001b[1;31mTypeError\u001b[0m: type numpy.ndarray doesn't define __round__ method" 236 | ] 237 | } 238 | ], 239 | "source": [ 240 | "particle_position_vector = np.array([np.array([random.randint(1,10), random.random()*10]) for _ in range(n_particles)])\n", 241 | "pbest_position = particle_position_vector\n", 242 | "pbest_fitness_value = np.array([float('inf') for _ in range(n_particles)])\n", 243 | "gbest_fitness_value = np.array([float('inf'), float('inf')])\n", 244 | "gbest_position = np.array([float('inf'), float('inf')])\n", 245 | "\n", 246 | "velocity_vector = ([np.array([0, 0]) for _ in range(n_particles)])\n", 247 | "iteration = 0\n", 248 | "while iteration < n_iterations:\n", 249 | " plot(particle_position_vector)\n", 250 | " for i in range(n_particles):\n", 251 | " fitness_cadidate = fitness_function(particle_position_vector[i])\n", 252 | " print(\"error of particle-\",i+1,\"is (training, test)\", fitness_cadidate, \" At (gamma, c): \", particle_position_vector[i])\n", 253 | " \n", 254 | " if(pbest_fitness_value[i] > fitness_cadidate[1]):\n", 255 | " pbest_fitness_value[i] = fitness_cadidate[1]\n", 256 | " pbest_position[i] = particle_position_vector[i]\n", 257 | "\n", 258 | " if(gbest_fitness_value[1] > fitness_cadidate[1]):\n", 259 | " gbest_fitness_value = fitness_cadidate\n", 260 | " gbest_position = particle_position_vector[i]\n", 261 | " elif(gbest_fitness_value[1] == fitness_cadidate[1] and gbest_fitness_value[0] > fitness_cadidate[0]):\n", 262 | " gbest_fitness_value = fitness_cadidate\n", 263 | " gbest_position = particle_position_vector[i]\n", 264 | " \n", 265 | " for i in range(n_particles):\n", 266 | " new_velocity = (W*velocity_vector[i]) + int(round((c1*random.randint(0,3)))) * (pbest_position[i] - particle_position_vector[i]) + (c2*random.random()) * (gbest_position-particle_position_vector[i])\n", 267 | " new_position = new_velocity + particle_position_vector[i]\n", 268 | " particle_position_vector[i] = new_position\n", 269 | " \n", 270 | " iteration = iteration + 1\n", 271 | " \n", 272 | "print(\"The best position is \", gbest_position, \"in iteration number\", iteration, \"with error rate (train, test):\", fitness_function(gbest_position))" 273 | ] 274 | }, 275 | { 276 | "cell_type": "code", 277 | "execution_count": null, 278 | "metadata": {}, 279 | "outputs": [], 280 | "source": [] 281 | }, 282 | { 283 | "cell_type": "code", 284 | "execution_count": null, 285 | "metadata": {}, 286 | "outputs": [], 287 | "source": [] 288 | } 289 | ], 290 | "metadata": { 291 | "kernelspec": { 292 | "display_name": "Python 3", 293 | "language": "python", 294 | "name": "python3" 295 | }, 296 | "language_info": { 297 | "codemirror_mode": { 298 | "name": "ipython", 299 | "version": 3 300 | }, 301 | "file_extension": ".py", 302 | "mimetype": "text/x-python", 303 | "name": "python", 304 | "nbconvert_exporter": "python", 305 | "pygments_lexer": "ipython3", 306 | "version": "3.6.8" 307 | } 308 | }, 309 | "nbformat": 4, 310 | "nbformat_minor": 2 311 | } 312 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/SVM Algorithm (GridSearchCV)-Copy2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "import pandas as pd\n", 12 | "import numpy as np\n", 13 | "import csv\n", 14 | "from sklearn.model_selection import train_test_split\n", 15 | "from sklearn.svm import SVC\n", 16 | "from sklearn.metrics import classification_report, confusion_matrix \n", 17 | "from sklearn import svm" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 3, 23 | "metadata": { 24 | "collapsed": true 25 | }, 26 | "outputs": [], 27 | "source": [ 28 | "url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/statlog/heart/heart.dat\"\n", 29 | "colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','y']\n", 30 | "data = pd.read_csv(url, sep = ' ', header = None, names = colnames)" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 4, 36 | "metadata": {}, 37 | "outputs": [ 38 | { 39 | "data": { 40 | "text/plain": [ 41 | "x1 float64\n", 42 | "x2 float64\n", 43 | "x3 float64\n", 44 | "x4 float64\n", 45 | "x5 float64\n", 46 | "x6 float64\n", 47 | "x7 float64\n", 48 | "x8 float64\n", 49 | "x9 float64\n", 50 | "x10 float64\n", 51 | "x11 float64\n", 52 | "x12 float64\n", 53 | "x13 float64\n", 54 | "y int64\n", 55 | "dtype: object" 56 | ] 57 | }, 58 | "execution_count": 4, 59 | "metadata": {}, 60 | "output_type": "execute_result" 61 | } 62 | ], 63 | "source": [ 64 | "data.dtypes" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 5, 70 | "metadata": { 71 | "collapsed": true 72 | }, 73 | "outputs": [], 74 | "source": [ 75 | "data.loc[data.y == 2, 'y'] = 0" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": 6, 81 | "metadata": {}, 82 | "outputs": [ 83 | { 84 | "data": { 85 | "text/html": [ 86 | "
\n", 87 | "\n", 100 | "\n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | "
x1x2x3x4x5x6x7x8x9x10x11x12x13y
070.01.04.0130.0322.00.02.0109.00.02.42.03.03.00
167.00.03.0115.0564.00.02.0160.00.01.62.00.07.01
257.01.02.0124.0261.00.00.0141.00.00.31.00.07.00
364.01.04.0128.0263.00.00.0105.01.00.22.01.07.01
474.00.02.0120.0269.00.02.0121.01.00.21.01.03.01
\n", 208 | "
" 209 | ], 210 | "text/plain": [ 211 | " x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 y\n", 212 | "0 70.0 1.0 4.0 130.0 322.0 0.0 2.0 109.0 0.0 2.4 2.0 3.0 3.0 0\n", 213 | "1 67.0 0.0 3.0 115.0 564.0 0.0 2.0 160.0 0.0 1.6 2.0 0.0 7.0 1\n", 214 | "2 57.0 1.0 2.0 124.0 261.0 0.0 0.0 141.0 0.0 0.3 1.0 0.0 7.0 0\n", 215 | "3 64.0 1.0 4.0 128.0 263.0 0.0 0.0 105.0 1.0 0.2 2.0 1.0 7.0 1\n", 216 | "4 74.0 0.0 2.0 120.0 269.0 0.0 2.0 121.0 1.0 0.2 1.0 1.0 3.0 1" 217 | ] 218 | }, 219 | "execution_count": 6, 220 | "metadata": {}, 221 | "output_type": "execute_result" 222 | } 223 | ], 224 | "source": [ 225 | "data.head()" 226 | ] 227 | }, 228 | { 229 | "cell_type": "code", 230 | "execution_count": 7, 231 | "metadata": { 232 | "collapsed": true 233 | }, 234 | "outputs": [], 235 | "source": [ 236 | "X = data.drop('y', axis = 1)\n", 237 | "y = data['y']\n", 238 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = 42) " 239 | ] 240 | }, 241 | { 242 | "cell_type": "code", 243 | "execution_count": 8, 244 | "metadata": {}, 245 | "outputs": [ 246 | { 247 | "data": { 248 | "text/plain": [ 249 | "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n", 250 | " decision_function_shape=None, degree=3, gamma=1.0, kernel='rbf',\n", 251 | " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", 252 | " tol=0.001, verbose=False)" 253 | ] 254 | }, 255 | "execution_count": 8, 256 | "metadata": {}, 257 | "output_type": "execute_result" 258 | } 259 | ], 260 | "source": [ 261 | "classifier = svm.SVC(\n", 262 | " C=1.0,\n", 263 | " kernel='rbf',\n", 264 | " gamma=1.0,\n", 265 | " probability=False,\n", 266 | " shrinking=True,\n", 267 | " tol=1e-3,\n", 268 | " verbose=False,\n", 269 | " max_iter=-1,\n", 270 | " decision_function_shape=None,\n", 271 | " random_state=None)\n", 272 | "\n", 273 | "classifier.fit(X_train, y_train)" 274 | ] 275 | }, 276 | { 277 | "cell_type": "code", 278 | "execution_count": 10, 279 | "metadata": {}, 280 | "outputs": [ 281 | { 282 | "name": "stdout", 283 | "output_type": "stream", 284 | "text": [ 285 | "[[ 0 21]\n", 286 | " [ 0 33]]\n" 287 | ] 288 | } 289 | ], 290 | "source": [ 291 | "y_pred = classifier.predict(X_test)\n", 292 | "print(confusion_matrix(y_test,y_pred))" 293 | ] 294 | }, 295 | { 296 | "cell_type": "code", 297 | "execution_count": 16, 298 | "metadata": {}, 299 | "outputs": [ 300 | { 301 | "data": { 302 | "text/html": [ 303 | "
\n", 304 | "\n", 317 | "\n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | "
x1x2x3x4x5x6x7x8x9x10x11x12x13
3057.01.03.0128.0229.00.02.0150.00.00.42.01.07.0
11646.01.04.0120.0249.00.02.0144.00.00.81.00.07.0
7956.01.02.0120.0236.00.00.0178.00.00.81.00.03.0
12752.00.03.0136.0196.00.02.0169.00.00.12.00.03.0
19658.00.04.0100.0248.00.02.0122.00.01.02.00.03.0
\n", 419 | "
" 420 | ], 421 | "text/plain": [ 422 | " x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13\n", 423 | "30 57.0 1.0 3.0 128.0 229.0 0.0 2.0 150.0 0.0 0.4 2.0 1.0 7.0\n", 424 | "116 46.0 1.0 4.0 120.0 249.0 0.0 2.0 144.0 0.0 0.8 1.0 0.0 7.0\n", 425 | "79 56.0 1.0 2.0 120.0 236.0 0.0 0.0 178.0 0.0 0.8 1.0 0.0 3.0\n", 426 | "127 52.0 0.0 3.0 136.0 196.0 0.0 2.0 169.0 0.0 0.1 2.0 0.0 3.0\n", 427 | "196 58.0 0.0 4.0 100.0 248.0 0.0 2.0 122.0 0.0 1.0 2.0 0.0 3.0" 428 | ] 429 | }, 430 | "execution_count": 16, 431 | "metadata": {}, 432 | "output_type": "execute_result" 433 | } 434 | ], 435 | "source": [ 436 | "X_test.head()" 437 | ] 438 | }, 439 | { 440 | "cell_type": "code", 441 | "execution_count": 58, 442 | "metadata": {}, 443 | "outputs": [ 444 | { 445 | "data": { 446 | "text/plain": [ 447 | "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 448 | " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", 449 | " 1, 1, 1, 1, 1, 1, 1, 1], dtype=int64)" 450 | ] 451 | }, 452 | "execution_count": 58, 453 | "metadata": {}, 454 | "output_type": "execute_result" 455 | } 456 | ], 457 | "source": [ 458 | "y_pred" 459 | ] 460 | } 461 | ], 462 | "metadata": { 463 | "kernelspec": { 464 | "display_name": "Python 3", 465 | "language": "python", 466 | "name": "python3" 467 | }, 468 | "language_info": { 469 | "codemirror_mode": { 470 | "name": "ipython", 471 | "version": 3 472 | }, 473 | "file_extension": ".py", 474 | "mimetype": "text/x-python", 475 | "name": "python", 476 | "nbconvert_exporter": "python", 477 | "pygments_lexer": "ipython3", 478 | "version": "3.6.3" 479 | } 480 | }, 481 | "nbformat": 4, 482 | "nbformat_minor": 2 483 | } 484 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/SVM gridsearchCV australian.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import pandas as pd\n", 10 | "import numpy as np\n", 11 | "import random\n", 12 | "import csv\n", 13 | "from sklearn import svm\n", 14 | "from sklearn.model_selection import train_test_split\n", 15 | "from sklearn.model_selection import KFold\n", 16 | "from sklearn.svm import SVC\n", 17 | "from sklearn.model_selection import GridSearchCV\n", 18 | "from sklearn.metrics import classification_report, confusion_matrix " 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": 3, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [ 27 | "url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\Australian fraud dataset\\\\australian.csv\"\n", 28 | "colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14', 'y']\n", 29 | "data = pd.read_csv(url, header = None, names = colnames)\n", 30 | "X = data.drop('y', axis = 1)\n", 31 | "X = (X-X.mean())/X.std()\n", 32 | "y = data['y']\n", 33 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = 42) " 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 4, 39 | "metadata": {}, 40 | "outputs": [ 41 | { 42 | "data": { 43 | "text/plain": [ 44 | "(0.01, 0.2)" 45 | ] 46 | }, 47 | "execution_count": 4, 48 | "metadata": {}, 49 | "output_type": "execute_result" 50 | } 51 | ], 52 | "source": [ 53 | "nfolds = 5\n", 54 | "Cs = [0.001, 0.01, 0.2, 1, 10]\n", 55 | "gammas = [0.001, 0.01, 0.2, 1, 10]\n", 56 | "param_grid = {'C': Cs, 'gamma' : gammas}\n", 57 | "grid_search = GridSearchCV(svm.SVC(kernel='rbf'), param_grid, cv=nfolds)\n", 58 | "grid_search.fit(X_train, y_train)\n", 59 | "best_gamma = grid_search.best_params_['gamma']\n", 60 | "best_C = grid_search.best_params_['C']\n", 61 | "best_gamma, best_C" 62 | ] 63 | }, 64 | { 65 | "cell_type": "code", 66 | "execution_count": 5, 67 | "metadata": {}, 68 | "outputs": [ 69 | { 70 | "data": { 71 | "text/plain": [ 72 | "(array([[241, 55],\n", 73 | " [ 18, 238]], dtype=int64), array([[72, 15],\n", 74 | " [ 5, 46]], dtype=int64))" 75 | ] 76 | }, 77 | "execution_count": 5, 78 | "metadata": {}, 79 | "output_type": "execute_result" 80 | } 81 | ], 82 | "source": [ 83 | "svclassifier = SVC(kernel='rbf', gamma = best_gamma, C = best_C ) \n", 84 | "svclassifier.fit(X_train, y_train)\n", 85 | "y_train_pred = svclassifier.predict(X_train)\n", 86 | "y_test_pred = svclassifier.predict(X_test)\n", 87 | "confusion_matrix(y_train,y_train_pred), confusion_matrix(y_test, y_test_pred)" 88 | ] 89 | }, 90 | { 91 | "cell_type": "code", 92 | "execution_count": 6, 93 | "metadata": {}, 94 | "outputs": [ 95 | { 96 | "data": { 97 | "text/plain": [ 98 | "(0.1322463768115942, 0.14492753623188406)" 99 | ] 100 | }, 101 | "execution_count": 6, 102 | "metadata": {}, 103 | "output_type": "execute_result" 104 | } 105 | ], 106 | "source": [ 107 | "(confusion_matrix(y_train,y_train_pred)[0][1] + confusion_matrix(y_train,y_train_pred)[1][0])/np.sum(confusion_matrix(y_train,y_train_pred)), (confusion_matrix(y_test,y_test_pred)[0][1] + confusion_matrix(y_test,y_test_pred)[1][0])/np.sum(confusion_matrix(y_test,y_test_pred))" 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": 7, 113 | "metadata": {}, 114 | "outputs": [ 115 | { 116 | "data": { 117 | "text/plain": [ 118 | "(array([[292, 4],\n", 119 | " [ 9, 247]], dtype=int64), array([[75, 12],\n", 120 | " [12, 39]], dtype=int64))" 121 | ] 122 | }, 123 | "execution_count": 7, 124 | "metadata": {}, 125 | "output_type": "execute_result" 126 | } 127 | ], 128 | "source": [ 129 | "svclassifier = SVC(kernel='rbf', gamma = 0.37874898, C = 1.84307884 ) \n", 130 | "svclassifier.fit(X_train, y_train)\n", 131 | "y_train_pred = svclassifier.predict(X_train)\n", 132 | "y_test_pred = svclassifier.predict(X_test)\n", 133 | "confusion_matrix(y_train,y_train_pred), confusion_matrix(y_test, y_test_pred)" 134 | ] 135 | }, 136 | { 137 | "cell_type": "code", 138 | "execution_count": 17, 139 | "metadata": { 140 | "scrolled": true 141 | }, 142 | "outputs": [ 143 | { 144 | "data": { 145 | "text/plain": [ 146 | "array([-1.16155822, -1.2259314 , -0.74400916, 1.00026566, 1.00014753,\n", 147 | " 1.00043368, -0.98279247, 1.00039536, -1.00049639, -0.99984742,\n", 148 | " 0.86405789, 0.99984136, -0.99998266, 1.00001386, -0.9997529 ,\n", 149 | " 0.25646244, 0.99995283, 1.15093051, -1.28397648, 1.38357168,\n", 150 | " -1.16167223, -0.99990582, -1.41056606, -0.99998384, -1.31870109,\n", 151 | " 0.99976589, -1.23106243, 1.00001918, 1.00004432, 1.00015469,\n", 152 | " 0.45617807, -0.11781448, -0.99997886, 0.99963907, -1.0000086 ,\n", 153 | " -1.00018032, 0.99962884, 0.99984956, 1.00037431, 0.07079663,\n", 154 | " 0.99983897, -1.19781424, 1.0003678 , -0.39758009, -0.95143984,\n", 155 | " 0.99997435, -0.99993653, 0.17327991, -1.00007454, 0.91974179,\n", 156 | " -1.3593536 , -0.99972098, -1.15841982, -1.04431672, -0.06355347,\n", 157 | " 0.85542796, 1.11888589, -1.00004787, 0.68552072, 0.99997336,\n", 158 | " -1.16419723, -1.14981177, 0.99966478, 0.06310866, 0.99996966,\n", 159 | " 0.7132102 , -0.99991327, -0.99992175, -0.99999651, 0.37504772,\n", 160 | " 0.06961326, -0.99969535, -1.20314051, 0.9998048 , 0.99998827,\n", 161 | " -0.99969236, -0.57597718, -1.48455312, 0.04784887, 1.00043824,\n", 162 | " 0.99998596, -0.71030083, -0.99994231, -1.00016892, -1.00378106,\n", 163 | " -0.58073138, -0.14038838, 0.99956115, -0.64521597, -1.00004992,\n", 164 | " -0.39960672, -0.99988293, -0.99996488, 1.52848039, -0.99998237,\n", 165 | " -0.83291133, -0.99992037, -1.13038739, -1.00049154, 0.99973438,\n", 166 | " -0.99977439, -1.03711347, 1.00010678, 1.0000425 , -1.00007652,\n", 167 | " 0.99995824, 1.0001085 , -1.23877749, 0.15110469, -1.12099604,\n", 168 | " -0.99966517, -1.00011426, -1.00002188, 0.99997955, -0.99959996,\n", 169 | " 0.99961583, 0.99993722, 1.02586422, 1.05035985, 0.99998866,\n", 170 | " 1.2528204 , -1.00002819, -0.99956279, 1.0000781 , 1.0003829 ,\n", 171 | " -0.99990801, 1.00005647, -1.27176512, 1.00008814, 0.99999338,\n", 172 | " 1.0000347 , -0.58046228, -0.4194405 , -0.18208665, -0.99994424,\n", 173 | " -0.76447832, -0.45848624, 0.99975014, 1.03940456, 1.00009931,\n", 174 | " -1.00008473, -0.99991811, -1.00000651, 1.00016932, -1.00001887,\n", 175 | " 0.07160595, 0.99954579, -0.99985621, 0.07512896, 1.00003808,\n", 176 | " -0.75598209, -0.99993443, -1.00007789, -0.99998376, 1.00004427,\n", 177 | " -0.33252701, 0.81453175, -1.08682458, 0.13519627, -1.0000351 ,\n", 178 | " -1.20215642, -1.0000482 , 0.99998097, 0.99997987, -0.3326099 ,\n", 179 | " -0.67197082, -0.99992892, 0.99984572, -1.00979859, -0.99994667,\n", 180 | " -0.51285406, 0.99987681, -1.00023927, -0.9999874 , 1.00044266,\n", 181 | " -0.99972379, -0.06367856, -0.9998179 , 0.99967889, 0.99987177,\n", 182 | " -1.00014483, -1.00000186, 0.06583346, 0.99982812, 1.00046637,\n", 183 | " -1.0002889 , -0.99997887, -0.99972011, -1.08353084, -1.00042243,\n", 184 | " -1.05427464, 1.00013691, -0.28428105, -0.6809092 , -0.17136252,\n", 185 | " 1.00038404, 0.99992526, -1.0000973 , -0.99991282, -0.16102442,\n", 186 | " 1.00012713, -1.06552045, 1.00000739, -0.63825488, 1.00001803,\n", 187 | " 0.9998773 , -1.35123968, -1.00005462, -1.00036377, -1.00000457,\n", 188 | " 0.07650111, -0.05526417, -1.29914725, 0.4706792 , -0.99996413,\n", 189 | " 1.04542394, -1.00031602, -1.00009657, -1.08574325, 1.00021215,\n", 190 | " 0.96894701, -0.99971692, 0.99982878, -0.69689386, -0.99992906,\n", 191 | " -1.00000021, -0.99991434, 0.14859369, 1.00014509, 1.00031758,\n", 192 | " 1.00014987, -0.67500495, -1.00005014, 0.99997989, 0.99972191,\n", 193 | " 0.39869419, -1.00000149, -1.00008883, -1.36645235, 0.99966204,\n", 194 | " 0.99991863, 1.03778269, 0.99996337, -1.00003243, -0.33623145,\n", 195 | " -1.0004087 , -1.00000301, 0.42874982, 0.24788662, -1.28198124,\n", 196 | " -0.94148044, -1.00005229, 1.00044608, -1.1497996 , 1.00002396,\n", 197 | " 1.0004377 , -0.93408623, -0.68201782, -0.9999263 , -0.99999103,\n", 198 | " -0.99984224, 1.00017364, -0.99982209, 0.85909569, 0.24435865,\n", 199 | " -1.0151974 , -0.99990217, 1.00002866, -1.35709442, -1.28038846,\n", 200 | " -0.99994395, 0.64385988, -0.54148404, -0.04105265, 1.00004714,\n", 201 | " -0.99980354, -0.99994442, 0.67342596, 1.35824688, 1.00002292,\n", 202 | " -1.26644852, -0.67103598, -1.00004399, -1.18183612, -0.82189883,\n", 203 | " 1.00038767, 0.23697547, 0.99999309, -1.0088921 , -1.14466528,\n", 204 | " -1.00018286, -0.99996242, 1.37624566, 0.99997576, 0.7199675 ,\n", 205 | " -1.00030958, -0.88699986, -1.00007038, 1.00002717, -0.99997638,\n", 206 | " 1.00041741, -0.9995197 , -0.24932824, -1.07068689, -0.99996165,\n", 207 | " 0.99949606, -1.00030185, 1.00035291, -1.2070612 , -0.99982043,\n", 208 | " -0.46937421, -1.00027655, -0.22906314, 1.00028302, 0.99978902,\n", 209 | " -0.99984977, -1.00004568, 1.00015739, -1.13091725, 0.99990246,\n", 210 | " 0.97240156, 0.3189937 , 0.99980031, 1.00001377, 0.99985881,\n", 211 | " 1.00035666, -1.15740574, -0.45019058, -1.25256804, -0.99960089,\n", 212 | " 0.99999501, 0.99975507, 0.50918252, -0.12150559, -0.64545808,\n", 213 | " -0.86124654, 0.98082685, -0.99988042, 0.99997026, -0.57233871,\n", 214 | " -1.15592911, 0.22928507, 1.0577663 , 1.00047064, -0.11382976,\n", 215 | " 1.00029012, 1.00036089, 1.00003106, 1.00001548, -1.40571357,\n", 216 | " 1.0000668 , -1.00018673, 0.99979594, 0.06715956, -1.26939163,\n", 217 | " -0.82683328, -0.71948859, -1.04138983, 1.00042363, -0.99961251,\n", 218 | " 0.24932164, 0.99964911, -0.99990673, -0.99999258, -0.99995416,\n", 219 | " -0.99997754, -0.99997667, 0.99993439, -0.99990734, 1.38096878,\n", 220 | " 1.00002027, -1.00018923, -0.99985633, -1.00021765, 1.00005315,\n", 221 | " 0.99999369, 1.00025877, -1.16543251, -1.10023778, 0.9995343 ,\n", 222 | " 1.24077472, -0.99780825, -0.99958767, -0.99999327, 0.99984666,\n", 223 | " 1.0002354 , -1.13137765, 1.00008101, 0.99971121, 1.00034593,\n", 224 | " 0.99995883, -1.00039574, -1.04437949, 1.22786757, 1.00008968,\n", 225 | " -0.99963473, 1.10664003, -1.00028467, -0.99987343, -1.00026819,\n", 226 | " -1.17384437, 0.96064263, -1.00018558, -1.10304117, -0.78451524,\n", 227 | " -0.57183211, 1.00012001, -1.12215671, 1.0003463 , -1.27161178,\n", 228 | " -1.04547294, -1.00013912, 1.00004076, 0.99999257, 0.9999859 ,\n", 229 | " -0.99984309, -0.99998292, 1.00006685, -0.9999854 , 0.99996202,\n", 230 | " 1.00000494, -0.5403989 , -1.31078638, 1.00003252, -0.99997902,\n", 231 | " -0.99991832, 1.00012375, -0.5882807 , -1.09336189, -0.55308492,\n", 232 | " 1.00020164, -1.00019256, -0.99998441, 1.1070067 , -1.00001559,\n", 233 | " 1.00044205, -0.8130729 , 1.0317838 , 0.99963501, -1.2056153 ,\n", 234 | " 0.99963141, -1.27562286, -0.9997318 , 1.00004255, -1.00007346,\n", 235 | " 0.99975048, 1.00009856, -1.00037824, -1.00005116, -1.13661457,\n", 236 | " -1.01920677, -1.00007962, 0.0708837 , 1.00009122, -1.00001115,\n", 237 | " -0.99997975, 1.000148 , 1.00014411, -1.00047856, 1.00034643,\n", 238 | " -0.99995669, 0.999691 , -0.69705026, 0.9999809 , -1.00007311,\n", 239 | " 0.99977851, 0.99987236, -0.15788412, 0.99999806, -1.0000417 ,\n", 240 | " 1.00009232, 0.99986317, 1.07482246, -1.00012847, -1.00011068,\n", 241 | " 0.19317902, -1.00005067, -1.00022158, 0.07598324, -1.00032606,\n", 242 | " 0.99960099, 0.01860615, -0.70681421, -0.99994616, 1.00002266,\n", 243 | " 1.00007937, 0.99999901, 0.99993068, 0.99997409, -1.00036434,\n", 244 | " 0.99990264, 1.25649976, -1.00012639, -0.03334261, -1.20581188,\n", 245 | " 0.93626232, 1.00009976, -0.61325858, 1.00001912, 1.02214808,\n", 246 | " 0.06583346, -1.08179051, 0.99996117, 0.99964203, 1.00000033,\n", 247 | " 1.00024836, -0.9997839 , -0.10683634, -0.99964646, 0.89697332,\n", 248 | " -1.00008783, -0.09893844, -1.00025191, 1.12494419, -1.1822565 ,\n", 249 | " -1.0004434 , 0.99972393, 0.9998225 , 0.9269619 , -1.00002805,\n", 250 | " 1.00013738, -1.00007184, -0.99972367, 1.31004355, 1.00009575,\n", 251 | " -1.09239784, -0.08333302, -0.31367893, -1.12715804, -1.08901705,\n", 252 | " -0.99972741, -1.0004877 , -1.00046995, 1.00017664, -0.99998516,\n", 253 | " 1.00009502, -1.41417189, -0.94358323, 0.99955607, 1.05198148,\n", 254 | " -1.22763011, -1.00002682, 1.00001376, -1.38091176, -0.68842017,\n", 255 | " -1.08310662, -1.02078981, -0.99993932, -1.00000511, 0.14328846,\n", 256 | " 1.0001157 , 0.99996427, -0.99955321, -0.9999865 , -0.24021182,\n", 257 | " -0.99954627, -0.95140388, 1.00010741, -0.99990123, 0.99974493,\n", 258 | " -0.99969704, 1.00010873, -1.00031903, -1.00048934, 1.00001847,\n", 259 | " 1.00007145, 0.99966715, -0.62689405, -0.05633853, -0.56990368,\n", 260 | " -1.00009048, -1.23657068, 0.01289006, -1.26866601, 0.99964757,\n", 261 | " 1.00013995, -0.41877513, -1.00020676, 0.48183043, -0.99955075,\n", 262 | " -1.00015456, 0.99974107, 1.00031471, 0.11773374, -1.02403214,\n", 263 | " 1.0510134 , 0.12450084, 1.00004762, 0.99988065, -1.00000471,\n", 264 | " -1.00012521, 1.00001547, -1.00026723, 0.99980873, -0.55262771,\n", 265 | " -1.16405821, 0.99973836, -0.22965867, -1.09810916, 0.99997571,\n", 266 | " -1.09880471, 1.00009296, 1.00025866, 0.99982231, 0.99975056,\n", 267 | " -1.00035867, 0.05498666, 1.13259629, -1.20354481, 0.79060617,\n", 268 | " 0.99995675, -1.03087551, 0.99997167, -0.99951105, 0.99949295,\n", 269 | " 0.99978117, -0.99204576, -0.97926443, -1.00000932, 1.0001985 ,\n", 270 | " -0.99999319, 1.13184252, 1.16646779, -1.16394118, 0.32697951,\n", 271 | " -1.00003869, -1.00024576, -1.3547265 , -0.999964 , -1.15817008,\n", 272 | " 1.00003131, -0.99997098, 0.52767488, -1.31040791, -0.99970364,\n", 273 | " -1.00013252, -0.92487318, -0.99974164, -1.00312951, -0.55123014,\n", 274 | " -0.61918112, 0.99965273, 1.00000637, -0.99999853, -0.35074002,\n", 275 | " -0.28643139, -1.00007344, -1.00001593, -1.00032776, 1.00007666,\n", 276 | " 1.00013503, -1.00017528, -0.50888942, 0.99999448, -0.99998674,\n", 277 | " -0.57563743, 1.000039 , -0.67954336, -0.70575269, -0.78469078,\n", 278 | " 1.00022625, -0.99979915, 0.14537259, 1.02401398, -0.99998702,\n", 279 | " -1.01330886, -1.32694106, -1.00008071, -0.96684443, -0.82870315,\n", 280 | " 1.00016849, -0.25524025, -1.00042839, 1.00001905, 0.34456127,\n", 281 | " -1.00001172, -1.34164685, -0.34879664, -1.00047516, 0.9999778 ,\n", 282 | " -0.85674855, -0.12998704, 1.00027814, -0.99979474, 0.99995356,\n", 283 | " 0.30621234, -0.05724497, 0.99975831, 1.00019916, 0.99999421])" 284 | ] 285 | }, 286 | "execution_count": 17, 287 | "metadata": {}, 288 | "output_type": "execute_result" 289 | } 290 | ], 291 | "source": [ 292 | "svclassifier.decision_function(X)" 293 | ] 294 | }, 295 | { 296 | "cell_type": "code", 297 | "execution_count": 18, 298 | "metadata": {}, 299 | "outputs": [ 300 | { 301 | "data": { 302 | "text/plain": [ 303 | "array([0.06583346])" 304 | ] 305 | }, 306 | "execution_count": 18, 307 | "metadata": {}, 308 | "output_type": "execute_result" 309 | } 310 | ], 311 | "source": [ 312 | "svclassifier.intercept_" 313 | ] 314 | } 315 | ], 316 | "metadata": { 317 | "kernelspec": { 318 | "display_name": "Python 3", 319 | "language": "python", 320 | "name": "python3" 321 | }, 322 | "language_info": { 323 | "codemirror_mode": { 324 | "name": "ipython", 325 | "version": 3 326 | }, 327 | "file_extension": ".py", 328 | "mimetype": "text/x-python", 329 | "name": "python", 330 | "nbconvert_exporter": "python", 331 | "pygments_lexer": "ipython3", 332 | "version": "3.6.8" 333 | } 334 | }, 335 | "nbformat": 4, 336 | "nbformat_minor": 2 337 | } 338 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/Untitled.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [], 3 | "metadata": {}, 4 | "nbformat": 4, 5 | "nbformat_minor": 2 6 | } 7 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/Untitled1.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [] 9 | } 10 | ], 11 | "metadata": { 12 | "kernelspec": { 13 | "display_name": "Python 3", 14 | "language": "python", 15 | "name": "python3" 16 | }, 17 | "language_info": { 18 | "codemirror_mode": { 19 | "name": "ipython", 20 | "version": 3 21 | }, 22 | "file_extension": ".py", 23 | "mimetype": "text/x-python", 24 | "name": "python", 25 | "nbconvert_exporter": "python", 26 | "pygments_lexer": "ipython3", 27 | "version": "3.6.8" 28 | } 29 | }, 30 | "nbformat": 4, 31 | "nbformat_minor": 2 32 | } 33 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/Untitled2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 9, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import numpy as np\n", 10 | "from sklearn.svm import SVC\n", 11 | "import pandas as pd" 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 4, 17 | "metadata": {}, 18 | "outputs": [], 19 | "source": [ 20 | "X = np.array([(2,3),(5,3)])" 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "execution_count": 12, 26 | "metadata": {}, 27 | "outputs": [], 28 | "source": [ 29 | "y = np.array([0,1])" 30 | ] 31 | }, 32 | { 33 | "cell_type": "code", 34 | "execution_count": 13, 35 | "metadata": {}, 36 | "outputs": [ 37 | { 38 | "data": { 39 | "text/plain": [ 40 | "SVC(C=1.84307884, cache_size=200, class_weight=None, coef0=0.0,\n", 41 | " decision_function_shape='ovr', degree=3, gamma=0.37874898, kernel='rbf',\n", 42 | " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", 43 | " tol=0.001, verbose=False)" 44 | ] 45 | }, 46 | "execution_count": 13, 47 | "metadata": {}, 48 | "output_type": "execute_result" 49 | } 50 | ], 51 | "source": [ 52 | "svclassifier = SVC(kernel='rbf', gamma = 0.37874898, C = 1.84307884 ) \n", 53 | "svclassifier.fit(X,y)" 54 | ] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "execution_count": 14, 59 | "metadata": {}, 60 | "outputs": [ 61 | { 62 | "data": { 63 | "text/plain": [ 64 | "array([-1., 1.])" 65 | ] 66 | }, 67 | "execution_count": 14, 68 | "metadata": {}, 69 | "output_type": "execute_result" 70 | } 71 | ], 72 | "source": [ 73 | "svclassifier.decision_function(X)" 74 | ] 75 | } 76 | ], 77 | "metadata": { 78 | "kernelspec": { 79 | "display_name": "Python 3", 80 | "language": "python", 81 | "name": "python3" 82 | }, 83 | "language_info": { 84 | "codemirror_mode": { 85 | "name": "ipython", 86 | "version": 3 87 | }, 88 | "file_extension": ".py", 89 | "mimetype": "text/x-python", 90 | "name": "python", 91 | "nbconvert_exporter": "python", 92 | "pygments_lexer": "ipython3", 93 | "version": "3.6.8" 94 | } 95 | }, 96 | "nbformat": 4, 97 | "nbformat_minor": 2 98 | } 99 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/Yang dipake untuk german .ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import pandas as pd\n", 10 | "import numpy as np\n", 11 | "import math\n", 12 | "import random\n", 13 | "import csv\n", 14 | "from sklearn.model_selection import KFold\n", 15 | "from sklearn.model_selection import cross_val_score\n", 16 | "from sklearn.svm import SVC\n", 17 | "from sklearn.metrics import classification_report, confusion_matrix\n", 18 | "import matplotlib.pyplot as plt\n", 19 | "from time import time" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 2, 25 | "metadata": { 26 | "scrolled": true 27 | }, 28 | "outputs": [], 29 | "source": [ 30 | "url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\German fraud dataset\\\\german.csv\"\n", 31 | "colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14','x15','x16','x17','x18','x19','x20','x21','x22','x23','x24','y']\n", 32 | "data = pd.read_csv(url, header = None, names = colnames)" 33 | ] 34 | }, 35 | { 36 | "cell_type": "code", 37 | "execution_count": 3, 38 | "metadata": { 39 | "scrolled": true 40 | }, 41 | "outputs": [], 42 | "source": [ 43 | "X = data.drop('y', axis = 1)\n", 44 | "X = (X-X.mean())/X.std()\n", 45 | "y = data['y']\n", 46 | "n_iterations = 10\n", 47 | "n_particles = 100" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 4, 53 | "metadata": {}, 54 | "outputs": [], 55 | "source": [ 56 | "#mencari nilai 0-1 loss dari tiap partikel\n", 57 | "#partikle = (gamma,C) untuk rbf\n", 58 | "def fitness_function(position):\n", 59 | " kf = KFold(n_splits = 3)\n", 60 | " svclassifier = SVC(kernel='rbf', gamma = position[0], C = position[1] ) \n", 61 | " # svclassifier.fit(X_train, y_train)\n", 62 | " scores = cross_val_score(svclassifier, X, y, cv = kf, scoring = 'roc_auc')\n", 63 | " return np.mean(scores)\n", 64 | " # y_train_pred = svclassifier.predict(X_train)\n", 65 | " # y_test_pred = svclassifier.predict(X_test) \n", 66 | " # return (confusion_matrix(y_train,y_train_pred)[0][1] + confusion_matrix(y_train,y_train_pred)[1][0])/np.sum(confusion_matrix(y_train,y_train_pred)), (confusion_matrix(y_test,y_test_pred)[0][1] + confusion_matrix(y_test,y_test_pred)[1][0])/np.sum(confusion_matrix(y_test,y_test_pred))\n", 67 | "\n", 68 | "#plotting (x axis = gamma, y axis = C)\n", 69 | "def plot(position):\n", 70 | " x = []\n", 71 | " y = []\n", 72 | " for i in range(0,len(particle_position_vector)):\n", 73 | " x.append(particle_position_vector[i][0])\n", 74 | " y.append(particle_position_vector[i][1])\n", 75 | " colors = (0,0,0)\n", 76 | " plt.scatter(x, y, c = colors, alpha = 0.3)\n", 77 | " plt.xlabel('gamma')\n", 78 | " plt.ylabel('C')\n", 79 | " plt.axis([-1,11,-1,11])\n", 80 | " plt.gca().set_aspect('equal', adjustable='box')\n", 81 | " return plt.show()\n", 82 | "\n", 83 | "for i in range(n_particles):\n", 84 | " max_velocity = np.array([10,10])\n", 85 | " min_velocity = np.array([-10,-10])\n", 86 | " max_position = np.array([10,10])\n", 87 | " min_position = np.array([0.0001, 0.001])\n", 88 | "\n", 89 | "def eval_velocity(new_velocity):\n", 90 | " for j in range(0,2):\n", 91 | " if(new_velocity[j] > max_velocity[j]):\n", 92 | " new_velocity[j] = max_velocity[j]\n", 93 | " elif(new_velocity[j] < min_velocity[j]):\n", 94 | " new_velocity[j] = min_velocity[j]\n", 95 | " return new_velocity\n", 96 | "\n", 97 | "def eval_position(particle_position_vector):\n", 98 | " for j in range(0,2):\n", 99 | " if(particle_position_vector[j] > max_position[j]):\n", 100 | " particle_position_vector[j] = max_position[j]\n", 101 | " elif(particle_position_vector[j] < min_position[j]):\n", 102 | " particle_position_vector[j] = min_position[j]\n", 103 | " return particle_position_vector\n", 104 | " " 105 | ] 106 | }, 107 | { 108 | "cell_type": "code", 109 | "execution_count": 5, 110 | "metadata": {}, 111 | "outputs": [], 112 | "source": [ 113 | "particle_position_vector = np.array([np.array([random.random()*10, random.random()*10]) for _ in range(n_particles)])\n", 114 | "pbest_position = particle_position_vector\n", 115 | "pbest_fitness_value = np.array([0 for _ in range(n_particles)])\n", 116 | "gbest_fitness_value = np.array([0])\n", 117 | "gbest_position = np.array([float('inf'), float('inf')])\n", 118 | "velocity_vector = np.array([np.array([(-1) ** (bool(random.getrandbits(1)))*random.random()*2,(-1) ** (bool(random.getrandbits(1))) * random.random()*2]) for _ in range(n_particles)])\n", 119 | "#velocity_vector = ([np.array([0, 0]) for _ in range(n_particles)])\n", 120 | "iteration = 0" 121 | ] 122 | }, 123 | { 124 | "cell_type": "code", 125 | "execution_count": 6, 126 | "metadata": {}, 127 | "outputs": [], 128 | "source": [ 129 | "wmax = 0.9\n", 130 | "wmin = 0.4\n", 131 | "w = wmax" 132 | ] 133 | }, 134 | { 135 | "cell_type": "code", 136 | "execution_count": 7, 137 | "metadata": { 138 | "scrolled": false 139 | }, 140 | "outputs": [ 141 | { 142 | "name": "stderr", 143 | "output_type": "stream", 144 | "text": [ 145 | "'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with 'x' & 'y'. Please use a 2-D array with a single row if you really want to specify the same RGB or RGBA value for all points.\n" 146 | ] 147 | }, 148 | { 149 | "data": { 150 | "image/png": "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\n", 151 | "text/plain": [ 152 | "
" 153 | ] 154 | }, 155 | "metadata": { 156 | "needs_background": "light" 157 | }, 158 | "output_type": "display_data" 159 | }, 160 | { 161 | "ename": "ValueError", 162 | "evalue": "Data is not binary and pos_label is not specified", 163 | "output_type": "error", 164 | "traceback": [ 165 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 166 | "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", 167 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn_particles\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[0mstart2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 10\u001b[1;33m \u001b[0mfitness_cadidate\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfitness_function\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 11\u001b[0m \u001b[0mstop2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"AUC for particle -\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m+\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"is\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfitness_cadidate\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\" At (gamma, c): \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparticle_position_vector\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\".. Time = \"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstop2\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mstart2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 168 | "\u001b[1;32m\u001b[0m in \u001b[0;36mfitness_function\u001b[1;34m(position)\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0msvclassifier\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mSVC\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkernel\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'rbf'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mgamma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mposition\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mC\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mposition\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;31m# svclassifier.fit(X_train, y_train)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m \u001b[0mscores\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcross_val_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msvclassifier\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcv\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mkf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscoring\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'roc_auc'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 8\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmean\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mscores\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;31m# y_train_pred = svclassifier.predict(X_train)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 169 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\u001b[0m in \u001b[0;36mcross_val_score\u001b[1;34m(estimator, X, y, groups, scoring, cv, n_jobs, verbose, fit_params, pre_dispatch)\u001b[0m\n\u001b[0;32m 340\u001b[0m \u001b[0mn_jobs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mn_jobs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mverbose\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 341\u001b[0m \u001b[0mfit_params\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfit_params\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 342\u001b[1;33m pre_dispatch=pre_dispatch)\n\u001b[0m\u001b[0;32m 343\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mcv_results\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'test_score'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 344\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 170 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\u001b[0m in \u001b[0;36mcross_validate\u001b[1;34m(estimator, X, y, groups, scoring, cv, n_jobs, verbose, fit_params, pre_dispatch, return_train_score)\u001b[0m\n\u001b[0;32m 204\u001b[0m \u001b[0mfit_params\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreturn_train_score\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mreturn_train_score\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 205\u001b[0m return_times=True)\n\u001b[1;32m--> 206\u001b[1;33m for train, test in cv.split(X, y, groups))\n\u001b[0m\u001b[0;32m 207\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 208\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mreturn_train_score\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 171 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\externals\\joblib\\parallel.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, iterable)\u001b[0m\n\u001b[0;32m 777\u001b[0m \u001b[1;31m# was dispatched. In particular this covers the edge\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 778\u001b[0m \u001b[1;31m# case of Parallel used with an exhausted iterator.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 779\u001b[1;33m \u001b[1;32mwhile\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdispatch_one_batch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 780\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_iterating\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 781\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 172 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\externals\\joblib\\parallel.py\u001b[0m in \u001b[0;36mdispatch_one_batch\u001b[1;34m(self, iterator)\u001b[0m\n\u001b[0;32m 623\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 624\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 625\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_dispatch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtasks\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 626\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 627\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 173 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\externals\\joblib\\parallel.py\u001b[0m in \u001b[0;36m_dispatch\u001b[1;34m(self, batch)\u001b[0m\n\u001b[0;32m 586\u001b[0m \u001b[0mdispatch_timestamp\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 587\u001b[0m \u001b[0mcb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mBatchCompletionCallBack\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdispatch_timestamp\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbatch\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 588\u001b[1;33m \u001b[0mjob\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_backend\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mapply_async\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbatch\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 589\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_jobs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mjob\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 590\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 174 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\externals\\joblib\\_parallel_backends.py\u001b[0m in \u001b[0;36mapply_async\u001b[1;34m(self, func, callback)\u001b[0m\n\u001b[0;32m 109\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mapply_async\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 110\u001b[0m \u001b[1;34m\"\"\"Schedule a func to be run\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 111\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mImmediateResult\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 112\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 113\u001b[0m \u001b[0mcallback\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 175 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\externals\\joblib\\_parallel_backends.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, batch)\u001b[0m\n\u001b[0;32m 330\u001b[0m \u001b[1;31m# Don't delay the application, to avoid keeping the input\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 331\u001b[0m \u001b[1;31m# arguments in memory\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 332\u001b[1;33m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mresults\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbatch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 333\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 334\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 176 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\externals\\joblib\\parallel.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 129\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 130\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__call__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 131\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 132\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 133\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__len__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 177 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\externals\\joblib\\parallel.py\u001b[0m in \u001b[0;36m\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 129\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 130\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__call__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 131\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 132\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 133\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__len__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 178 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\u001b[0m in \u001b[0;36m_fit_and_score\u001b[1;34m(estimator, X, y, scorer, train, test, verbose, parameters, fit_params, return_train_score, return_parameters, return_n_test_samples, return_times, error_score)\u001b[0m\n\u001b[0;32m 486\u001b[0m \u001b[0mfit_time\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mstart_time\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 487\u001b[0m \u001b[1;31m# _score will return dict if is_multimetric is True\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 488\u001b[1;33m \u001b[0mtest_scores\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mestimator\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX_test\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_test\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscorer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mis_multimetric\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 489\u001b[0m \u001b[0mscore_time\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mstart_time\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mfit_time\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 490\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mreturn_train_score\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 179 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\u001b[0m in \u001b[0;36m_score\u001b[1;34m(estimator, X_test, y_test, scorer, is_multimetric)\u001b[0m\n\u001b[0;32m 521\u001b[0m \"\"\"\n\u001b[0;32m 522\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mis_multimetric\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 523\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0m_multimetric_score\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mestimator\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX_test\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_test\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mscorer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 524\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 525\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0my_test\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 180 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\model_selection\\_validation.py\u001b[0m in \u001b[0;36m_multimetric_score\u001b[1;34m(estimator, X_test, y_test, scorers)\u001b[0m\n\u001b[0;32m 551\u001b[0m \u001b[0mscore\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mscorer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mestimator\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX_test\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 552\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 553\u001b[1;33m \u001b[0mscore\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mscorer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mestimator\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mX_test\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_test\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 554\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 555\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mscore\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'item'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 181 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\metrics\\scorer.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, clf, X, y, sample_weight)\u001b[0m\n\u001b[0;32m 204\u001b[0m **self._kwargs)\n\u001b[0;32m 205\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 206\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_sign\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_score_func\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_pred\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_kwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 207\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 208\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_factory_args\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 182 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\metrics\\ranking.py\u001b[0m in \u001b[0;36mroc_auc_score\u001b[1;34m(y_true, y_score, average, sample_weight)\u001b[0m\n\u001b[0;32m 275\u001b[0m return _average_binary_score(\n\u001b[0;32m 276\u001b[0m \u001b[0m_binary_roc_auc_score\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_score\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maverage\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 277\u001b[1;33m sample_weight=sample_weight)\n\u001b[0m\u001b[0;32m 278\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 279\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 183 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\metrics\\base.py\u001b[0m in \u001b[0;36m_average_binary_score\u001b[1;34m(binary_metric, y_true, y_score, average, sample_weight)\u001b[0m\n\u001b[0;32m 73\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 74\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0my_type\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"binary\"\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 75\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mbinary_metric\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_score\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msample_weight\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msample_weight\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 76\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 77\u001b[0m \u001b[0mcheck_consistent_length\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_score\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msample_weight\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 184 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\metrics\\ranking.py\u001b[0m in \u001b[0;36m_binary_roc_auc_score\u001b[1;34m(y_true, y_score, sample_weight)\u001b[0m\n\u001b[0;32m 270\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 271\u001b[0m fpr, tpr, tresholds = roc_curve(y_true, y_score,\n\u001b[1;32m--> 272\u001b[1;33m sample_weight=sample_weight)\n\u001b[0m\u001b[0;32m 273\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mauc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfpr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtpr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mreorder\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 274\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 185 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\metrics\\ranking.py\u001b[0m in \u001b[0;36mroc_curve\u001b[1;34m(y_true, y_score, pos_label, sample_weight, drop_intermediate)\u001b[0m\n\u001b[0;32m 532\u001b[0m \"\"\"\n\u001b[0;32m 533\u001b[0m fps, tps, thresholds = _binary_clf_curve(\n\u001b[1;32m--> 534\u001b[1;33m y_true, y_score, pos_label=pos_label, sample_weight=sample_weight)\n\u001b[0m\u001b[0;32m 535\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 536\u001b[0m \u001b[1;31m# Attempt to drop thresholds corresponding to points in between and\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 186 | "\u001b[1;32mD:\\CONDA\\lib\\site-packages\\sklearn\\metrics\\ranking.py\u001b[0m in \u001b[0;36m_binary_clf_curve\u001b[1;34m(y_true, y_score, pos_label, sample_weight)\u001b[0m\n\u001b[0;32m 335\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marray_equal\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mclasses\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 336\u001b[0m np.array_equal(classes, [1]))):\n\u001b[1;32m--> 337\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Data is not binary and pos_label is not specified\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 338\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mpos_label\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 339\u001b[0m \u001b[0mpos_label\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 187 | "\u001b[1;31mValueError\u001b[0m: Data is not binary and pos_label is not specified" 188 | ] 189 | } 190 | ], 191 | "source": [ 192 | "start = time()\n", 193 | "while iteration < n_iterations:\n", 194 | " gbest_fitness_value_cadidate = np.array([0])\n", 195 | " gbest_position_cadidate = np.array([float('inf'), float('inf')])\n", 196 | " start1 = time()\n", 197 | " plot(particle_position_vector)\n", 198 | " \n", 199 | " for i in range(n_particles):\n", 200 | " start2 = time()\n", 201 | " fitness_cadidate = fitness_function(particle_position_vector[i])\n", 202 | " stop2 = time()\n", 203 | " print(\"AUC for particle -\", i+1,\"is\", fitness_cadidate, \" At (gamma, c): \", particle_position_vector[i], \".. Time = \", stop2 - start2)\n", 204 | " \n", 205 | " if(pbest_fitness_value[i] < fitness_cadidate):\n", 206 | " pbest_fitness_value[i] = fitness_cadidate\n", 207 | " pbest_position[i] = particle_position_vector[i]\n", 208 | "\n", 209 | " if(gbest_fitness_value_cadidate < fitness_cadidate):\n", 210 | " gbest_fitness_value_cadidate = fitness_cadidate\n", 211 | " gbest_position_cadidate = particle_position_vector[i]\n", 212 | " \n", 213 | " print(\"The best position in iteration number\", iteration + 1, \"is\", gbest_position_cadidate, \"with AUC:\", fitness_function(gbest_position_cadidate))\n", 214 | " \n", 215 | " # if(gbest_fitness_value < gbest_fitness_value_cadidate):\n", 216 | " # gbest_fitness_value = gbest_fitness_value_cadidate\n", 217 | " # gbest_position = gbest_position_cadidate\n", 218 | " #print(\"The best position so far is \", gbest_position, \"in iteration number\", iteration + 1, \"with AUC:\", fitness_function(gbest_position))\n", 219 | " \n", 220 | " for i in range(n_particles):\n", 221 | " new_velocity = w*velocity_vector[i] + (c1*random.random()) * (pbest_position[i] - particle_position_vector[i]) + (c2*random.random()) * (gbest_position_cadidate-particle_position_vector[i])\n", 222 | " new_velocity = eval_velocity(new_velocity)\n", 223 | " particle_position_vector[i] = new_velocity + particle_position_vector[i]\n", 224 | " particle_position_vector[i] = eval_position(particle_position_vector[i])\n", 225 | " w = (wmax - wmin)*(n_iterations - iteration)/n_iterations + wmin\n", 226 | " iteration = iteration + 1\n", 227 | " stop1 = time()\n", 228 | " sec = stop1-start1\n", 229 | " print(sec)\n", 230 | "stop = time()\n", 231 | "print(stop - start)\n" 232 | ] 233 | } 234 | ], 235 | "metadata": { 236 | "kernelspec": { 237 | "display_name": "Python 3", 238 | "language": "python", 239 | "name": "python3" 240 | }, 241 | "language_info": { 242 | "codemirror_mode": { 243 | "name": "ipython", 244 | "version": 3 245 | }, 246 | "file_extension": ".py", 247 | "mimetype": "text/x-python", 248 | "name": "python", 249 | "nbconvert_exporter": "python", 250 | "pygments_lexer": "ipython3", 251 | "version": "3.6.8" 252 | } 253 | }, 254 | "nbformat": 4, 255 | "nbformat_minor": 2 256 | } 257 | -------------------------------------------------------------------------------- /PSO SVM ALGORITM/yang dipake laporan australian.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import pandas as pd\n", 10 | "import numpy as np\n", 11 | "import math\n", 12 | "import random\n", 13 | "import csv\n", 14 | "from sklearn.model_selection import KFold\n", 15 | "from sklearn.model_selection import cross_val_score\n", 16 | "from sklearn.svm import SVC\n", 17 | "from sklearn.metrics import classification_report, confusion_matrix\n", 18 | "import matplotlib.pyplot as plt\n", 19 | "from time import time" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 2, 25 | "metadata": { 26 | "scrolled": true 27 | }, 28 | "outputs": [ 29 | { 30 | "data": { 31 | "text/plain": [ 32 | "0 383\n", 33 | "1 307\n", 34 | "Name: y, dtype: int64" 35 | ] 36 | }, 37 | "execution_count": 2, 38 | "metadata": {}, 39 | "output_type": "execute_result" 40 | } 41 | ], 42 | "source": [ 43 | "url = \"D:\\\\TUGAS AKHIR\\\\Data TA\\\\Australian fraud dataset\\\\australian.csv\"\n", 44 | "colnames = ['x1', 'x2', 'x3','x4','x5','x6','x7','x8','x9','x10','x11','x12','x13','x14', 'y']\n", 45 | "\n", 46 | "data = pd.read_csv(url, header = None, names = colnames)\n", 47 | "data[\"y\"].value_counts()" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 3, 53 | "metadata": {}, 54 | "outputs": [], 55 | "source": [ 56 | "X = data.drop('y', axis = 1)\n", 57 | "X = (X-X.mean())/X.std()\n", 58 | "y = data['y']" 59 | ] 60 | }, 61 | { 62 | "cell_type": "code", 63 | "execution_count": 4, 64 | "metadata": {}, 65 | "outputs": [], 66 | "source": [ 67 | "#################### I N P U T ####################\n", 68 | "c1 = 0.9\n", 69 | "c2 = 0.5\n", 70 | "wmax = 0.9\n", 71 | "wmin = 0.4\n", 72 | "w = wmax\n", 73 | "\n", 74 | "n_iterations = 10\n", 75 | "n_particles = 100" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": 5, 81 | "metadata": {}, 82 | "outputs": [], 83 | "source": [ 84 | "#mencari nilai 0-1 loss dari tiap partikel\n", 85 | "#partikle = (gamma,C) untuk rbf\n", 86 | "def fitness_function(position):\n", 87 | " kf = KFold(n_splits = 3)\n", 88 | " svclassifier = SVC(kernel='rbf', gamma = position[0], C = position[1] ) \n", 89 | " # svclassifier.fit(X_train, y_train)\n", 90 | " scores = cross_val_score(svclassifier, X, y, cv = kf, scoring = 'roc_auc')\n", 91 | " return np.mean(scores)\n", 92 | " # y_train_pred = svclassifier.predict(X_train)\n", 93 | " # y_test_pred = svclassifier.predict(X_test) \n", 94 | " # return (confusion_matrix(y_train,y_train_pred)[0][1] + confusion_matrix(y_train,y_train_pred)[1][0])/np.sum(confusion_matrix(y_train,y_train_pred)), (confusion_matrix(y_test,y_test_pred)[0][1] + confusion_matrix(y_test,y_test_pred)[1][0])/np.sum(confusion_matrix(y_test,y_test_pred))\n", 95 | "\n", 96 | "#plotting (x axis = gamma, y axis = C)\n", 97 | "def plot(position):\n", 98 | " x = []\n", 99 | " y = []\n", 100 | " for i in range(0,len(particle_position_vector)):\n", 101 | " x.append(particle_position_vector[i][0])\n", 102 | " y.append(particle_position_vector[i][1])\n", 103 | " colors = (0,0,0)\n", 104 | " plt.scatter(x, y, c = colors, alpha = 0.3)\n", 105 | " plt.xlabel('gamma')\n", 106 | " plt.ylabel('C')\n", 107 | " plt.axis([-1,11,-1,11])\n", 108 | " plt.gca().set_aspect('equal', adjustable='box')\n", 109 | " return plt.show()\n", 110 | "\n", 111 | "for i in range(n_particles):\n", 112 | " max_velocity = np.array([10,10])\n", 113 | " min_velocity = np.array([-10,-10])\n", 114 | " max_position = np.array([10,10])\n", 115 | " min_position = np.array([0.001, 0.001])\n", 116 | "\n", 117 | "def eval_velocity(new_velocity):\n", 118 | " for j in range(0,2):\n", 119 | " if(new_velocity[j] > max_velocity[j]):\n", 120 | " new_velocity[j] = max_velocity[j]\n", 121 | " elif(new_velocity[j] < min_velocity[j]):\n", 122 | " new_velocity[j] = min_velocity[j]\n", 123 | " return new_velocity\n", 124 | "\n", 125 | "def eval_position(particle_position_vector):\n", 126 | " for j in range(0,2):\n", 127 | " if(particle_position_vector[j] > max_position[j]):\n", 128 | " particle_position_vector[j] = max_position[j]\n", 129 | " elif(particle_position_vector[j] < min_position[j]):\n", 130 | " particle_position_vector[j] = min_position[j]\n", 131 | " return particle_position_vector\n", 132 | " " 133 | ] 134 | }, 135 | { 136 | "cell_type": "code", 137 | "execution_count": 6, 138 | "metadata": {}, 139 | "outputs": [], 140 | "source": [ 141 | "particle_position_vector = np.array([np.array([random.random()*10, random.random()*10]) for _ in range(n_particles)])\n", 142 | "pbest_position = particle_position_vector\n", 143 | "pbest_fitness_value = np.array([0 for _ in range(n_particles)])\n", 144 | "gbest_fitness_value = np.array([0])\n", 145 | "gbest_position = np.array([float('inf'), float('inf')])\n", 146 | "velocity_vector = np.array([np.array([(-1) ** (bool(random.getrandbits(1)))*random.random()*2,(-1) ** (bool(random.getrandbits(1))) * random.random()*2]) for _ in range(n_particles)])\n", 147 | "#velocity_vector = ([np.array([0, 0]) for _ in range(n_particles)])\n", 148 | "iteration = 0" 149 | ] 150 | }, 151 | { 152 | "cell_type": "code", 153 | "execution_count": null, 154 | "metadata": { 155 | "scrolled": false 156 | }, 157 | "outputs": [ 158 | { 159 | "name": "stderr", 160 | "output_type": "stream", 161 | "text": [ 162 | "'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with 'x' & 'y'. Please use a 2-D array with a single row if you really want to specify the same RGB or RGBA value for all points.\n" 163 | ] 164 | }, 165 | { 166 | "data": { 167 | "image/png": "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\n", 168 | "text/plain": [ 169 | "
" 170 | ] 171 | }, 172 | "metadata": { 173 | "needs_background": "light" 174 | }, 175 | "output_type": "display_data" 176 | }, 177 | { 178 | "name": "stdout", 179 | "output_type": "stream", 180 | "text": [ 181 | "AUC for particle - 1 is 0.81552811786162 At (gamma, c): [5.79914628 4.3623787 ] .. Time = 0.19201040267944336\n", 182 | "AUC for particle - 2 is 0.8106357144684568 At (gamma, c): [7.16628816 8.93554505] .. Time = 0.13799667358398438\n", 183 | "AUC for particle - 3 is 0.9116707652160564 At (gamma, c): [0.15237573 0.61347629] .. Time = 0.09399747848510742\n", 184 | "AUC for particle - 4 is 0.8046812963023876 At (gamma, c): [8.54572975 9.96980394] .. Time = 0.1320197582244873\n", 185 | "AUC for particle - 5 is 0.8166902229093341 At (gamma, c): [5.09520846 9.48668086] .. Time = 0.1440122127532959\n", 186 | "AUC for particle - 6 is 0.8163196298367378 At (gamma, c): [4.88389331 0.19325558] .. Time = 0.13599562644958496\n", 187 | "AUC for particle - 7 is 0.8207027605086089 At (gamma, c): [3.30276406 6.16208561] .. Time = 0.1759946346282959\n", 188 | "AUC for particle - 8 is 0.8201662459933701 At (gamma, c): [3.5621785 3.67474123] .. Time = 0.16000676155090332\n", 189 | "AUC for particle - 9 is 0.8212776509544643 At (gamma, c): [3.07280562 1.48695773] .. Time = 0.14600038528442383\n", 190 | "AUC for particle - 10 is 0.8203581256464517 At (gamma, c): [3.46253485 9.97469775] .. Time = 0.14299654960632324\n", 191 | "AUC for particle - 11 is 0.8352069793025813 At (gamma, c): [1.02754514 6.35691299] .. Time = 0.1290125846862793\n", 192 | "AUC for particle - 12 is 0.8201154523425765 At (gamma, c): [3.62179405 9.69569546] .. Time = 0.16899609565734863\n", 193 | "AUC for particle - 13 is 0.8460231381277663 At (gamma, c): [1.0234391 0.89197196] .. Time = 0.1580662727355957\n", 194 | "AUC for particle - 14 is 0.8139280915466962 At (gamma, c): [6.41240374 3.90745228] .. Time = 0.15503287315368652\n", 195 | "AUC for particle - 15 is 0.8208304931489826 At (gamma, c): [3.20094157 5.85908923] .. Time = 0.14400053024291992\n", 196 | "AUC for particle - 16 is 0.811045151292538 At (gamma, c): [6.87278538 7.95788581] .. Time = 0.1450366973876953\n", 197 | "AUC for particle - 17 is 0.8172360675270185 At (gamma, c): [4.79047257 3.16417003] .. Time = 0.13724374771118164\n", 198 | "AUC for particle - 18 is 0.8580901300761306 At (gamma, c): [0.32044705 8.3445228 ] .. Time = 0.1239919662475586\n", 199 | "AUC for particle - 19 is 0.8155413776593606 At (gamma, c): [5.60319351 4.04877337] .. Time = 0.1439981460571289\n", 200 | "AUC for particle - 20 is 0.8218768154556318 At (gamma, c): [2.76683063 4.15996099] .. Time = 0.14599609375\n", 201 | "AUC for particle - 21 is 0.8326302979799641 At (gamma, c): [1.3006176 4.80375567] .. Time = 0.12599802017211914\n", 202 | "AUC for particle - 22 is 0.806599063627293 At (gamma, c): [7.80861263 3.60156937] .. Time = 0.154998779296875\n", 203 | "AUC for particle - 23 is 0.8202807188360032 At (gamma, c): [3.73951295 5.7407812 ] .. Time = 0.14700007438659668\n", 204 | "AUC for particle - 24 is 0.8113264812195505 At (gamma, c): [6.82621398 9.49616738] .. Time = 0.1380305290222168\n", 205 | "AUC for particle - 25 is 0.8198974273507084 At (gamma, c): [4.06796096 4.12661746] .. Time = 0.14700889587402344\n", 206 | "AUC for particle - 26 is 0.8263562938353637 At (gamma, c): [1.58445852 7.76180461] .. Time = 0.13999509811401367\n", 207 | "AUC for particle - 27 is 0.8254711475134225 At (gamma, c): [1.96878732 0.08114899] .. Time = 0.11205792427062988\n", 208 | "AUC for particle - 28 is 0.8313272004941358 At (gamma, c): [1.3499669 7.23802929] .. Time = 0.13397955894470215\n", 209 | "AUC for particle - 29 is 0.8149912290896864 At (gamma, c): [5.88433756 8.76835472] .. Time = 0.19499707221984863\n", 210 | "AUC for particle - 30 is 0.8196934106699706 At (gamma, c): [4.26887364 5.66811189] .. Time = 0.2130286693572998\n", 211 | "AUC for particle - 31 is 0.85445124685226 At (gamma, c): [0.83831403 0.96324337] .. Time = 0.15000152587890625\n", 212 | "AUC for particle - 32 is 0.9012730663099532 At (gamma, c): [0.17771155 1.22410047] .. Time = 0.11401057243347168\n", 213 | "AUC for particle - 33 is 0.8077359589779576 At (gamma, c): [7.68899509 3.08021184] .. Time = 0.13701558113098145\n", 214 | "AUC for particle - 34 is 0.8146063470134389 At (gamma, c): [6.11246744 3.78533307] .. Time = 0.15505266189575195\n", 215 | "AUC for particle - 35 is 0.84476337547376 At (gamma, c): [0.72585119 4.46851594] .. Time = 0.1269969940185547\n", 216 | "AUC for particle - 36 is 0.8106372114952359 At (gamma, c): [7.06531899 4.01524425] .. Time = 0.1399993896484375\n", 217 | "AUC for particle - 37 is 0.8051034315391671 At (gamma, c): [8.50609007 1.64916364] .. Time = 0.13401246070861816\n", 218 | "AUC for particle - 38 is 0.8117093048839767 At (gamma, c): [6.74458956 8.04538072] .. Time = 0.1429462432861328\n", 219 | "AUC for particle - 39 is 0.8067012123139224 At (gamma, c): [7.91712489 1.90613392] .. Time = 0.1380019187927246\n", 220 | "AUC for particle - 40 is 0.8401564188312519 At (gamma, c): [0.96563813 2.12009583] .. Time = 0.11799907684326172\n", 221 | "AUC for particle - 41 is 0.8839024154907186 At (gamma, c): [0.32401709 1.01652321] .. Time = 0.115997314453125\n", 222 | "AUC for particle - 42 is 0.8228445146175747 At (gamma, c): [2.55618187 0.4408555 ] .. Time = 0.1249992847442627\n", 223 | "AUC for particle - 43 is 0.8217874587458747 At (gamma, c): [2.83914048 4.87872098] .. Time = 0.15703082084655762\n", 224 | "AUC for particle - 44 is 0.8509951938715467 At (gamma, c): [0.49851589 9.12229775] .. Time = 0.13199901580810547\n", 225 | "AUC for particle - 45 is 0.8070974829044366 At (gamma, c): [8.26889165 3.30517742] .. Time = 0.15099763870239258\n", 226 | "AUC for particle - 46 is 0.8228714084697506 At (gamma, c): [2.47214898 1.88226484] .. Time = 0.135009765625\n", 227 | "AUC for particle - 47 is 0.7982862698229956 At (gamma, c): [9.49756662 8.61828912] .. Time = 0.13399243354797363\n", 228 | "AUC for particle - 48 is 0.7946808036285354 At (gamma, c): [9.72959606 7.55906268] .. Time = 0.14600181579589844\n", 229 | "AUC for particle - 49 is 0.8198464465715675 At (gamma, c): [4.13165267 7.56943094] .. Time = 0.17999577522277832\n", 230 | "AUC for particle - 50 is 0.7991306338607282 At (gamma, c): [9.31639302 7.91060582] .. Time = 0.13901185989379883\n", 231 | "AUC for particle - 51 is 0.8051417139056097 At (gamma, c): [8.50156875 2.28194226] .. Time = 0.14500737190246582\n", 232 | "AUC for particle - 52 is 0.8151187746017127 At (gamma, c): [5.84046643 1.57455601] .. Time = 0.137009859085083\n", 233 | "AUC for particle - 53 is 0.8697528575448907 At (gamma, c): [0.5404424 0.73025534] .. Time = 0.11601090431213379\n", 234 | "AUC for particle - 54 is 0.8235329422643262 At (gamma, c): [2.33902232 1.11528183] .. Time = 0.13650727272033691\n", 235 | "AUC for particle - 55 is 0.8201664331217176 At (gamma, c): [3.63504343 3.77338183] .. Time = 0.1610121726989746\n", 236 | "AUC for particle - 56 is 0.8167158068630783 At (gamma, c): [5.07986773 7.75044994] .. Time = 0.1569995880126953\n", 237 | "AUC for particle - 57 is 0.8000258851134282 At (gamma, c): [9.10280078 9.33934538] .. Time = 0.14403796195983887\n", 238 | "AUC for particle - 58 is 0.8237368653808903 At (gamma, c): [2.14063229 2.66692514] .. Time = 0.13499784469604492\n", 239 | "AUC for particle - 59 is 0.8055858104082834 At (gamma, c): [6.22423128e+00 3.59869594e-03] .. Time = 0.1080019474029541\n", 240 | "AUC for particle - 60 is 0.8170840608313323 At (gamma, c): [4.94869455 3.30017112] .. Time = 0.16499757766723633\n", 241 | "AUC for particle - 61 is 0.7992163415677115 At (gamma, c): [9.48802136 8.86657226] .. Time = 0.15199494361877441\n", 242 | "AUC for particle - 62 is 0.7991050499069839 At (gamma, c): [9.3499715 2.95899209] .. Time = 0.14401006698608398\n", 243 | "AUC for particle - 63 is 0.801533747793384 At (gamma, c): [9.00584929 7.2750626 ] .. Time = 0.1540083885192871\n", 244 | "AUC for particle - 64 is 0.8201154523425765 At (gamma, c): [3.61326964 9.80734634] .. Time = 0.1440110206604004\n", 245 | "AUC for particle - 65 is 0.8063940177406446 At (gamma, c): [8.16867613 9.67667502] .. Time = 0.139984130859375\n", 246 | "AUC for particle - 66 is 0.8208049091952384 At (gamma, c): [3.18721472 3.19563854] .. Time = 0.13799786567687988\n", 247 | "AUC for particle - 67 is 0.8194510180586164 At (gamma, c): [4.30912275 1.07877825] .. Time = 0.14300537109375\n", 248 | "AUC for particle - 68 is 0.8144528432909736 At (gamma, c): [6.08772017 8.04372861] .. Time = 0.1370086669921875\n", 249 | "AUC for particle - 69 is 0.8168930232558139 At (gamma, c): [4.90891984 0.88267757] .. Time = 0.1360015869140625\n", 250 | "AUC for particle - 70 is 0.8193618484772065 At (gamma, c): [4.47369676 3.62588019] .. Time = 0.15800738334655762\n", 251 | "AUC for particle - 71 is 0.8157720074997532 At (gamma, c): [5.50534524 8.00140019] .. Time = 0.1600055694580078\n", 252 | "AUC for particle - 72 is 0.8106229224915847 At (gamma, c): [7.17427808 3.76377157] .. Time = 0.1590104103088379\n" 253 | ] 254 | }, 255 | { 256 | "name": "stdout", 257 | "output_type": "stream", 258 | "text": [ 259 | "AUC for particle - 73 is 0.8107148989982055 At (gamma, c): [6.92906179 7.38771581] .. Time = 0.13601279258728027\n", 260 | "AUC for particle - 74 is 0.838781434821223 At (gamma, c): [0.93525499 5.53880305] .. Time = 0.11701607704162598\n", 261 | "AUC for particle - 75 is 0.8059976535859565 At (gamma, c): [7.95467393 3.02322194] .. Time = 0.13949871063232422\n", 262 | "AUC for particle - 76 is 0.9136825411444799 At (gamma, c): [0.05950763 2.78950888] .. Time = 0.10052156448364258\n", 263 | "AUC for particle - 77 is 0.8171478335873456 At (gamma, c): [4.89275411 4.96033842] .. Time = 0.18199563026428223\n", 264 | "AUC for particle - 78 is 0.8077487509548297 At (gamma, c): [7.72161301 4.89238084] .. Time = 0.1329965591430664\n", 265 | "AUC for particle - 79 is 0.7958723287611154 At (gamma, c): [9.62325205 1.08714258] .. Time = 0.1309964656829834\n", 266 | "AUC for particle - 80 is 0.8162440943097632 At (gamma, c): [5.29392848 4.58828815] .. Time = 0.13899445533752441\n", 267 | "AUC for particle - 81 is 0.8231243475178083 At (gamma, c): [2.21055681 4.26310722] .. Time = 0.13099098205566406\n", 268 | "AUC for particle - 82 is 0.8309499906801312 At (gamma, c): [1.44489618 2.86866677] .. Time = 0.12099742889404297\n", 269 | "AUC for particle - 83 is 0.8138779528451184 At (gamma, c): [6.24777773 1.15978055] .. Time = 0.14503026008605957\n", 270 | "AUC for particle - 84 is 0.8109056558812027 At (gamma, c): [6.97106222 6.3836409 ] .. Time = 0.14197397232055664\n", 271 | "AUC for particle - 85 is 0.8119612147261237 At (gamma, c): [6.69005824 5.25232853] .. Time = 0.13799643516540527\n", 272 | "AUC for particle - 86 is 0.8123057560241073 At (gamma, c): [6.64751527 2.54086732] .. Time = 0.13499879837036133\n", 273 | "AUC for particle - 87 is 0.8013178747775109 At (gamma, c): [9.01522788 6.58578801] .. Time = 0.13501667976379395\n", 274 | "AUC for particle - 88 is 0.8201016311597936 At (gamma, c): [3.96622641 5.02732734] .. Time = 0.1459968090057373\n", 275 | "AUC for particle - 89 is 0.8087077749635428 At (gamma, c): [7.48903946 2.61747612] .. Time = 0.14001059532165527\n", 276 | "AUC for particle - 90 is 0.8531272173064482 At (gamma, c): [0.68073272 2.03482778] .. Time = 0.12001371383666992\n", 277 | "AUC for particle - 91 is 0.8219148171295534 At (gamma, c): [2.7182852 8.33985632] .. Time = 0.15301156044006348\n", 278 | "AUC for particle - 92 is 0.8273994349601073 At (gamma, c): [1.52862741 8.71301911] .. Time = 0.12598633766174316\n", 279 | "AUC for particle - 93 is 0.8155159808339638 At (gamma, c): [5.59469099 8.86650252] .. Time = 0.16500163078308105\n", 280 | "AUC for particle - 94 is 0.8166642646988951 At (gamma, c): [5.0687943 1.09215408] .. Time = 0.15001177787780762\n", 281 | "AUC for particle - 95 is 0.7991944066167415 At (gamma, c): [8.77410317 0.6171031 ] .. Time = 0.14501023292541504\n", 282 | "AUC for particle - 96 is 0.8218002507227467 At (gamma, c): [2.81312462 3.29773965] .. Time = 0.14102911949157715\n", 283 | "AUC for particle - 97 is 0.8146063470134389 At (gamma, c): [6.13427335 3.38907175] .. Time = 0.17700815200805664\n", 284 | "AUC for particle - 98 is 0.8176580156354506 At (gamma, c): [4.66073777 9.64573637] .. Time = 0.14700937271118164\n", 285 | "AUC for particle - 99 is 0.7951796907265477 At (gamma, c): [9.7144181 9.90782308] .. Time = 0.1419997215270996\n", 286 | "AUC for particle - 100 is 0.8220927820356788 At (gamma, c): [2.7445733 0.81808521] .. Time = 0.13399553298950195\n" 287 | ] 288 | }, 289 | { 290 | "name": "stderr", 291 | "output_type": "stream", 292 | "text": [ 293 | "'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with 'x' & 'y'. Please use a 2-D array with a single row if you really want to specify the same RGB or RGBA value for all points.\n" 294 | ] 295 | }, 296 | { 297 | "name": "stdout", 298 | "output_type": "stream", 299 | "text": [ 300 | "The best position in iteration number 1 is [0.05950763 2.78950888] with AUC: 0.9136825411444799\n", 301 | "16.171164751052856\n" 302 | ] 303 | }, 304 | { 305 | "data": { 306 | "image/png": "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\n", 307 | "text/plain": [ 308 | "
" 309 | ] 310 | }, 311 | "metadata": { 312 | "needs_background": "light" 313 | }, 314 | "output_type": "display_data" 315 | }, 316 | { 317 | "name": "stdout", 318 | "output_type": "stream", 319 | "text": [ 320 | "AUC for particle - 1 is 0.8194767891407081 At (gamma, c): [4.32609892 5.01012837] .. Time = 0.16300678253173828\n", 321 | "AUC for particle - 2 is 0.8219657979086946 At (gamma, c): [2.70370546 5.02081945] .. Time = 0.16300058364868164\n", 322 | "AUC for particle - 3 is 0.8383481917626977 At (gamma, c): [0.98102482 3.00573246] .. Time = 0.13099980354309082\n", 323 | "AUC for particle - 4 is 0.8151945908212084 At (gamma, c): [5.89342731 7.11636025] .. Time = 0.14499711990356445\n", 324 | "AUC for particle - 5 is 0.8241902656710853 At (gamma, c): [1.79202072 8.45804999] .. Time = 0.16900014877319336\n", 325 | "AUC for particle - 6 is 0.8158359673841137 At (gamma, c): [5.43224854 2.12619098] .. Time = 0.15999841690063477\n", 326 | "AUC for particle - 7 is 0.8265598426952331 At (gamma, c): [1.57761422 6.7334836 ] .. Time = 0.1270158290863037\n", 327 | "AUC for particle - 8 is 0.8236558095676676 At (gamma, c): [1.83768169 3.85270982] .. Time = 0.1310126781463623\n", 328 | "AUC for particle - 9 is 0.820050556816479 At (gamma, c): [3.62165436 0.23793385] .. Time = 0.18599534034729004\n", 329 | "AUC for particle - 10 is 0.8391616386887858 At (gamma, c): [0.90406743 5.8283342 ] .. Time = 0.1720263957977295\n", 330 | "AUC for particle - 11 is 0.8531134224385893 At (gamma, c): [0.47435979 6.7096167 ] .. Time = 0.21699905395507812\n", 331 | "AUC for particle - 12 is 0.8201152652142291 At (gamma, c): [3.64460792 9.72348369] .. Time = 0.1700000762939453\n", 332 | "AUC for particle - 13 is 0.9284261965066939 At (gamma, c): [1.00000000e-03 1.75149336e+00] .. Time = 0.08899927139282227\n", 333 | "AUC for particle - 14 is 0.8155669616131048 At (gamma, c): [5.64462178 2.75916545] .. Time = 0.1630101203918457\n", 334 | "AUC for particle - 15 is 0.8201662459933701 At (gamma, c): [3.72357196 5.09437883] .. Time = 0.2069990634918213\n", 335 | "AUC for particle - 16 is 0.8146575149209273 At (gamma, c): [6.08917362 6.03831081] .. Time = 0.14600110054016113\n", 336 | "AUC for particle - 17 is 0.8198466336999148 At (gamma, c): [4.19960424 4.77882412] .. Time = 0.16899681091308594\n", 337 | "AUC for particle - 18 is 0.9258446498470444 At (gamma, c): [1.00000000e-03 8.61728777e+00] .. Time = 0.07100176811218262\n", 338 | "AUC for particle - 19 is 0.8144144673603573 At (gamma, c): [6.07938331 3.9423574 ] .. Time = 0.13701248168945312\n", 339 | "AUC for particle - 20 is 0.8255990672821435 At (gamma, c): [1.81947446 2.43489183] .. Time = 0.12598276138305664\n", 340 | "AUC for particle - 21 is 0.926635319744599 At (gamma, c): [1.00000000e-03 5.19345628e+00] .. Time = 0.0819997787475586\n", 341 | "AUC for particle - 22 is 0.8118470225760118 At (gamma, c): [6.72048102 3.28284895] .. Time = 0.15201568603515625\n", 342 | "AUC for particle - 23 is 0.8176580156354506 At (gamma, c): [4.64163683 6.75455844] .. Time = 0.14699816703796387\n", 343 | "AUC for particle - 24 is 0.817185273876225 At (gamma, c): [4.82281328 8.95334086] .. Time = 0.14000344276428223\n", 344 | "AUC for particle - 25 is 0.8194767891407081 At (gamma, c): [4.33434017 5.116925 ] .. Time = 0.14600038528442383\n", 345 | "AUC for particle - 26 is 0.8206260086473763 At (gamma, c): [3.31413926 7.34416607] .. Time = 0.14301276206970215\n", 346 | "AUC for particle - 27 is 0.8182910649868974 At (gamma, c): [2.32518317e+00 1.00000000e-03] .. Time = 0.09800028800964355\n", 347 | "AUC for particle - 28 is 0.8262543322770816 At (gamma, c): [1.5927742 7.03229302] .. Time = 0.12501287460327148\n", 348 | "AUC for particle - 29 is 0.8106626083206327 At (gamma, c): [7.04391722 8.45218079] .. Time = 0.13401341438293457\n", 349 | "AUC for particle - 30 is 0.8198720305253117 At (gamma, c): [4.10208477 3.41728945] .. Time = 0.14403486251831055\n", 350 | "AUC for particle - 31 is 0.8443889462700422 At (gamma, c): [1.09787283 0.17999991] .. Time = 0.10354185104370117\n", 351 | "AUC for particle - 32 is 0.9276142466073849 At (gamma, c): [1.00000000e-03 1.13819255e+00] .. Time = 0.08073878288269043\n", 352 | "AUC for particle - 33 is 0.8190813606277572 At (gamma, c): [4.54390224 2.70238875] .. Time = 0.14199590682983398\n", 353 | "AUC for particle - 34 is 0.819999576037338 At (gamma, c): [4.05615056 4.59634105] .. Time = 0.1460127830505371\n", 354 | "AUC for particle - 35 is 0.8380921650969085 At (gamma, c): [0.99291657 2.74442445] .. Time = 0.11700081825256348\n", 355 | "AUC for particle - 36 is 0.8217622490488252 At (gamma, c): [2.86853836 2.72678594] .. Time = 0.13096117973327637\n", 356 | "AUC for particle - 37 is 0.806870502066818 At (gamma, c): [7.77293858 1.64208565] .. Time = 0.12900137901306152\n", 357 | "AUC for particle - 38 is 0.8153874061160269 At (gamma, c): [5.80369872 9.15699833] .. Time = 0.13599514961242676\n", 358 | "AUC for particle - 39 is 0.816741203688475 At (gamma, c): [5.04431009 3.76442165] .. Time = 0.13900065422058105\n", 359 | "AUC for particle - 40 is 0.8706951598814365 At (gamma, c): [0.45276503 1.1154538 ] .. Time = 0.13100147247314453\n", 360 | "AUC for particle - 41 is 0.9270429788493799 At (gamma, c): [1.00000000e-03 3.06267667e+00] .. Time = 0.08499574661254883\n", 361 | "AUC for particle - 42 is 0.8540732885248657 At (gamma, c): [0.90194071 0.05840639] .. Time = 0.14499902725219727\n", 362 | "AUC for particle - 43 is 0.8219913818624387 At (gamma, c): [2.71274467 2.91635486] .. Time = 0.1950070858001709\n", 363 | "AUC for particle - 44 is 0.926612729844413 At (gamma, c): [1.00000000e-03 6.69188831e+00] .. Time = 0.08400678634643555\n", 364 | "AUC for particle - 45 is 0.8201406620396258 At (gamma, c): [3.55134095 2.41881714] .. Time = 0.19501519203186035\n", 365 | "AUC for particle - 46 is 0.8231755154252967 At (gamma, c): [2.19007058 3.25382218] .. Time = 0.1679973602294922\n", 366 | "AUC for particle - 47 is 0.8060102584344814 At (gamma, c): [8.12635542 6.7404244 ] .. Time = 0.18399882316589355\n", 367 | "AUC for particle - 48 is 0.8108672799505864 At (gamma, c): [7.02364428 4.02296751] .. Time = 0.17899608612060547\n", 368 | "AUC for particle - 49 is 0.8199739920835937 At (gamma, c): [3.98204332 5.92016487] .. Time = 0.1679975986480713\n", 369 | "AUC for particle - 50 is 0.8070845973633908 At (gamma, c): [8.29493993 7.85617887] .. Time = 0.14099884033203125\n", 370 | "AUC for particle - 51 is 0.8060616134703172 At (gamma, c): [7.85773109 1.00149434] .. Time = 0.14001154899597168\n", 371 | "AUC for particle - 52 is 0.8207281573340057 At (gamma, c): [3.30252982 3.88652921] .. Time = 0.14343523979187012\n", 372 | "AUC for particle - 53 is 0.8750335785738041 At (gamma, c): [0.33129022 1.75693645] .. Time = 0.12999796867370605\n", 373 | "AUC for particle - 54 is 0.826291143931669 At (gamma, c): [2.05334085 0.11765791] .. Time = 0.1360001564025879\n" 374 | ] 375 | } 376 | ], 377 | "source": [ 378 | "start = time()\n", 379 | "while iteration < n_iterations:\n", 380 | " gbest_fitness_value_cadidate = np.array([0])\n", 381 | " gbest_position_cadidate = np.array([float('inf'), float('inf')])\n", 382 | " start1 = time()\n", 383 | " plot(particle_position_vector)\n", 384 | " \n", 385 | " for i in range(n_particles):\n", 386 | " start2 = time()\n", 387 | " fitness_cadidate = fitness_function(particle_position_vector[i])\n", 388 | " stop2 = time()\n", 389 | " print(\"AUC for particle -\", i+1,\"is\", fitness_cadidate, \" At (gamma, c): \", particle_position_vector[i], \".. Time = \", stop2 - start2)\n", 390 | " \n", 391 | " if(pbest_fitness_value[i] < fitness_cadidate):\n", 392 | " pbest_fitness_value[i] = fitness_cadidate\n", 393 | " pbest_position[i] = particle_position_vector[i]\n", 394 | "\n", 395 | " if(gbest_fitness_value_cadidate < fitness_cadidate):\n", 396 | " gbest_fitness_value_cadidate = fitness_cadidate\n", 397 | " gbest_position_cadidate = particle_position_vector[i]\n", 398 | " \n", 399 | " print(\"The best position in iteration number\", iteration + 1, \"is\", gbest_position_cadidate, \"with AUC:\", fitness_function(gbest_position_cadidate))\n", 400 | " \n", 401 | " # if(gbest_fitness_value < gbest_fitness_value_cadidate):\n", 402 | " # gbest_fitness_value = gbest_fitness_value_cadidate\n", 403 | " # gbest_position = gbest_position_cadidate\n", 404 | " #print(\"The best position so far is \", gbest_position, \"in iteration number\", iteration + 1, \"with AUC:\", fitness_function(gbest_position))\n", 405 | " \n", 406 | " for i in range(n_particles):\n", 407 | " new_velocity = w*velocity_vector[i] + (c1*random.random()) * (pbest_position[i] - particle_position_vector[i]) + (c2*random.random()) * (gbest_position_cadidate-particle_position_vector[i])\n", 408 | " new_velocity = eval_velocity(new_velocity)\n", 409 | " \n", 410 | " particle_position_vector[i] = new_velocity + particle_position_vector[i]\n", 411 | " particle_position_vector[i] = eval_position(particle_position_vector[i])\n", 412 | " w = (wmax - wmin)*(n_iterations - iteration)/n_iterations + wmin\n", 413 | " iteration = iteration + 1\n", 414 | " stop1 = time()\n", 415 | " sec = stop1-start1\n", 416 | " print(sec)\n", 417 | "stop = time()\n", 418 | "print(stop - start)\n" 419 | ] 420 | } 421 | ], 422 | "metadata": { 423 | "kernelspec": { 424 | "display_name": "Python 3", 425 | "language": "python", 426 | "name": "python3" 427 | }, 428 | "language_info": { 429 | "codemirror_mode": { 430 | "name": "ipython", 431 | "version": 3 432 | }, 433 | "file_extension": ".py", 434 | "mimetype": "text/x-python", 435 | "name": "python", 436 | "nbconvert_exporter": "python", 437 | "pygments_lexer": "ipython3", 438 | "version": "3.6.8" 439 | } 440 | }, 441 | "nbformat": 4, 442 | "nbformat_minor": 2 443 | } 444 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PSO-SVM-Algorithm 2 | Implementation of PSO Algorithm to Optimize SVM Classification Method for Fraud Detection 3 | 4 | By Kadek Denaya Rahadika Diana - Fakultas Matematika dan Ilmu Pengetahuan Alam- Program Studi Matematika - Institut Teknologi Bandung 5 | 6 | 7 | A Thesis as a requirement to get a Mathematics Bachelor's Degree from Mathematics Department of Institut Teknologi Bandung. 8 | 9 | 10 | Data used : German Credit Card dataset, Australian Credit Card dataset (source : UC Irvine Machine Learning Repository; https://archive.ics.uci.edu/ml/index.php) 11 | 12 | 13 | --------------------------------------------------------------------------------