diff --git a/.ipynb_checkpoints/Analysis-checkpoint.ipynb b/.ipynb_checkpoints/Analysis-checkpoint.ipynb index 3a12834..fafced1 100644 --- a/.ipynb_checkpoints/Analysis-checkpoint.ipynb +++ b/.ipynb_checkpoints/Analysis-checkpoint.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": { "scrolled": true }, @@ -11,51 +11,36 @@ "import pandas as pd\n", "import numpy as np\n", "from sklearn import preprocessing \n", - "from sklearn.feature_extraction.text import TfidfTransformer \n", "from sklearn_pandas import DataFrameMapper\n", + "from sklearn.metrics import accuracy_score\n", "\n", "#temp\n", "import warnings\n", "warnings.filterwarnings(action='ignore')\n", "\n", - "def ipInt(ip):\n", - " ipInt = ''\n", - " for i in ip.split('.'):\n", - " ipInt += i\n", - " return int(ipInt)\n", - "\n", "columns = [\"IP source\", \"IP destiny\", \"L2 protocol\", \"Source port\", \"Destiny port\", \"Package size\"]\n", "\n", - "X_train = pd.read_csv(\"IP_DataFrame.csv\", index_col = 0)\n", + "X_train = pd.read_csv(\"Profile.csv\", index_col = 0)\n", "X_train[\"L2 protocol\"] = X_train[\"L2 protocol\"].astype(\"category\")\n", "\n", - "X_test = pd.DataFrame([[ipInt('192.30.253.34'), ipInt('10.10.10.10'), 'tcp', 20, 80, 54], [ipInt('192.30.253.36'), ipInt('10.10.10.10'), 'tcp', 20, 80, 54]], columns=columns)" + "X_test = pd.read_csv(\"TestSet.csv\", index_col = 0)\n", + "X_test[\"L2 protocol\"] = X_test[\"L2 protocol\"].astype(\"category\")" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[ 0.33646333, 0. , 1. , 1.00566577, -1.00566577,\n", - " -1.00566577],\n", - " [ 0.33646333, 0. , 0. , -0.99436615, 0.99436615,\n", - " 0.99436615],\n", - " [ 0.33646335, 0. , 0. , -0.99436615, 0.99436615,\n", - " 0.99436615],\n", - " ..., \n", - " [ 0.33646322, 0. , 1. , 1.00566577, -1.00566577,\n", - " -1.00566577],\n", - " [ 0.33646336, 0. , 1. , 1.00566577, -1.00566577,\n", - " -1.00566577],\n", - " [ 0.33646332, 0. , 0. , -0.99436615, 0.99436615,\n", - " 0.99436615]])" + "DataFrameMapper(default=False, df_out=False,\n", + " features=[(['IP source', 'IP destiny'], StandardScaler(copy=True, with_mean=True, with_std=True)), ('L2 protocol', LabelBinarizer(neg_label=0, pos_label=1, sparse_output=False)), (['Source port', 'Destiny port', 'Package size'], StandardScaler(copy=True, with_mean=True, with_std=True))],\n", + " input_df=False, sparse=False)" ] }, - "execution_count": 15, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -66,135 +51,259 @@ " ([\"Source port\", \"Destiny port\", \"Package size\"], preprocessing.StandardScaler())\n", " ])\n", "\n", - "mapper.fit_transform(X_train.copy())" + "mapper.fit(X_train)" ] }, { "cell_type": "code", - "execution_count": 45, - "metadata": {}, + "execution_count": 4, + "metadata": { + "collapsed": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "(177, 6)\n", - "(177,)\n" - ] - }, - { - "ename": "NameError", - "evalue": "name 'cls' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mNameError\u001b[0m: name 'cls' is not defined" + "[-1 1 1 1 1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1\n", + " 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 1 1 1\n", + " -1 1 1 1 -1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1\n", + " -1 -1 1 1 -1 1 1 1 1 -1 -1 1 1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1\n", + " 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1\n", + " -1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 -1\n", + " 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 1 1 1 -1 1 -1 -1\n", + " 1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1\n", + " -1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1\n", + " 1 1 -1 1 -1 1 1 1 1 -1 1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1\n", + " -1 1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 1 1\n", + " -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1\n", + " 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 1\n", + " 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1\n", + " -1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 1 -1 1 -1 1 1\n", + " -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 -1 1 1 -1 1 1 -1\n", + " -1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 1\n", + " -1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1\n", + " 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1\n", + " -1 1 -1 1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 -1\n", + " 1 1 1 1 1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 1 1 -1 1 -1 -1 -1 1\n", + " -1 1 -1 1 1 -1 -1 1 1 1 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 -1 1 1\n", + " -1 -1 1 -1 -1 -1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 -1\n", + " 1 -1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 1\n", + " -1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1\n", + " -1 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1\n", + " -1 -1 1 -1 1 1 1 1 -1 1 -1 1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 1\n", + " 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 1\n", + " 1 1 -1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 1 1 -1 1 -1 1 1 -1\n", + " 1 1 -1 -1 1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1\n", + " 1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 -1 1 1 1 -1 1 -1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 -1 1 -1 1 1 1 1 -1 1 -1 1 -1 -1 1 1 -1 1 1 1\n", + " 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1\n", + " 1 1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1\n", + " 1 1 1 -1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1 1 1 -1\n", + " -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1\n", + " -1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 1 1 1 1 -1 -1 1\n", + " 1 1 1 1 -1 1 1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 1 1 1 1 -1 1\n", + " -1 -1 1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 1 -1 1 1 1 -1 1]\n", + "Acc: 0.499\n" ] } ], "source": [ - "X = mapper.transform(X_train)\n", - "y = np.array([1 for x in range(X.shape[0])])\n", - "print(X.shape)\n", - "print(y.shape)" + "from sklearn.svm import OneClassSVM\n", + "clf = OneClassSVM()\n", + "clf.fit(X)\n", + "y_pred = clf.predict(X)\n", + "print(y_pred)" ] }, { "cell_type": "code", - "execution_count": 44, - "metadata": {}, + "execution_count": 5, + "metadata": { + "collapsed": true + }, "outputs": [ { - "ename": "ValueError", - "evalue": "The number of classes has to be greater than one; got 1", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0msvm\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mclf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msvm\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSVC\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mclf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/.local/lib/python3.5/site-packages/sklearn/svm/base.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, X, y, sample_weight)\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 149\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcheck_X_y\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfloat64\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'C'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maccept_sparse\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'csr'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 150\u001b[0;31m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_targets\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 151\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 152\u001b[0m sample_weight = np.asarray([]\n", - "\u001b[0;32m~/.local/lib/python3.5/site-packages/sklearn/svm/base.py\u001b[0m in \u001b[0;36m_validate_targets\u001b[0;34m(self, y)\u001b[0m\n\u001b[1;32m 504\u001b[0m raise ValueError(\n\u001b[1;32m 505\u001b[0m \u001b[0;34m\"The number of classes has to be greater than one; got %d\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 506\u001b[0;31m % len(cls))\n\u001b[0m\u001b[1;32m 507\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 508\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclasses_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mValueError\u001b[0m: The number of classes has to be greater than one; got 1" + "name": "stdout", + "output_type": "stream", + "text": [ + "[-1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 -1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 -1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1\n", + " -1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 -1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 -1 1 -1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 -1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1]\n", + "Acc: 0.1\n" ] } ], "source": [ - "from sklearn import svm\n", - "clf = svm.SVC()\n", - "clf.fit(X, y)" + "from sklearn.ensemble import IsolationForest\n", + "clf = IsolationForest()\n", + "clf.fit(X)\n", + "y_pred = clf.predict(X)\n", + "print(y_pred)" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 1 -1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 -1 -1 1 -1\n", + " 1 1 -1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 -1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 -1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 -1 1 1 1 1 -1 1 1 -1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 -1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1\n", + " -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 -1 1]\n", + "Acc: 0.1\n" + ] + } + ], + "source": [ + "from sklearn.neighbors import LocalOutlierFactor\n", + "clf = LocalOutlierFactor()\n", + "y_pred = clf.fit_predict(X)\n", + "print(y_pred)" + ] }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] + "execution_count": 7, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 1 -1 1 -1 1 1 1 1 1 -1 1 1 1 1 -1 1 -1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1\n", + " -1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1\n", + " 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1\n", + " 1 1 1 -1 1 1 1 -1 1 1 1 1 1 -1 -1 1 -1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 -1 -1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1\n", + " 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 -1 1 -1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 -1 1 1 1 -1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", + "Acc: 0.1\n" + ] + } + ], + "source": [ + "from sklearn.covariance import EllipticEnvelope\n", + "clf = EllipticEnvelope()\n", + "clf.fit(X)\n", + "y_pred = clf.predict(X)\n", + "print(y_pred)" + ] }, { "cell_type": "code", diff --git a/Analysis.ipynb b/Analysis.ipynb index bb13724..fafced1 100644 --- a/Analysis.ipynb +++ b/Analysis.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 57, + "execution_count": 15, "metadata": { "scrolled": true }, @@ -18,749 +18,15 @@ "import warnings\n", "warnings.filterwarnings(action='ignore')\n", "\n", - "def ipInt(ip):\n", - " ipInt = ''\n", - " for i in ip.split('.'):\n", - " ipInt += i\n", - " return int(ipInt)\n", - "\n", "columns = [\"IP source\", \"IP destiny\", \"L2 protocol\", \"Source port\", \"Destiny port\", \"Package size\"]\n", "\n", - "X_train = pd.read_csv(\"IP_DataFrame.csv\", index_col = 0)\n", + "X_train = pd.read_csv(\"Profile.csv\", index_col = 0)\n", "X_train[\"L2 protocol\"] = X_train[\"L2 protocol\"].astype(\"category\")\n", "\n", - "X_test = pd.read_csv(\"IP_DataFrame_50Test.csv\", index_col = 0)\n", + "X_test = pd.read_csv(\"TestSet.csv\", index_col = 0)\n", "X_test[\"L2 protocol\"] = X_test[\"L2 protocol\"].astype(\"category\")" ] }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
IP sourceIP destinyL2 protocolSource portDestiny portPackage size
0192302537210101010udp535342
3192302536010101010udp535342
4192302533510101010udp535342
7192302531810101010udp535342
8192302533010101010udp535342
9192302532010101010udp535342
12192302531910101010udp535342
13192302535410101010udp535342
15192302535610101010udp535342
16192302532610101010udp535342
17192302536910101010udp535342
2019230253410101010udp535342
22192302531010101010udp535342
28192302534510101010udp535342
30192302539110101010udp535342
31192302536710101010udp535342
36192302533610101010udp535342
42192302539410101010udp535342
44192302536110101010udp535342
45192302534310101010udp535342
46192302531710101010udp535342
49192302534210101010udp535342
50192302538010101010udp535342
52192302532510101010udp535342
5419230253310101010udp535342
5819230253110101010udp535342
59192302532710101010udp535342
60192302535810101010udp535342
62192302537310101010udp535342
63192302537510101010udp535342
.....................
12519230253610101010udp535342
126192302536310101010udp535342
128192302538310101010udp535342
130192302538510101010udp535342
136192302537110101010udp535342
139192302537710101010udp535342
140192302532310101010udp535342
143192302539610101010udp535342
144192302534610101010udp535342
145192302539010101010udp535342
146192302537610101010udp535342
148192302536510101010udp535342
14919230253810101010udp535342
151192302538710101010udp535342
15419230253910101010udp535342
155192302534410101010udp535342
156192302534810101010udp535342
158192302534110101010udp535342
160192302533810101010udp535342
161192302538610101010udp535342
162192302537010101010udp535342
163192302533310101010udp535342
164192302536410101010udp535342
165192302534010101010udp535342
166192302535310101010udp535342
169192302536610101010udp535342
171192302537910101010udp535342
172192302532110101010udp535342
174192302531610101010udp535342
175192302538810101010udp535342
\n", - "

88 rows × 6 columns

\n", - "
" - ], - "text/plain": [ - " IP source IP destiny L2 protocol Source port Destiny port \\\n", - "0 1923025372 10101010 udp 53 53 \n", - "3 1923025360 10101010 udp 53 53 \n", - "4 1923025335 10101010 udp 53 53 \n", - "7 1923025318 10101010 udp 53 53 \n", - "8 1923025330 10101010 udp 53 53 \n", - "9 1923025320 10101010 udp 53 53 \n", - "12 1923025319 10101010 udp 53 53 \n", - "13 1923025354 10101010 udp 53 53 \n", - "15 1923025356 10101010 udp 53 53 \n", - "16 1923025326 10101010 udp 53 53 \n", - "17 1923025369 10101010 udp 53 53 \n", - "20 192302534 10101010 udp 53 53 \n", - "22 1923025310 10101010 udp 53 53 \n", - "28 1923025345 10101010 udp 53 53 \n", - "30 1923025391 10101010 udp 53 53 \n", - "31 1923025367 10101010 udp 53 53 \n", - "36 1923025336 10101010 udp 53 53 \n", - "42 1923025394 10101010 udp 53 53 \n", - "44 1923025361 10101010 udp 53 53 \n", - "45 1923025343 10101010 udp 53 53 \n", - "46 1923025317 10101010 udp 53 53 \n", - "49 1923025342 10101010 udp 53 53 \n", - "50 1923025380 10101010 udp 53 53 \n", - "52 1923025325 10101010 udp 53 53 \n", - "54 192302533 10101010 udp 53 53 \n", - "58 192302531 10101010 udp 53 53 \n", - "59 1923025327 10101010 udp 53 53 \n", - "60 1923025358 10101010 udp 53 53 \n", - "62 1923025373 10101010 udp 53 53 \n", - "63 1923025375 10101010 udp 53 53 \n", - ".. ... ... ... ... ... \n", - "125 192302536 10101010 udp 53 53 \n", - "126 1923025363 10101010 udp 53 53 \n", - "128 1923025383 10101010 udp 53 53 \n", - "130 1923025385 10101010 udp 53 53 \n", - "136 1923025371 10101010 udp 53 53 \n", - "139 1923025377 10101010 udp 53 53 \n", - "140 1923025323 10101010 udp 53 53 \n", - "143 1923025396 10101010 udp 53 53 \n", - "144 1923025346 10101010 udp 53 53 \n", - "145 1923025390 10101010 udp 53 53 \n", - "146 1923025376 10101010 udp 53 53 \n", - "148 1923025365 10101010 udp 53 53 \n", - "149 192302538 10101010 udp 53 53 \n", - "151 1923025387 10101010 udp 53 53 \n", - "154 192302539 10101010 udp 53 53 \n", - "155 1923025344 10101010 udp 53 53 \n", - "156 1923025348 10101010 udp 53 53 \n", - "158 1923025341 10101010 udp 53 53 \n", - "160 1923025338 10101010 udp 53 53 \n", - "161 1923025386 10101010 udp 53 53 \n", - "162 1923025370 10101010 udp 53 53 \n", - "163 1923025333 10101010 udp 53 53 \n", - "164 1923025364 10101010 udp 53 53 \n", - "165 1923025340 10101010 udp 53 53 \n", - "166 1923025353 10101010 udp 53 53 \n", - "169 1923025366 10101010 udp 53 53 \n", - "171 1923025379 10101010 udp 53 53 \n", - "172 1923025321 10101010 udp 53 53 \n", - "174 1923025316 10101010 udp 53 53 \n", - "175 1923025388 10101010 udp 53 53 \n", - "\n", - " Package size \n", - "0 42 \n", - "3 42 \n", - "4 42 \n", - "7 42 \n", - "8 42 \n", - "9 42 \n", - "12 42 \n", - "13 42 \n", - "15 42 \n", - "16 42 \n", - "17 42 \n", - "20 42 \n", - "22 42 \n", - "28 42 \n", - "30 42 \n", - "31 42 \n", - "36 42 \n", - "42 42 \n", - "44 42 \n", - "45 42 \n", - "46 42 \n", - "49 42 \n", - "50 42 \n", - "52 42 \n", - "54 42 \n", - "58 42 \n", - "59 42 \n", - "60 42 \n", - "62 42 \n", - "63 42 \n", - ".. ... \n", - "125 42 \n", - "126 42 \n", - "128 42 \n", - "130 42 \n", - "136 42 \n", - "139 42 \n", - "140 42 \n", - "143 42 \n", - "144 42 \n", - "145 42 \n", - "146 42 \n", - "148 42 \n", - "149 42 \n", - "151 42 \n", - "154 42 \n", - "155 42 \n", - "156 42 \n", - "158 42 \n", - "160 42 \n", - "161 42 \n", - "162 42 \n", - "163 42 \n", - "164 42 \n", - "165 42 \n", - "166 42 \n", - "169 42 \n", - "171 42 \n", - "172 42 \n", - "174 42 \n", - "175 42 \n", - "\n", - "[88 rows x 6 columns]" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "X_train[X_train[\"L2 protocol\"] == [\"udp\" for x in range(177)]]" - ] - }, { "cell_type": "code", "execution_count": 2, @@ -788,34 +54,58 @@ "mapper.fit(X_train)" ] }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "X = mapper.transform(X_test)\n", - "y_true = [1 if X_train.ix[i].equals(X_test.ix[i]) else -1 for i in range(X_train.shape[0])]" - ] - }, { "cell_type": "code", "execution_count": 4, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " -1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1 1\n", - " 1 -1 1 1 1 1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1 1 -1\n", - " 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1\n", - " -1 -1 -1 -1 1 -1 1 1 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1\n", - " 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1\n", - " -1 1]\n", - "Acc: 0.305084745763\n" + "[-1 1 1 1 1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1\n", + " 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 1 1 1\n", + " -1 1 1 1 -1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1\n", + " -1 -1 1 1 -1 1 1 1 1 -1 -1 1 1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1\n", + " 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1\n", + " -1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 -1\n", + " 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 1 1 1 -1 1 -1 -1\n", + " 1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1\n", + " -1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1\n", + " 1 1 -1 1 -1 1 1 1 1 -1 1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1\n", + " -1 1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 1 1\n", + " -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1\n", + " 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 1\n", + " 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1\n", + " -1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 1 -1 1 -1 1 1\n", + " -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 -1 1 1 -1 1 1 -1\n", + " -1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 1\n", + " -1 1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1\n", + " 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1\n", + " -1 1 -1 1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 -1\n", + " 1 1 1 1 1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 1 1 -1 1 -1 -1 -1 1\n", + " -1 1 -1 1 1 -1 -1 1 1 1 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 -1 1 1\n", + " -1 -1 1 -1 -1 -1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 -1\n", + " 1 -1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 1\n", + " -1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1\n", + " -1 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1\n", + " -1 -1 1 -1 1 1 1 1 -1 1 -1 1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 1\n", + " 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 1\n", + " 1 1 -1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 1 1 -1 1 -1 1 1 -1\n", + " 1 1 -1 -1 1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1\n", + " 1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 -1 1 1 1 -1 1 -1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 -1 1 -1 1 1 1 1 -1 1 -1 1 -1 -1 1 1 -1 1 1 1\n", + " 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1\n", + " 1 1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1\n", + " 1 1 1 -1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1 1 1 -1\n", + " -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1\n", + " -1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 1 1 1 1 -1 -1 1\n", + " 1 1 1 1 -1 1 1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 1 1 1 1 -1 1\n", + " -1 -1 1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 1 -1 1 1 1 -1 1]\n", + "Acc: 0.499\n" ] } ], @@ -824,28 +114,61 @@ "clf = OneClassSVM()\n", "clf.fit(X)\n", "y_pred = clf.predict(X)\n", - "print(y_pred)\n", - "print(\"Acc:\", accuracy_score(y_true, y_pred))" + "print(y_pred)" ] }, { "cell_type": "code", "execution_count": 5, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1\n", + "[-1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 -1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", " 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1 1 -1 -1 1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1\n", - " 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " -1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", - " 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1]\n", - "Acc: 0.649717514124\n" + " 1 1 -1 -1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1\n", + " -1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 -1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 -1 1 -1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 -1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1]\n", + "Acc: 0.1\n" ] } ], @@ -854,28 +177,61 @@ "clf = IsolationForest()\n", "clf.fit(X)\n", "y_pred = clf.predict(X)\n", - "print(y_pred)\n", - "print(\"Acc:\", accuracy_score(y_true, y_pred))" + "print(y_pred)" ] }, { "cell_type": "code", "execution_count": 6, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1\n", - " 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1 1 -1 -1 1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1\n", - " 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " -1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", - " 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1]\n", - "Acc: 0.649717514124\n" + "[ 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 1 -1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 -1 -1 1 -1\n", + " 1 1 -1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 -1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 -1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 -1 1 1 1 1 -1 1 1 -1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 -1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1\n", + " -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1\n", + " 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 -1 1]\n", + "Acc: 0.1\n" ] } ], @@ -883,28 +239,61 @@ "from sklearn.neighbors import LocalOutlierFactor\n", "clf = LocalOutlierFactor()\n", "y_pred = clf.fit_predict(X)\n", - "print(y_pred)\n", - "print(\"Acc: \", accuracy_score(y_true, y_pred))" + "print(y_pred)" ] }, { "cell_type": "code", "execution_count": 7, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[ 1 -1 -1 1 1 1 -1 1 1 1 1 -1 1 1 -1 1 1 1 -1 -1 1 1 1 -1 -1\n", - " 1 -1 1 1 -1 1 1 1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 1 1\n", - " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + "[ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 -1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 -1 1 -1 1 -1 1 1 1 1 1 -1 1 1 1 1 -1 1 -1 1 1\n", " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 -1 1 1\n", + " -1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1\n", + " 1 1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1\n", + " 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 1 1 1 1 1\n", + " 1 1 1 -1 1 1 1 -1 1 1 1 1 1 -1 -1 1 -1 1 1 1 1 1 1 1 1\n", " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", - " 1 1]\n", - "Acc: 0.819209039548\n" + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 -1 1 -1 1 1 1 1 -1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 -1 1 1 1 -1 -1 1 1 1\n", + " 1 1 -1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 -1 1 1 1 -1\n", + " 1 1 -1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n", + " 1 1 1 1 1 1 1 1 -1 1 1 -1 1 -1 1 1 1 -1 1 1 1 1 1 1 1\n", + " 1 1 1 1 -1 1 1 1 -1 1 1 1 1 -1 1 1 1 -1 1 1 1 1 1 1 1\n", + " -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n", + "Acc: 0.1\n" ] } ], @@ -913,28 +302,7 @@ "clf = EllipticEnvelope()\n", "clf.fit(X)\n", "y_pred = clf.predict(X)\n", - "print(y_pred)\n", - "print(\"Acc:\", accuracy_score(y_true, y_pred))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([1])" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "clf.predict(X[:1])" + "print(y_pred)" ] }, {