{ "cells": [ { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "# Generate some random points with Gaussian distribution in 2D for visualization\n", "# Then extend to multiple dimensions\n", "\n", "from sklearn.neighbors import LocalOutlierFactor\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(2, 1000)\n" ] } ], "source": [ "X = np.random.normal((np.zeros(1000), np.zeros(1000)))\n", "\n", "print(X.shape)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD8CAYAAABjAo9vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnXFsHNd957+/XY6kpZKaUsK08Ua0fGlOQhxFZEzE6umPO/lSy61jh7WTqD67h14PZxS4AifBUE+qDUtKHVgFkdrFtcDBvRa9g3WuHMthbSs9yYEFBKdWbiiTtKJGutZxJGXtImwlurG5spbcd38s32p29r03b2becHZnfx9AsLlczrzZnfm93/u93+/7IyEEGIZhmPxQyHoADMMwjFvYsDMMw+QMNuwMwzA5gw07wzBMzmDDzjAMkzPYsDMMw+QMNuwMwzA5gw07wzBMzmDDzjAMkzP6sjjpRz/6UbF+/fosTs0wDNO1nD59+h+FEINh78vEsK9fvx6Tk5NZnJphGKZrIaILNu/jUAzDMEzOYMPOMAyTM9iwMwzD5Aw27AzDMDmDDTvDMEzOYMPOMAyTMzJJd2QYpjeZmKpg/Nh5vD1XxY0DJezevgFjI+Wsh5U7Eht2IloF4LsAVi4d73khxL6kx2UYJl9MTFWw94UzqNYWAQCVuSr2vnAGANi4O8ZFKOYDALcLITYDGAZwJxFtcXBchmFyxPix802jLqnWFjF+7HxGI8oviT120eiG/d7Sj97SP+6QzTBMC2/PVSO9zsTHyeYpERWJaBrATwC8IoR4zcVxGYbJDzcOlCK9zsTHiWEXQiwKIYYBfALA54noM8H3ENFDRDRJRJOzs7MuTsswuWJiqoKtB1/FzXuOYuvBVzExVcl6SE7ZvX0DSl6x5bWSV8Tu7RsyGlF+cZruKISYA3ACwJ2K3z0thBgVQowODoaKkzFMTyE3FitzVQhc31jMk3EfGynjiXs3oTxQAgEoD5TwxL2beOM0BVxkxQwCqAkh5oioBOAXAfxe4pExTA9h2ljMk+EbGynn6no6FRd57B8H8D+JqIjGCuA5IcTLDo7LMD0DbywyLnGRFfMGgBEHY2GYnuXGgRIqCiPOG4tMHFhSgGE6AN5YZFzCkgIM0wHIuDOX2zMuYMPOMB0CbywyruBQDMMwTM5gw84wDJMz2LAzDMPkDDbsDMMwOYM3T3sAbm7QWfD3waQNG/acw80NOgv+PpjlgA17zulUDZJe9Vo79fvIE716b/lhw55zkmqQpPGQ9LLXypow6dLL95Yf3jzNOUmaG6QlJdvLLdK42US69PK95YcNe85JokGS1kOSZ681rFkGa8KkS57vrShwKCbnJNEgSeshyauSoU0YgDVh0iWv91ZU2LD3AHE1SNJ6SHZv39BiAIH0vNbl3Eiz3RhlTZj0WM57q5Nhw85oSeshWS6vNe5GWtzJoJfDAJ2SicIrogZs2BktaT4ky+G1xkktTJJV0athgE7LROEVERt2JoRufkjieNBJ8sy3bRzEoVMXIXyv9UIYgHPzOw827ExuieNBxw2nTExVcOR0pcWoE4D7bo03MXZKaMOGXg5BdSps2JncEmePIG44ReW1CgAnzs0q368y3PI4lbkqaOnvgXihjeWcGNIOQXXTJNcpcB47k1vGRsp44t5NKA+UQADKAyU8ce8mo1GIm2cexWtVFX7tfn4Gu7850zSQIvA3UeoH0ios05Fmbv5yX0teSOyxE9E6AP8LwM+icT8+LYT4g6THZXobWy9N977g60/uGLb28lb2FZre95p+D/vuvsXpxqnKu68tBk15O7ahjeWOeae5yc7x+3i4CMUsAHhYCPE6EX0YwGkiekUI8bcOjs30ILZZFrr3TV64jCOnK7HSHIOhm7n5GiYvXA41IlHCPnFjz7ahjSxi3mltsnP8Ph6JQzFCiHeEEK8v/f9PAfwAAE+lTGxspQx073v2tUuxpBB0cfJDpy6GLv1VYZ/7bi1j/Nj5NnmBOLHnKKGNPOnR5OlalhOnMXYiWg9gBMBrLo/L5IMwHRWJrZeme9+iUIc13p6rGsegO54ArOLbYyNlnNxzO946eBd2b9+AI6crytiwKibtFQlegVpekz/Z7A34yZMeTZ6uZTlxlhVDRB8CcATATiHEPyt+/xCAhwBgaGjI1WmZLiFKEYttvFr3viKR0rgP9HvGMeiOB0Rf+ptWHSf33N58jyorJmmcuhOqL017JFGyXDrhWroREhrvJtJBiDwALwM4JoT4/bD3j46OisnJycTnZbqHrQdfVRrN8kCpaegkqlh3ySu2ea2q9zXeW8BCXbRsSJa8Ilb2FTBXrWnHMDFVwa7D020ZKbpxmrh5z1HlcQjAWwfvsj5ON2L6/gBYfbeMGiI6LYQYDXufi6wYAvAnAH5gY9SZ3iTKJpjfS6vMVVEkaomRB5USD7x0Flfmrxvsaq0Or0BY0+9hbr7W9PJ2HZ42jmFspIzJC5djVY8GvdAbSp5yEumF2HDYHglnuaSPi1DMVgC/BuAMEckn53eEEN92cGwmJ9iGV/wGcqDfg1cg1OoNM6uTwR0/dr7FsANArS7Qv6IPU4/d0XxNThSmMTw+tgmjN62NtPRXhZlkzFyOHeid2HCcTBbOcnFLYsMuhPi/uL7PwzBKbNIBgwYyaKwBtXdna0hsUxJtUvf8E1BBEdOvLQr490IHSh723xOeD98t+K//hpIHIjRXRwP9nvK7kxNoLwqlLTcsKcAsCzabYKolvIqgwdatBgpEuHnP0bZzhXnjYZt7wQlIl4Xjc9bxwUI99LrSxlVpfvD6/SGnylwVXoHgFaltj0NOoKyXnj5s2JllI8wTtl2OB707lScOXDe4wRBO1LBKMPxjOwH5sZELDptMkhhll9K6YddfqwsQ0LbHEZzEOcslPdiwMx2DKd1QogudADCGRmw36GxK2OPGg3V/F2Z0J6Yq2P38TNMDltoy8vc2uCzNt7l+AeBqra6UcuhmKehugUXAmI5BV7gzUPJCRbz8xUF1Q4FSGDbxel08uEgEWvqvCt3fhWWRHHjpbJuWTG1R4MBLZ1tei1N8FWeSso2Hu2h8zsSDPXYmETJEINMSF4VAOeLyOrgRt8oraJfwNoRl4JjCGjbZO7pNWDnp6PK4dXHkMKOr2ogMvh7m9buU1tWFvkzXwCwv7LEzsfFLqgKtMe2dh6cx8rXjRo2ViakKhg8cx87D083S+7lqrbmEP7nn9lhL9m0bB9vStKRhDZOB3b19Q1tpv1egFqNskgOWk0a1ttj03Nf0e1jZV8Cuw9NKKYWkeigTUxU8/NyM0et3WZofvP6BkoeCJi/uxoGStZQE4w722JnYhG2iXZmvaTfodFWjQLKClbBORlsPvqo0gPtfPKvNc1cl86rixKpsGa9IeO/qgjEXf/1H2r1pv9Ed0BQ7EYBHJ87gyOmKUR/Hfy5Xm5bB69etUrZtHOyofqi9Aht2JjY2y2ydkQ6bFOIu4XUKjc++dgmjN63VHneuWlMaT6ARz7bJaFFNCiqddf9n8ujEGZx883LbexYWr1/D/ntuwe5vzrQUO8nreubUReWYJH6v3+WmpSqc9cS9m9pec7lpy52U7GHDzsTGJosFUBvpMMMdt2DFpPi494Uz2lL/uMc1rTxMVOaq+OTeb2s97VodbZ7tw8/NaN+vIq38cFU8f9fhaTywZahNTydMxiHJOdnz18MxdiY2qritCpWRNhluv0GKGp81HbdaWwQRrMZse9w4Oe2SMCMtPVvpqUYx6gCwytPH9ZMQRbfelZ66zvN/+LkZjtkrYMPOxMa/iQaodSV0XqNuUljT77Vll0Tpdxk22czN11rGbMv6j6jfn3bWh7xmm5VRkCvztes9Vb85g5GvHbeeIOPq1gdTMHWbtts2DrYdP8455UqMjXsrTmR7o8KyvfklShw07L1RpH6Dx9WFLfx/q5PW1fHgliE8Prap5TXdGP0MlDysXtkXyzjrtOWT4hUJ41/erO0ja0rnDLvmpwJFScHvedvGwZbWhUAj8wiENhkC23NGlVXuVmxle9mwMx1LEk1zG013G6Psp0iEN5/45dDz+IlinJabNf1ei/qlRDdO2wkqzMhG+Rz8Wvmmz3m5dO6z3sC1NewcimE6liTxWVOuuUSX765D5TmrcrrX9HvN//fHubdtHIwU31/T72lDRv1e8kc3WPgkQyE6oztXrcXeLI/ye9V75ecctarXJXFCg1nBWTFMx2CzZDdleqi8KZ3naMp3f/a1S0ojLo2KzXlUWRyHTl3Ez39sNf7uJ++HfhaEpRi5gFIpcUVfAfO15IqRWw++qlVdjEuYkdXJ+oYdS07KWalDukzdTBs27Ixz4ixXVYbwyOkK7ru1jBPnZkOPFTUdTpfZceLcLO6/bZ0yP3xFH+GBP/5r/NWbl5sTgu48+188qzy+yajLeDotvRdoeMlRukFJCoRGaueSAdUFXOX4V3kFJ0Y9zMhOTFXw3tUF5XiLBb3UryTLHqgu9XbShg074xSTgQX0D6TOGzpxbrYZYx0/dh47D083N0b9mjRRvSnTQyo3SP/3axdbNNWrtbqymCh4nompSuRceRmLVxU6RekGJZHjtqk1qNYWjUZ9YKmRhsrLXtPvoX9Fn7WRHT92vq3QCgB+ZlWjEYmNwY7aCMWV8Xept5M2bNgzJOuNmDTQGdidh6dbPNGgp2sytLrGFvIYkxcua42X7ri6h1QAGPnacey7+xacODdrvclXWRqnnGSiIuP/NgU9E1MVzF9r93qDXJmvWYc8TKxe2acVPtt3d7SuULrv491qzVllbFrFTLYduDoB3jzNiG7aiImCyRAG/TS/SJVpo9RUBFStLeKQoaxe1VNVbhDq+jlema9h9/MzkTNYdj8/g+EDxyP/XXmg1KIuqcKvTLn3hTNODLafgZKn/d3bc9W2TWKdsFlYQZmrgiUTYTLIcbHZkO8U2GPPCBcbMZ3o8UfNu5YenMkbCosn684W1lPVNMraooh8LbVFEUuuwF9lq/LE/deRpNLVxBc3fxxH33jH2KtUetQ6j3jywuWWzW5VGE5OqP5P1bXXm2YsvFuahDgx7ET0pwC+COAnQojPuDhm3kl686Wx3HQxUUQtpvEbDUAdgw+LJ+vwe1OmoiUdi0Kg5BVTMaR+Ji804va6rJRVvtTGtPLg5Ua1TRaSzilRZRNJ5cwPFuotE6o07lG1+23oplh4WrgKxfwZgDsdHasnSLokdb3cdBUailKqb+upqTTSJbpwij+8Ia8t6qQjl9r+pffqFdF1ZsJ49rVLRk9cyh9PTFW0uudJkYbZryOvCzWYyvtVzFVrygwhWXyky3KKq+HuUnu+W3Fi2IUQ3wXQni7AaEl687lebrqaKMK0WqRdChoN1cSy6/A0Hp040/qHPtb0e3hgy1Do5xg3fLFt42BLy72Te27H139lUywRMROLQoR+b1LwSpFQ4nQc8r/yM1QZXVNrwCiEKWbGdTK6KRaeFhxjz4ik+biul5uuJorgdd2wlCoX1urOpBj48sw7Sl3z/hV9zdREGQYoEjWbakjihi9OnJs1Xp+/HWBSVA24gyQ5j65Zhw7Tfo+uNd6KPsJCvV3vZZVXMMbug7jYf+qWWHhaLJthJ6KHADwEAENDQ8t12o4myc3nOvXK5USh6q4jDb1cAdgu72W7PBUyFdLfQWhRCBw5XcHoTWub54hrfCtzVdy852jbhBS8PpOuui1pCH35md53B9bvORrpb0zXDzSUHP0GuxqohJWT7OhNa532gGXCWbZ0RyHE00KIUSHE6ODg4HKdNre4Xm6mFZe0XVbHmUB0qZAyb17GZk1Gs+QVjal+NqEAl0ZZRjNchtKJGtIBcVBdv5yow1IuF4XAM6cuYv+LZ3HfrWXre3U5UiLzjjN1RyJaD+Blm6wYVnfsTNJIn7SV3p2YqmDX4elIMrprLDRHgql1QR7cMqT0KFXoVAtdeOx+ntoxDCB6x6S0kRkscTRlgsqaJmyUOV3RiSnDJmzVHV2lOz4L4N8A+CgR/RjAPiHEn7g4NrN8RAkN2T4QtsvqsZEyJi9cxqFTF62Nu02RTtixTpybbcbp5fXo/kZ3LTptmbiMHzvfnEBcCXO5oLIUSoszHpXsgu7+Ue1j+DfyXfZtzWu7PVdZMfcLIT4uhPCEEJ9go55vomQt6JbPBaK29z8+tglP7hiO3N0oCTKOPH7sPHZv34C3Dt6lPb/uWh4f24QHt7jbNwpK1fpDGFlSJEoU55Z/a3P/jI2Um+HBoISEq+rstCpUOwFutMFEJkpnI1ODBK9A+NCqPmXGTBZNKeRyH2j3lG0Kaka+dtxJqb88h8qjHT5wPFZ1qyuiZtf4kfeH7f1jep/u84mCTSMXV6EaV8dZ1lAM01tEyVqQN68qXlyri6YhDC6DVbHcsHh5UqS3Jo2LqgQ+OM5HJ85o9dvjsv4jJW3JftbMVWsoEFry6UtesSmvXJmrtv1evkduxNsKtunuM/l5JA2hhGWCuQrVZBHyYREwJjJRsxbGRsqoWxi+YBw1GIZ4YMtQaLaIVyBjdWZY5ahMoZTeVZFIKV628/A01u85imdOXXS+wXnyzcvKEMEzpy5m6q1L6qKxcQ00Jls5tvlrC3hqxzB++MRdeGoppBbMgpmYqmi/w+D9YyqESquYLkyXJ855sgj5sMfORCZODr2NLjjQ6qWpNnPDNilXr+wzGr+B/hV4/5phHATs9ImOdVJWSichRGMS9WurS1VMQL8RP37svDb8ERRse/8DtSCabvM2aTFdMETiKp8+i7x8NuxMZOJUzdqmyYXlKpdDJgiTUS8ShU4uebfjripldZ9zbVG0VYj6V0C6MwugJWNGda+s6few7+5btKJwLorpgsdzcZ4sRMnYsDOxUD0QtilsUmrg/WsLoa3QgsdOsqHa6943AdjyL9bg9YvvpppCGWwKYlsjIN+vy9/vX9HXTItVrdzm5q8pK2Xj4qq6O4sGHWzYGSfYbBCZpAai9DNlGhAaja6vKXR0VAgAr198F/fdWsbLM++kFq/3e6I2ee/SyIWpcMoJQ6XhAwDvX3O7Oemqv2oWfVrZsDNOiCPcZFsQlVZziSiUvAKu1uqpZuVERQDWRl2i0013hVeklsYhYSusgVKj1+nYSBlbD75q/J7lhGETm44qGqbDlZjYcouScVYM44Q0N4iWO59dxeeGBvCvPrk262E4IS2jvqbfw/iXN7d0WQrjp1cXmu31TN+zP3RhG5vuZdEw9tgZJ0TdIJqYqrSoA/o9t+D70s5ft+Hkm9nnkHcCqrZ2Kg0X21WWv6rUhP8cthvxAo0ipyz0X7LWoGGPnXFCFHXIiakKdj8/01KlOVetYfc3Z9rKxXXpcUw2BL+Lzw3doDRYrldZ/nMEaxwGSh68ojo7Posm8Z3QqJ4New5I0kbMFVFkhMePnVc2zqjVRYvcLpDucjo4EaXUdS7XnHzz8vUuVz6idlMyodLI8Xe2mt53B8a/vFmrpbPc+i+doEHDoZguxL/MC6YNZqlQZ7tBFGasK3NV7Dw8jf0vnsWAhTRvXFZ5BazsK+DdakOrZv1HSj0dclkRIcPGz7OvXWoqZEpMcXyCXcco+d7gqk8X5hgbKWv1X5Yz3t4JjULYY+8ygsu8uWqtzfvNWqEubAWxos/utpur1vDe1QXtMjspV+Zr+GChjid3DGP39g14/eK7kY9RoOvl9d1OrS5iqVSqDLTOey4PlPDWwbvwja9uDu0dSwAe2DLUliJrCnN0QpOOThgDG/Yuw3ZTKquMgLAHb2Kqgg8W6uaD+KjVBVav6EtNsrZaW8SBl87GTqmsi0bhTLdgmiOFAI6cdhPGC9tzUYXuHtwy1PLzkzuG21YCpjDHxFQF89fUMgRpFgMFSasbWRS6545kANgb7KzaiIXls8dZSbxbrWF63x2pFSpdma8lCvd0U1pdWKSlWltUqjOGMTFVadvgBMxFOXFyu20VHyW6bKs0yaIgKQgb9i7DRkzLtXcQJXUrLL4Yxwj6J6lVXiHzYqUgNw6U8A/vXs2NZEFUow5Aua8TNHAuOiDp7n+V4iPQEIXLohvSchckBeFQTAejilWrlnlegbCm33PS1DrIoxNnsOvwtHXqVlh8MepKQm6eSW89rY3UJKz/SAkr+3o7p6ZaW8T+F8+2vJZG2p8uzBEmQxCVTsg0SwIb9g5F91AAaItNjn9lM6YeuwNvHbwLJ/fcntioy5ta6o2r9Mh1IRXVgwcA89cWmhNTFBMoVf/ixsCXw9yefPMy5mv2+wZ5Za5aazGAaaT96dJqdRvYskgpimHuhDz0pHAopkMxPRQujLcO2zi2zhOS49r/4tkWkakr8zXsfeEMnrh3Ex7YMmTdtFpumsbxvAZKHmqL9aY4VBQ6odpVRaeOS+LXZ0kr7U8V5giuFvxETQGOo3vUabBh71DCHoq0SpZtPeNgSCU4HlV9in9iGr1pbagMrz+H2bZRh5+gLHAUCgVCAWhpJLFcmDTT0xwNUXI9ev93ZJKZcH3/vhuiVBnFMHdCHnpSnBh2IroTwB8AKAL4H0KIgy6O28uEPRS6npgnzs0melhsbl5/3FvXFzTs+H6vS7VKkDnMwPWmxlG91bhGHQAW6wI/0++hf0XfsouQrfIKsVYZSSn1FRKHlPwVpzod8m0bB40Sz3GMvs3EHyWjbLkbY7gmcYydiIoA/gjALwH4NID7iejTSY/b65hyYXVLxUOnLiaOC4bdvH6DK+OQgL3B9TcKlptT48fO475by205zKM3rY11Dldcma8p86LTJgujDgBVB/sE/pWGLh5+4tysMRc9Tnxbt7fjx9Ywd0IeelJceOyfB/D3QogfAgAR/TmALwH4WwfH7llMubC7fD05/Zg2OW09IJWXJT3lsu9vw7SzVQQbKvg9tiOnK23ZPLpzuIozD5S80GYTnZiFkxY3DpQwf23B6pp130GwkEwVD9+puX9lSmSc+Lb8nV8x1E8Uw9wJeehJcWHYywAu+X7+MYDbHBy359HlwkaJNwcLN8I2kmxvaptl7UDJw+qVfW3HURls1cOrO4crz92hTlUumL+2gLs++3E8+zeXsBiyt6BrSL1t46Dx70wyzDcOlIwFSDZt764qVh2yV2oUw5x1HnpSlm3zlIgeAvAQAAwNRdejYK5j8qqDqAo3XHQ2CptcSl5RW/FnuzmlO4crj/3KfA39XvK4cl64Ml/DkdMV3P/5dTj6xjuRVysCwKFTF/HMqYstqzs/OhlmuW9j2lAPpv3aasDLXqm9hIs89gqAdb6fP7H0WgtCiKeFEKNCiNHBQfOszphRxS4f2DK0LIUbElUcUjrAYUVSulinADB84HgznqqLdbqOtXsFdt0l1doiTpybxdRjd+BHB++KrNHj30DfeXgaj06cadlPMRntsZFyqMcvx6jKhc9DNosrXHjs3wPwKSK6GQ2D/qsA/p2D4zIGVF61TCH0hz50HpBpI8kmKyFJHNLUAUc23NCdY9vGQWWHekk5YlrkfK2Op3YM4+HnZnIjCZAUvyHctnHQuuZAxTOnLuLw31wKTRuVE4iuUbVpjJI8ZLO4IrFhF0IsENFvATiGRrrjnwoh9NUCTGroQiiqlDPdRpIulVIe3+Z8NuMEoDWmtbpohorkPznZmIy6ZE1EDfexkbJ2Q6/beHDLUKwwih9/5tKR05XEK6Qwo+6/H5OI3OnSK7spm8UVTiQFhBDfFkL8SyHEJ4UQX3dxTMYNUTobAcvX/WVspIy6wUP2P+D+FLgwKnPVSEZtoOR1Val4GM+cupjIqPuLwuLKOEQ5V/B+tPGudcZa1TJvlVdoNsvO0/ccBlee9gBRPGtXcUqbcI5pA9b/gB946WxqBmauWtOmj/YiMtYNpBubLg+UcHLP7W2vq7xur0D40Ko+zM3XQkN+/hVelGywvMGGvUewreZzEae0fah2b9+A3c/PtFWIegVqemQTU5XUc8k5sn4d/2ZpHBkHG0zhEVc55HnQe0kCG/YeIIr34iJOaftQqYpKgo0Rsmzx12t4BcK2jYPYevBVvD1XxSovHfHXMFlpFznkpnx4eX3dWHhkCxv2HiCK9+LCY4oSzgk+xHJlsevwdGoeI9PA3ylpoOThi5tbi5NcSAwEKQ+UYhvSKBoyphoI+XqewzNs2HuAqHHzpB6T9qGiRp76u1V1rFS1suh0mdq0kAU+kxcuW2UCRaXkFds851se+z+hFadJzxk3QyVqzNy2iC+v4Rk27D1Amvm9Ki9Kl6deF2hqs6geTNXKQqDzNchtiXIdlbkqdj8/k9qFq8IhaYuPyXPGUW+MGjNXrTx1q788FjB1lWFPS4M876SV36vyonYdnoZAY2l/dWHRqO8dfDDT1oZJgkkj3Zaof51EdjiMXYenMX7sfORnyCsQdnx+HV6eeSdUQM2PDMHElZyOk60VXHlK+ecgeSxg6prWeFm1q+r23odA9Fx2HcHPQpWGKE3RXLVm1bShMlfFoxMNz133gEUta1dR8op4cIteo6jfK6BokBbIW1WqfIZ2LZX9W0ONCufVK+19Qr8TEVdyOqyXrg15kOO1hUQGN+zo6KiYnJyM9De62VaXD+sCVQMIVWyyF7BtmReXB7cMNfXXVZ93WLclE0UifOOrmzE2Usb6PUddDTk3EIAndwzjt5+fwTWLVUJ5SYXRxnIUiXD/beua3ngUa+N/tl09i92+6iei00KI0bD3dU0oJguBn17PhfWz/8X0ioQA4NnXLuHxsU0A9Bk5cSeW+29b1zxGVC2ZXkCg8f3aGHWg4VEXLNrolbwi7ru1bKUVo8L/bLvKb+92OV5busawZyHww2pxDSamKpHiqX7WLLWXe3uuigGDhosMdegevLGRMiYvXI4lSHXi3Ky2jV8vYdoniPr9quy0VySsXtHXkvW0/8WzsfvGBp/ttIxyt3vxKrrGsGch8MNqcQ1MRUKymYbKYJa8YluDg0/u/bbWuGw9+KrxoTpxbjaWQQ42G+lFoy43PZMoNZooEmH8y5utuyW1ja9ILZvFNs+2C4OcV+mBrjHsWbSrYrW4BqYVir9K1OZBu/+2ddq87LAMibgrJVWzkV6jVhcYvWmpdHKSAAAXgUlEQVQtAKRi3OtCJHoW+wqEj314lfWz7cog5zXc2jWGHVj++Fgeeh+6wLYC1Ob7kXH0Z1+7pPTcZYaEv2GDfGB14ygS4cOr+pThBEI6GS0yfnzi3GzXxOx3Hp4GAVjlFZxXlRJB2brOVkK5WqtHSoJwZZDzGm7tmnTHrBgbKePkntvx1sG7cHLP7T1n1IHGykWXCBhHy+XxsU1484lf1h5TVR348HMzzXCPn5JXxDe+uhn777lF2dHpgS1DGCh5kcdoQqaLPj62qetWbwLpSAXUBZSpivvuvgVe0X2HKlfFRi7SKDsRNuxMKGMjZe3SPYlnE+XhkV63rEQFGrnnVxcWsfPwNHY9N42Fxese3Jp+D0/uGMboTWvx0w8WYo8xyI98E/zEVAUPPzfj7NidRjFmt2+/fv/YSBnjX94cWouwpt9+8pUNsVVENch5zW1nw85YoXswbxwoxS7iMvVNNSGAZhNqGWURAvA7orJb/fix8870T4pEzWuTMd68FS5JkoawgqmKJ/fcbjTu++6+peVn0z0V1hA7Cq6K9zqNroqxM9mh20jetnEw9iaWrqfp4e9dCi2nnw8JJ0iv0WWsdFGI5rWl3V0oDnKyc8Eqr4BVXjG2Fr5t6zoZLgsTg/PfUybpibitGrvdkAdhj52xQufZnDg3m6iVXnAPA3CnkSInC5ekMWHoiBoIqdbqRtkEP2EPfrVWx3tXF2LFx21b15UHSnhyx3BzQ10S1p4xTemJvMAeO2ONyrPRtZWLY/gmpio45FCiVgCYv7bQojvugrBiK1dEHXKBCIdOXURJk/VS8gq4Wqs3M1fCcsxrdYGBkgciWF9rkUgZygimwj65Y1jrJYdlqug8f9lEoxcz14Ik8tiJ6CtEdJaI6kQUql/A5A/brAKbOLwudpqEK/M1FAuE/pBuQMFYv4kbSp6VwNlysyiEMetl7eqVLdldNh7uXLWG/hV9eHDLUNPT1m2qEtDU5PETVcAv7J7ye/7yvMH02G4U63NJ0lDM9wHcC+C7DsbCdCBhBtkmq8D2wY6TD26TuVFbFFizeiV+dPAuPLVjuGkQ5N/KsJIt89cWYksspIFtsCToCe/evgGeQdFSUpmr4sjpCnZv34AndwzjZ0rtC31VrFwSFloJYnNP+Tdkdc0zeplEoRghxA8AgGKmRTGdjU11n00Rl20xCVkIS/mR6n837zka6ulLo2baKLMtf7cVy1oubEej9IQtH91qbRH7XzyLDxbqbd9lsE9tkKg551EKA/NaYJQUjrEzWqI0pTbFNG0evompSiSjXqCG53zznqMoWDTBsNlEHSh5HeWJu0SVCjh+7HykjWrdZ/PTqwvaxh0y51x1FtN3YpupwnpOakJDMUT0HSL6vuLfl6KciIgeIqJJIpqcnZ2NP2Jm2XDlDdnE4aMuneuiET8XCM+39opkJSiVZ1SpgK6kEGRsXxVii5JzHqceIq8FRkkJ9diFEF9wcSIhxNMAngYajTZcHJNJF1fekI2Ymouls1aWVvHSoxNnmno1hSWXUrXlWKDGWNPuB2pCNgpRyRbbShCrKjtNMr5egVrkdkteEau8Qmh2jD++bWqOEpxo4op6yd/tf/Fsc0WxKmSj3H/OvOpAcR47o8WVN2RT3aebLKLs3tSFUGZ61OqiZUXw6MQZPHPqYtOo1TVGXf4u60IkqZz4+NgmPLm0+Ss/R1sP6b2rC20esGmlM/6VzW3f17672/V4VFTmqth5eNq4Igh+T6pGLlE2QT9YuP4NXpmvhWbGZNVqc7lIFGMnol8B8N8ADAI4SkTTQojtTkbGZI5LdcuwmKnOq7/v1rJW5jfIjUst21T4jcyzr12yHHUDlznwcfBPerYNmoPIyc3/t7puUrLxtO77kveDzd6GClXWlC5+b7OS0+0FHXjprPbezatcryRpVsy3AHzL0ViYDiRpubXtctc0ibw8807opqY0FrrlPy2NZWyk3FX6Lqb9gYmpCuav2QucqdIdo/Yb8N8PE1MV7P7mTKQOSWVN1pQOm7Cfzvhfma81Q0e2sgR5yabhrBgmNVRx093Pz2D/i2db2qf5UydVRn//Pbco+52uXlHE/LXFtuPsOjzdFqIQQNMbM8WWo5Jmm70CNXLw/UqJkkcnzigbZpgqRVWt5oCEK7IIsTJd43mTMbUJ+9n2C/B75HnPpuEYO5MaquVubVFgrlqLFNccGynjvlvLbTakLoAndwy36OTbSAzff9u6GFejJq5R/9kPr1C+vvWTa/HUjmGUvGIzBBT8nKT0gurcq1f2KWPhKk/80YkzTZ37AhG2bRyM3H3INl3StBIY0Ej2run3rMaj2gvS4ZclyHM2DXvsTCSiZBLYLGtt45qqfqe6v9XFjgtLsrthXZzS5sEtQ3h8bBMe+OO/xsk3Lzdf3/rJtTj0n34BWw++qoz/Su33/S+eNU5eNp643ECWLAqBZ05dxGs//Cf8cHYei0KgSIT7b1vXJtLlP5cNpgKmiakK3rvaHk7yitQm5atDdb3vf6CuDvbLEgT/Jk9ZMWzYGWuipqTZLpHDxJsmpiqRqhdVsWOgVXb38bFGByTbzUdXlAdKTUP5ldEh/Oifqk3D8pXRhjKjzmAuChEa0/YbLpOR0m0g/91P3m85nzT+KuOu+3794ak1/V5bQ3M/48fOK69n9Yq+SEY2eL3BexVQyxLkxZAH4VAMY40uk+Dh52aU4ZQoS2RdWEY+oDpUMVGZXqnSkQmm0KWxWbZ6RVHZjs+vQPjoxBltup0pzhu2UTl/rT2tUUWUlYpuElB9v16B0OeT+g1LPdR9/u8mrADOawMNW9iwM9aYPEnVwxt8uNb0e0bRKVXesqmhhVfQZ4yMjZRR1xgv/3Xo4rtJuLZQx/57bmkRHAsqEB46dVGbbmfqMRuGTQ43EK3tnW4SUH2/C0K0xd1N+ehp9hzt5X7FbNgZa0wPm+7h9T9cU4/d0Sx80fH2XLWltNwYJiFg8sJlbRm6yWhMTFUwfOB4Kprq/pxxnQJhWIw8SeTfprAnygayaRKQ1/jAliHMzde0ej86pyDvm5hZwYadsSYstGIT1gjrf3lDyWsJUZioLQocOnVRWz2oG++V9z/A7m/OxBL8IjTSEMPwfxZRwj1yMkraDSjsnI+PbcKDW4aaRrtIhE99bLXyvf5JQKXnYsrSkegm2V4PmaQFb54yVshsGFN5fZTls644hihaCb8pU0YahwMvnW3xzOP2BZV52KqNuSD+z8JmkxFo9VTDOhyVl6psddWfNt+F3ED249fQCWbF6DbPV3kFo1GXITNdRpVq43PrwVdzma2yXLBhZ0KxMWRRl8+6dDNdq70o+L3VsZEyxo+djxxyMRldoCE0pfs8gsqFJrkEf1XtKq+AyQuXfSX7ajkDArBt4yBOnJtFZa7aNlb5+ziojL1Ep+cSOhEvhcyOnK6EZlTFFQNjWmHDzoSi89SLRKgLEdurUqWb6SQB1vR7uFprb/KgQsbQpYGME6/2/02RCPfd2hhr2CSn6iSkm8QA4Mjp63sCV+ZrLbnluni1AFrfp/j9kdMVjN601pkxNOm5hFFbFMqaAVUdQt41XJYLNuxMKLp4bV0IvHXwLqfn0nm3sljFJAUrWf+RUugKIwqLQjQNpSkcJY26yuNVTWKqQiRXuDCG/smxYNhAHSh5ys5KfnSZNcF7K+8aLssFb54yoaSZkhbcjAOAJ+7d1JIHLvW15cZrGKd+eCWSwbTZqJSG0mRgBBo53zZ55KaiK1ckMYZBWVtT3vv+e25paS6tQpdZE7yH0rzXegk27EwoaaWk6TSxJy9cNuprh+VgRym+KVDj+myMuwyjhJ3bVgs8bYJjjdKhKGyjXCL1XOSkK3Vu/JS8Iu6/bV3b6/6CLVMmE6c/RocNOxOKKiXtvlsbm5JR2pgF0cVTnzEU7wDhhjtK8U1doFkUFFYlK2PjYe8LyyO3NZpJUGmeR2ksYePt+0NkEl364uNjm1q8+mDBlhwLpz+6gUQGIkijo6NicnJy2c/LuEGnwxH1Abx5z9FIG5sE4K2Ddxn1XaTBiCqn+9SOYQDXY/jBv/eKhNUr+vButYYbSh5qi3Vjuzw5VhWm635wyxBOnJtN1MhCpXmu+8zke4Mbu7q9jKQb5mFjsQm19TJEdFoIMRr2PvbYmciYMheiEDVuKt9v8ppF4L+2yNDIyT2340cH72ppQbem3wMEmnLDc9Ua6gItBT66sUb5nRQIk5W68boTNR7pXYenW1ZSps5SKk9+28ZBZUjkG1/dnLhEnzdI04cNOxMZVw9mFJEwf2hBtVxXiW5FITgx+aUQ+lf0tYlvVWuLOHFuFt/46ubIMWGdeNb8tYVmaOvRiTOR9WIKABbqIpKwWJFIOUmfODebWkiEN0jTh0MxTGRcLqVlSl1Y42OTpK9NCqQtBLSFGUyhE0JDSEwIKLtC6fCnEt5Q8vD+tYUW8SybUJI/PHTjQAnz1xaUhVjy81OFz0ypm65TWSWuQnm9iG0ohvPYmcjE6ZWpQ2ZUxHnYbSpio+L3dOX4TLryAo2snZJXxJM7hmMZpp9eXWgLu5iMumryARoTkApT8w3dpJim95z3JhedABt2JjJpPJhxjhmWXeIVSKtfHuYR+wt8dI07dO8PIzghRYmlm1ZFYX08dY0lXE3SUchzk4tOIJFhJ6JxAHcDuAbgTQD/QQgx52JgTGeTxoMZ9ZimmL4MP+iEtASuC2mF9Uj1TzqmkI9tOMg23TGqBsy2jYMtUgP+13W4nKSjtE1k0iWpx/4KgL1CiAUi+j0AewH81+TDYphwdB6q36sNKjuq3qPbM/CHI6SBMnnutvnztjninxu6AX/15uWWTJ9Dpy7imVMXlfsOJ87NKo+le13iYpJWiXftPDyNAy+dNbbGY9IhUVaMEOK4EEJ2oj0F4BPJh8QwdoRVKZoaJQfVF20yW8I8bduQiilDxZ+B8qN/al9NqIp6JFmmEeo+G9uOToxbXKY7/gaAv3R4PIYxElalaNso2bbaMSzUYtscQzeRBHPEwwxyMEUzyzRC01jj1DgwyQgNxRDRdwD8nOJXjwgh/mLpPY8AWABwyHCchwA8BABDQ0OxBsswQUxhhCiNkm3CEUVDJaj08G3izLZxbVM2jsR/jS6zlVSYri1srHkqPuqGvYRQwy6E+ILp90T06wC+CODfCkNSvBDiaQBPA4089mjDZJjohGWJRMUUanni3oZUr22TCJuJxCYbR7UPkIbRCWuAETbWvBQfdUsjkKRZMXcC+G0A/1oIMe9mSAzTThwvybUHWzZs1o6NlJX66kl00YPZOGFdneTfpGFgwhpgXN9cfgPVQOvBPKkzdksjkKRZMX8IYCWAV6iREXBKCPGbiUfFMD7iekmuPdiwiSKNzUu/0UwzBBB2bPtro7afZPepPNAtOjeJDLsQ4uddDYRhdCTxklx6sGEThS70I9BIqXRRxJWGgbSZOG3CWqrvSSA83bKbcB3eSwuuPGU6nk7ykkzG1RRnDhrLoIcsm1O78MajevY2E6dNWKuTvqe0SHuD2hVs2JmOJNhvU7Vx2WleUliFqj/tL+gh+ytGk2zIxQlb2Rhkm7BWt3izSegWnRtWd2RSIUk82Ebcq9PVAHWKkFLAy0Z+II5aZhzlTVdqnazamD7caIPJjKht2ILoqhiDlZmdbCxMxUK2oYk4IYw44RBXfUa5rV3nwKEYxjlJU8J0RqguRGoa4a4xxWJt9ePjhDDihENchhdYtbEzYMPOOCfpJloeYrVhxtIm1BRnQy7u5h4b5HzBhp1xTlLD3C2ZB2HojKXK6MfNilHtZTxx76aO39xj0oU3TxnnuNhE6wY9jqzhzcreg1vjMZnhImbLoYFwXJS38wSaT9iwM6nAhjl9ku5ldIugFRMdTndkmC4lqf66yeNnuhs27AzTpSTNP+8FCYBehQ07w3QpSQuCsuy4xKQLx9gZpotJspeRl7RSph027AzTo3SLoBUTHTbsDNPDcPZSPuEYO8MwTM5gj51hugAuJGKiwIadYTocLiRiosKhGIbpcLiQiIkKG3aG6XC4kIiJSiLDTkS/S0RvENE0ER0nohtdDYxhmAZcSMREJanHPi6E+KwQYhjAywAeczAmhmF8uGpdx/QOiTZPhRD/7PtxNaDs38swTAK4kIiJSuJGG0T0dQD/HsC7ALYJIWY173sIwEMAMDQ0dOuFCxcSnZdhGKbXsG20EWrYieg7AH5O8atHhBB/4XvfXgCrhBD7wk7KHZQYhmGi46yDkhDiC5bnPATg2wBCDTvDMAyTHkmzYj7l+/FLAM4lGw7DMAyTlKSVpweJaAOAOoALAH4z+ZAYhmGYJCTNirnP1UAYhmEYN3DlKcMwTM5gw84wDJMz2LAzDMPkDDbsDMMwOYMNO8MwTM5gw84wDJMz2LAzDMPkDDbsDMMwOYMNO8MwTM7gZtYMkxETUxXWWGdSgQ07w2TAxFQFe18402xSXZmrYu8LZwCAjTuTGA7FMEwGjB873zTqkmptEePHzmc0IiZPsGFnmAx4e64a6XWGiQIbdobJgBsHSpFeZ5gosGFnmAzYvX0DSl6x5bWSV8Tu7RsyGhGTJ3jzlGEyQG6QclYMkwZs2BkmI8ZGymzImVTgUAzDMEzOYMPOMAyTM9iwMwzD5Aw27AzDMDmDDTvDMEzOICHE8p+UaBbAhRRP8VEA/5ji8V3RLeMEumes3TJOoHvG2i3jBLpnrHHHeZMQYjDsTZkY9rQhokkhxGjW4wijW8YJdM9Yu2WcQPeMtVvGCXTPWNMeJ4diGIZhcgYbdoZhmJyRV8P+dNYDsKRbxgl0z1i7ZZxA94y1W8YJdM9YUx1nLmPsDMMwvUxePXaGYZieJdeGnYgeJiJBRB/Neiw6iOh3iegNIpomouNEdGPWY1JBRONEdG5prN8iooGsx6SDiL5CRGeJqE5EHZchQUR3EtF5Ivp7ItqT9Xh0ENGfEtFPiOj7WY/FBBGtI6ITRPS3S9/7f8l6TDqIaBUR/Q0RzSyN9UAa58mtYSeidQDuAHAx67GEMC6E+KwQYhjAywAey3pAGl4B8BkhxGcB/D8AezMej4nvA7gXwHezHkgQIioC+CMAvwTg0wDuJ6JPZzsqLX8G4M6sB2HBAoCHhRCfBrAFwH/u4M/0AwC3CyE2AxgGcCcRbXF9ktwadgBPAvhtAB29iSCE+Gffj6vRoeMVQhwXQiws/XgKwCeyHI8JIcQPhBCd2jz08wD+XgjxQyHENQB/DuBLGY9JiRDiuwAuZz2OMIQQ7wghXl/6/58C+AGAjtRDFg3eW/rRW/rn/JnPpWEnoi8BqAghZrIeiw1E9HUiugTgAXSux+7nNwD8ZdaD6FLKAC75fv4xOtQIdSNEtB7ACIDXsh2JHiIqEtE0gJ8AeEUI4XysXdtog4i+A+DnFL96BMDvoBGG6QhMYxVC/IUQ4hEAjxDRXgC/BWDfsg5wibBxLr3nETSWvoeWc2xBbMbK9BZE9CEARwDsDKyEOwohxCKA4aV9qm8R0WeEEE73MbrWsAshvqB6nYg2AbgZwAwRAY2QwetE9HkhxD8s4xCb6Maq4BCAbyMjwx42TiL6dQBfBPBvRcZ5shE+006jAmCd7+dPLL3GJICIPDSM+iEhxAtZj8cGIcQcEZ1AYx/DqWHPXShGCHFGCPExIcR6IcR6NJa6n8vKqIdBRJ/y/fglAOeyGosJIroTjT2Le4QQ81mPp4v5HoBPEdHNRLQCwK8CeDHjMXU11PDg/gTAD4QQv5/1eEwQ0aDMKCOiEoBfRArPfO4MexdykIi+T0RvoBE+6tRUrT8E8GEAryylZv73rAekg4h+hYh+DOAXABwlomNZj0mytAH9WwCOobHJ95wQ4my2o1JDRM8C+GsAG4jox0T0H7Mek4atAH4NwO1L9+Y0Ef1y1oPS8HEAJ5ae9++hEWN/2fVJuPKUYRgmZ7DHzjAMkzPYsDMMw+QMNuwMwzA5gw07wzBMzmDDzjAMkzPYsDMMw+QMNuwMwzA5gw07wzBMzvj/oTNDvK8NTXAAAAAASUVORK5CYII=\n", "text/plain": [ " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(X[0,:], X[1,:])\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/gianluca/python_venvs/venv_python3/lib/python3.6/site-packages/sklearn/neighbors/lof.py:236: FutureWarning: default contamination parameter 0.1 will change in version 0.22 to \"auto\". This will change the predict method behavior.\n", " FutureWarning)\n" ] }, { "data": { "text/plain": [ "LocalOutlierFactor(algorithm='auto', contamination='legacy', leaf_size=30,\n", " metric='minkowski', metric_params=None, n_jobs=None,\n", " n_neighbors=10, novelty=False, p=2)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lof = LocalOutlierFactor(n_neighbors=10)\n", "\n", "lof.fit(X.T)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1.00004912 1.16393525 1.05811883 1.1301742 1.10989635 1.0872946\n", " 1.01299922 1.37592829 0.98887066 0.9918069 1.01172105 1.05041506\n", " 1.07142598 1.0112659 1.00111892 1.00678919 1.1385223 1.07087708\n", " 1.02351156 0.98750599 0.98967654 0.98826307 1.02809412 1.06809984\n", " 1.01128472 0.97841585 1.0146074 1.02990281 1.08298899 1.15819726\n", " 1.192349 1.02269606 1.23447895 1.03392572 1.18931962 1.07363152\n", " 1.52175444 1.19428006 1.17232851 1.10131279 1.05806007 1.04460688\n", " 1.0349604 1.07167471 1.04519619 1.08791493 1.16422961 1.19691324\n", " 1.25882267 1.11215737 1.09352247 0.9846942 1.0119255 0.99774664\n", " 1.04120458 1.14242654 0.99915363 1.07070892 1.0203899 1.03749406\n", " 1.18023369 1.40048035 1.06878432 0.99789219 1.06710551 1.05171906\n", " 1.1725131 1.06135766 1.0273509 1.29587806 0.99082496 1.09388661\n", " 1.01402737 1.69351018 1.34787726 1.00285028 1.15278674 0.98904872\n", " 1.04246757 0.96890592 1.02173385 1.09548495 1.20483163 0.98742375\n", " 1.24369437 1.12888926 0.97771252 0.96808267 1.09345239 1.06556533\n", " 1.00550423 1.1190862 0.99011435 1.37116328 1.08005323 1.19591913\n", " 1.12374059 1.05935258 0.97513093 0.98791968 1.17683691 1.28094381\n", " 1.05020892 1.1998494 1.20504162 1.3479992 1.09496158 1.08054196\n", " 1.15889441 1.08849199 1.23874837 1.04862237 1.11975588 1.2167286\n", " 1.19240937 1.06055537 1.01897462 1.61899501 1.09795728 1.20034081\n", " 1.05443634 1.01416134 1.04118462 1.36597442 1.03910458 1.04257997\n", " 1.0894402 1.14222735 1.00921994 0.99166977 1.14501942 1.32506777\n", " 1.05863867 1.07469668 1.02155135 0.99916142 1.02919361 1.0138734\n", " 0.99165141 1.17769125 0.98219837 0.98860875 1.0954437 1.04144402\n", " 1.1465814 1.24113671 1.26175411 1.10000769 1.01675683 1.00038425\n", " 1.22678409 0.99829401 1.44975164 1.08703702 1.10818794 1.11799248\n", " 1.11633588 0.99718172 1.36789734 1.07022204 1.01476546 1.16215425\n", " 0.99026612 1.02516649 0.98977487 1.06808666 1.02571278 1.06459942\n", " 1.22227197 0.99015372 1.22336951 1.06152206 1.07660815 1.09568375\n", " 1.18284141 1.14329491 1.06370227 1.04675143 1.17703981 1.13137815\n", " 1.00070073 0.99760835 1.19188608 1.05482521 1.00141871 1.02222841\n", " 1.10419302 1.08521268 1.16108889 1.03463594 1.18866833 1.0114758\n", " 1.02918596 1.23098261 1.06103638 1.49981093 1.00762753 0.98255794\n", " 1.2033266 1.00104433 0.99212327 0.9949137 1.28233137 1.00518616\n", " 1.18946253 1.09052074 1.0373218 1.08861839 1.33127213 1.2939111\n", " 1.0142053 1.04004077 1.00400562 1.03445445 1.23283845 1.11904431\n", " 1.17635472 1.06865254 1.21757564 1.06584834 1.01728631 1.04098191\n", " 1.14771165 0.99181511 1.00971799 0.97027088 1.36069951 1.02942639\n", " 1.19765604 1.0403738 1.02200622 1.04081376 1.02144602 1.23090582\n", " 1.21880574 1.11829162 1.09878219 1.09021937 1.14306894 1.11340511\n", " 1.13141425 0.99473986 0.98942978 1.09246811 1.07396297 1.11246025\n", " 1.00053167 1.07038897 1.02512244 1.12145927 1.15621506 0.97335058\n", " 1.05239747 1.20703582 0.97844979 1.1216526 1.03980986 1.06721457\n", " 1.16842307 1.05019153 1.00584494 1.11448843 1.10020207 1.311626\n", " 1.06220028 1.19483685 1.35078809 1.05933646 1.01572441 0.99450073\n", " 1.07217749 0.96017862 1.26684861 0.95943814 1.19017754 1.38058843\n", " 0.99128196 1.19807326 1.13554109 1.01294695 0.97122977 1.07714039\n", " 1.13827695 1.14600295 1.01818703 0.99852084 1.0225169 1.38675845\n", " 1.02250777 1.07113665 1.04164132 1.29660946 1.0633169 1.0524452\n", " 1.07599934 1.14484072 1.03780621 1.00801618 1.07195656 1.41528679\n", " 0.95340824 1.1997411 1.1700045 1.21147786 1.10579502 0.99668135\n", " 0.99952535 1.07602669 1.01889422 1.05566839 1.03058866 0.98337058\n", " 1.12194422 1.03195864 1.03892049 1.01178286 1.15688513 1.02649874\n", " 1.2029483 1.20742896 1.00327889 1.0586841 1.204388 1.06999593\n", " 0.99005334 1.08818139 1.13435591 1.13275902 1.27010108 1.22503176\n", " 1.22007582 1.04369073 0.96721682 1.35210503 0.98853756 1.05831864\n", " 1.07775762 0.97688524 1.04333299 1.09508813 1.01981945 1.03325372\n", " 1.08205833 1.12541013 1.02573272 1.11025895 1.33277325 0.99806757\n", " 1.08809315 1.23280208 1.00586307 0.97983957 1.01449528 1.02317198\n", " 1.07015024 1.04581377 1.1751343 1.04392483 1.04976663 1.12440309\n", " 0.99015399 1.24970521 1.35443793 1.14484994 1.05729397 1.11283436\n", " 1.00328378 0.98308662 1.16788635 1.0309818 1.04760334 1.01274527\n", " 1.06043186 1.14292281 1.02119897 1.00567929 1.05340038 1.11418381\n", " 1.14388159 1.05209617 1.16179693 1.03111879 1.0861263 1.015114\n", " 0.97761953 0.99688394 1.00501102 1.09017265 1.14069469 1.19953481\n", " 1.1202392 1.01394712 1.04561145 0.95505724 1.05332509 1.03074594\n", " 1.08464504 1.06522921 1.11243113 1.16944166 1.10313147 1.12293455\n", " 1.00802313 0.97413664 1.02737487 1.28028962 1.24687123 1.16438761\n", " 1.05173237 1.0412712 1.10764737 1.11976803 1.04216153 1.00913944\n", " 1.06286623 1.0363627 1.14800829 1.15741599 1.08158584 1.0934768\n", " 1.16331679 1.09768876 0.98297519 1.01006217 0.99113715 1.05126879\n", " 1.01175488 1.06155886 1.11311485 1.09220688 1.01787281 1.09343369\n", " 1.03338707 1.13456606 1.0010813 0.98045385 1.31726994 1.0108825\n", " 1.2958934 1.0361067 1.02468861 1.02518473 1.44053564 1.17740311\n", " 0.97464084 0.97822266 1.24771334 1.04054349 1.13925477 0.97081833\n", " 0.97896947 1.02280471 1.06310855 1.03416375 1.15941496 1.00943653\n", " 0.97752937 1.04920408 1.07788122 0.98244205 1.33348006 1.0454937\n", " 1.07083988 1.00860606 1.06005857 0.97683746 1.09245366 1.03054955\n", " 1.05074868 1.01161045 1.00278426 0.97908785 1.08166231 1.27719712\n", " 1.02226597 1.10882173 1.31755754 1.38767569 1.06928008 1.14584124\n", " 1.05197936 1.19952203 1.0587069 1.20974592 1.41721043 1.00949067\n", " 1.04121691 1.03007154 1.53864489 1.10506892 0.99123188 1.20284212\n", " 1.13291241 1.3041664 0.99393787 1.00979729 1.11423642 1.04385753\n", " 1.06749225 1.03592871 0.98630974 1.22482257 1.363706 1.0631738\n", " 0.99032657 1.27671919 1.36220417 1.57991077 1.05515448 1.07779034\n", " 1.01096074 0.99801342 1.06828288 1.08783672 1.05959196 1.06042938\n", " 1.05873519 1.08596377 1.10521386 1.19048966 0.95324841 0.99412864\n", " 1.0095308 1.02447191 1.08999233 1.02471891 1.05285188 1.22854149\n", " 1.21693168 1.0035419 1.03139112 1.0568433 1.02404145 1.02569797\n", " 1.53842247 1.2833416 0.98910341 1.45752595 1.08741787 1.09364006\n", " 0.98586525 1.08292002 1.068961 0.98171092 1.1729917 1.08436734\n", " 0.99013896 1.10625114 1.36255511 1.0830123 1.06741388 0.99712369\n", " 0.97445533 1.07985701 1.11790066 1.1204717 1.24887451 0.99834911\n", " 0.99784527 1.06005791 1.0400551 1.08232983 1.36440596 1.09877443\n", " 0.99218907 1.2045237 1.02503785 0.98618737 1.03096901 1.12763692\n", " 0.99685933 1.01424477 1.01804486 0.98632655 0.96940999 1.17180262\n", " 1.11001722 0.98564799 1.15820003 1.07984338 0.98195856 1.01207874\n", " 1.12244625 1.24391722 1.02485616 1.04405656 1.05704419 1.01966308\n", " 1.16845829 1.00082487 1.05219506 1.0858245 1.14802254 1.20792816\n", " 1.0227275 0.96974193 1.10257863 1.02903745 1.06598526 1.04378185\n", " 1.18309611 0.97551492 1.20438349 1.06157886 1.1021847 1.07856731\n", " 1.00704987 1.09502844 1.0124544 1.01278822 1.0629603 0.99518608\n", " 0.9817555 1.00963285 1.10801503 1.1733171 1.07141133 1.19711998\n", " 1.0507669 1.04310632 1.03101794 1.00226326 1.03983334 1.06475114\n", " 1.1447109 1.07810841 1.11125496 1.02831074 1.07405622 1.08604749\n", " 1.13292421 1.04773623 1.1110567 0.96822927 1.04372311 1.02308493\n", " 1.06673767 0.98566827 1.01016886 1.02307284 0.99257092 1.10420897\n", " 1.12667538 1.12234114 1.28314269 1.01318798 1.05563968 1.25677488\n", " 1.03404174 0.99726691 0.96745548 0.95809354 1.00605403 1.00139145\n", " 1.03015938 1.12162853 1.07003764 1.10600771 1.0362975 1.0324664\n", " 1.50093638 1.06155013 1.12090339 0.9946363 1.0174383 1.01410151\n", " 1.32044015 1.07590957 0.98978438 1.14693285 0.99296125 1.00626798\n", " 0.97985667 1.03018321 1.01833566 1.90095002 1.02450757 0.95347621\n", " 1.23312448 1.13026021 1.07930612 1.11280693 1.00639917 1.04192812\n", " 1.02235361 1.02707479 1.06993366 1.10380689 1.04998565 1.0805797\n", " 1.14666278 1.08751002 1.13964855 1.01565457 1.06586985 1.04014905\n", " 0.96819763 1.11825029 0.95760201 1.06899188 1.18062412 1.01384649\n", " 1.31149223 1.00612375 1.02821745 1.11521179 1.1245342 1.04785838\n", " 1.07002549 0.99803715 0.99647049 1.04152863 1.06934915 1.01179438\n", " 1.1134196 0.97949751 0.98157709 0.94936959 1.02119541 1.01343143\n", " 0.98735234 1.10533404 1.0824227 1.27132342 1.00396765 1.09341268\n", " 1.02324737 1.27841693 0.99826179 1.05096167 1.1346541 1.00207899\n", " 1.32850337 1.00091659 1.11379334 1.03315136 1.20813625 1.01850576\n", " 1.00408652 1.25953522 1.51752912 1.03112652 1.06124353 1.03184711\n", " 1.0003122 0.9958721 1.13069613 1.00517335 1.07321017 1.45907486\n", " 1.10170078 1.09856598 1.00822559 1.10359047 0.98722213 0.9888063\n", " 1.08941698 1.14670534 1.09974615 1.00109832 1.21771392 1.07892324\n", " 1.30772931 1.12441084 1.00696648 0.99595743 1.19254921 0.99693591\n", " 1.25445616 1.17514878 1.03503435 1.27207884 0.98671698 0.98484067\n", " 1.12482942 1.18659545 0.9853441 1.00783416 1.02365302 1.02019872\n", " 1.17354534 1.03054371 1.2425259 1.34319684 0.97917985 1.02256105\n", " 1.03722843 1.09509726 1.02668795 0.98159599 1.06977159 0.98317324\n", " 1.09820576 0.9822148 1.02723013 1.234661 1.10358295 1.22863095\n", " 1.03077071 1.01383032 1.01262669 1.09668346 1.05112401 1.01729954\n", " 1.04946325 0.98459212 1.10635184 1.00662811 0.9869254 1.00758648\n", " 1.20197223 1.00429026 1.19597462 1.02162519 0.97134779 1.21298765\n", " 1.11171749 1.01830825 0.98022736 1.17107675 0.98933519 1.31539168\n", " 0.99775256 0.97954468 1.03360434 1.03258334 1.01696901 1.14610033\n", " 1.05130707 1.22928873 1.12263157 1.0513393 0.98733158 1.14316954\n", " 1.03714088 1.11234595 1.02246857 1.00474642 1.09034906 0.99342772\n", " 0.96251781 1.15001292 0.97811034 1.07002547 1.12481639 1.13393515\n", " 0.97736304 1.20409699 1.04919753 1.04789895 1.12833097 1.19342707\n", " 0.95606078 1.13690641 1.0002635 1.02100831 1.11705167 1.10803878\n", " 1.0263406 1.03399132 1.00602046 1.17981953 0.98355267 0.9826279\n", " 0.97170299 0.9924948 1.06748183 1.0909571 1.07262803 1.0135285\n", " 1.06642667 1.27114001 0.99398783 1.22420082 1.09126125 1.01106352\n", " 1.1138241 1.0791408 1.04146519 1.11253841 0.99515608 1.02232962\n", " 1.09053635 1.03693326 1.25297996 1.0026479 1.39484176 1.03767737\n", " 1.00156711 1.09086398 1.05962864 1.50522356 1.0599935 1.24269983\n", " 1.02758382 1.01336154 1.05003161 1.00147229 1.02960939 1.07159013\n", " 0.98774697 1.33876519 1.02682102 0.98994556 1.02169703 1.12334196\n", " 1.04254871 1.0223909 1.00728776 1.19070256 1.01067536 0.97372456\n", " 1.00036788 1.0015833 1.14811142 1.27030026 1.07472794 1.1806036\n", " 0.98070264 0.98684757 1.09249432 1.03123298 1.01156204 1.0011902\n", " 1.170147 1.00064538 1.12107475 1.02901972 1.06216815 1.06355546\n", " 1.06643715 1.06200308 1.12473678 1.04574772 1.37903489 1.0338228\n", " 0.99714715 1.03833502 1.06199892 1.23093936 0.9602124 1.06217889\n", " 0.98332512 0.97635434 1.08950573 1.07781396 1.07881815 1.15997951\n", " 1.02465636 1.19640865 0.97536956 1.02721974 0.99112945 1.24408066\n", " 1.14579261 1.01218372 1.13644007 1.11806276 1.26395458 0.98642146\n", " 0.97241363 1.07234292 1.17387025 1.44237012 1.26644511 1.0563392\n", " 1.02653176 1.08191049 1.10385788 1.23899673 1.07784613 1.0163733\n", " 0.99289995 1.04005791 0.99954537 1.02327484 1.1528827 1.28785732\n", " 1.04737222 0.95515901 1.01311114 1.16976988 1.0789148 1.00769356\n", " 1.01142914 1.01294959 1.20767515 1.08518505 0.98557041 1.31352822\n", " 1.00367412 1.09080284 1.066151 0.97111323 1.12904447 1.04974498\n", " 1.17191717 1.17329389 1.09659012 1.2869608 ]\n" ] } ], "source": [ "print(np.abs(lof.negative_outlier_factor_))" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for i in range(len(lof.negative_outlier_factor_)):\n", " \n", " if np.abs(lof.negative_outlier_factor_[i]) > 1.5:\n", " \n", " plt.scatter(X[0,i], X[1,i], c='r')\n", " \n", " else:\n", " \n", " plt.scatter(X[0,i], X[1,i], c='b')\n", " " ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "# Example with DBSCAN\n", "\n", "from sklearn.cluster import DBSCAN" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\n", " 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0\n", " 0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 -1 0 0 2 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0\n", " 0 0 0 -1 0 0 -1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 2 0\n", " 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 -1 0 0 0 -1 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 -1 0 0\n", " 0 0 2 -1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 -1 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0]\n" ] } ], "source": [ "dbscan = DBSCAN(min_samples=3, eps=0.3)\n", "\n", "dbscan.fit(X.T)\n", "\n", "print(dbscan.labels_)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(X[0,:], X[1,:], c=dbscan.labels_)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(5, 1000)\n" ] } ], "source": [ "X = np.random.normal((np.zeros(1000), np.zeros(1000), np.zeros(1000), np.zeros(1000), np.zeros(1000)))\n", "\n", "print(X.shape)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/gianluca/python_venvs/venv_python3/lib/python3.6/site-packages/sklearn/neighbors/lof.py:236: FutureWarning: default contamination parameter 0.1 will change in version 0.22 to \"auto\". This will change the predict method behavior.\n", " FutureWarning)\n" ] }, { "data": { "text/plain": [ "LocalOutlierFactor(algorithm='auto', contamination='legacy', leaf_size=30,\n", " metric='minkowski', metric_params=None, n_jobs=None,\n", " n_neighbors=10, novelty=False, p=2)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lof = LocalOutlierFactor(n_neighbors=10)\n", "\n", "lof.fit(X.T)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1.00004912 1.16393525 1.05811883 1.1301742 1.10989635 1.0872946\n", " 1.01299922 1.37592829 0.98887066 0.9918069 1.01172105 1.05041506\n", " 1.07142598 1.0112659 1.00111892 1.00678919 1.1385223 1.07087708\n", " 1.02351156 0.98750599 0.98967654 0.98826307 1.02809412 1.06809984\n", " 1.01128472 0.97841585 1.0146074 1.02990281 1.08298899 1.15819726\n", " 1.192349 1.02269606 1.23447895 1.03392572 1.18931962 1.07363152\n", " 1.52175444 1.19428006 1.17232851 1.10131279 1.05806007 1.04460688\n", " 1.0349604 1.07167471 1.04519619 1.08791493 1.16422961 1.19691324\n", " 1.25882267 1.11215737 1.09352247 0.9846942 1.0119255 0.99774664\n", " 1.04120458 1.14242654 0.99915363 1.07070892 1.0203899 1.03749406\n", " 1.18023369 1.40048035 1.06878432 0.99789219 1.06710551 1.05171906\n", " 1.1725131 1.06135766 1.0273509 1.29587806 0.99082496 1.09388661\n", " 1.01402737 1.69351018 1.34787726 1.00285028 1.15278674 0.98904872\n", " 1.04246757 0.96890592 1.02173385 1.09548495 1.20483163 0.98742375\n", " 1.24369437 1.12888926 0.97771252 0.96808267 1.09345239 1.06556533\n", " 1.00550423 1.1190862 0.99011435 1.37116328 1.08005323 1.19591913\n", " 1.12374059 1.05935258 0.97513093 0.98791968 1.17683691 1.28094381\n", " 1.05020892 1.1998494 1.20504162 1.3479992 1.09496158 1.08054196\n", " 1.15889441 1.08849199 1.23874837 1.04862237 1.11975588 1.2167286\n", " 1.19240937 1.06055537 1.01897462 1.61899501 1.09795728 1.20034081\n", " 1.05443634 1.01416134 1.04118462 1.36597442 1.03910458 1.04257997\n", " 1.0894402 1.14222735 1.00921994 0.99166977 1.14501942 1.32506777\n", " 1.05863867 1.07469668 1.02155135 0.99916142 1.02919361 1.0138734\n", " 0.99165141 1.17769125 0.98219837 0.98860875 1.0954437 1.04144402\n", " 1.1465814 1.24113671 1.26175411 1.10000769 1.01675683 1.00038425\n", " 1.22678409 0.99829401 1.44975164 1.08703702 1.10818794 1.11799248\n", " 1.11633588 0.99718172 1.36789734 1.07022204 1.01476546 1.16215425\n", " 0.99026612 1.02516649 0.98977487 1.06808666 1.02571278 1.06459942\n", " 1.22227197 0.99015372 1.22336951 1.06152206 1.07660815 1.09568375\n", " 1.18284141 1.14329491 1.06370227 1.04675143 1.17703981 1.13137815\n", " 1.00070073 0.99760835 1.19188608 1.05482521 1.00141871 1.02222841\n", " 1.10419302 1.08521268 1.16108889 1.03463594 1.18866833 1.0114758\n", " 1.02918596 1.23098261 1.06103638 1.49981093 1.00762753 0.98255794\n", " 1.2033266 1.00104433 0.99212327 0.9949137 1.28233137 1.00518616\n", " 1.18946253 1.09052074 1.0373218 1.08861839 1.33127213 1.2939111\n", " 1.0142053 1.04004077 1.00400562 1.03445445 1.23283845 1.11904431\n", " 1.17635472 1.06865254 1.21757564 1.06584834 1.01728631 1.04098191\n", " 1.14771165 0.99181511 1.00971799 0.97027088 1.36069951 1.02942639\n", " 1.19765604 1.0403738 1.02200622 1.04081376 1.02144602 1.23090582\n", " 1.21880574 1.11829162 1.09878219 1.09021937 1.14306894 1.11340511\n", " 1.13141425 0.99473986 0.98942978 1.09246811 1.07396297 1.11246025\n", " 1.00053167 1.07038897 1.02512244 1.12145927 1.15621506 0.97335058\n", " 1.05239747 1.20703582 0.97844979 1.1216526 1.03980986 1.06721457\n", " 1.16842307 1.05019153 1.00584494 1.11448843 1.10020207 1.311626\n", " 1.06220028 1.19483685 1.35078809 1.05933646 1.01572441 0.99450073\n", " 1.07217749 0.96017862 1.26684861 0.95943814 1.19017754 1.38058843\n", " 0.99128196 1.19807326 1.13554109 1.01294695 0.97122977 1.07714039\n", " 1.13827695 1.14600295 1.01818703 0.99852084 1.0225169 1.38675845\n", " 1.02250777 1.07113665 1.04164132 1.29660946 1.0633169 1.0524452\n", " 1.07599934 1.14484072 1.03780621 1.00801618 1.07195656 1.41528679\n", " 0.95340824 1.1997411 1.1700045 1.21147786 1.10579502 0.99668135\n", " 0.99952535 1.07602669 1.01889422 1.05566839 1.03058866 0.98337058\n", " 1.12194422 1.03195864 1.03892049 1.01178286 1.15688513 1.02649874\n", " 1.2029483 1.20742896 1.00327889 1.0586841 1.204388 1.06999593\n", " 0.99005334 1.08818139 1.13435591 1.13275902 1.27010108 1.22503176\n", " 1.22007582 1.04369073 0.96721682 1.35210503 0.98853756 1.05831864\n", " 1.07775762 0.97688524 1.04333299 1.09508813 1.01981945 1.03325372\n", " 1.08205833 1.12541013 1.02573272 1.11025895 1.33277325 0.99806757\n", " 1.08809315 1.23280208 1.00586307 0.97983957 1.01449528 1.02317198\n", " 1.07015024 1.04581377 1.1751343 1.04392483 1.04976663 1.12440309\n", " 0.99015399 1.24970521 1.35443793 1.14484994 1.05729397 1.11283436\n", " 1.00328378 0.98308662 1.16788635 1.0309818 1.04760334 1.01274527\n", " 1.06043186 1.14292281 1.02119897 1.00567929 1.05340038 1.11418381\n", " 1.14388159 1.05209617 1.16179693 1.03111879 1.0861263 1.015114\n", " 0.97761953 0.99688394 1.00501102 1.09017265 1.14069469 1.19953481\n", " 1.1202392 1.01394712 1.04561145 0.95505724 1.05332509 1.03074594\n", " 1.08464504 1.06522921 1.11243113 1.16944166 1.10313147 1.12293455\n", " 1.00802313 0.97413664 1.02737487 1.28028962 1.24687123 1.16438761\n", " 1.05173237 1.0412712 1.10764737 1.11976803 1.04216153 1.00913944\n", " 1.06286623 1.0363627 1.14800829 1.15741599 1.08158584 1.0934768\n", " 1.16331679 1.09768876 0.98297519 1.01006217 0.99113715 1.05126879\n", " 1.01175488 1.06155886 1.11311485 1.09220688 1.01787281 1.09343369\n", " 1.03338707 1.13456606 1.0010813 0.98045385 1.31726994 1.0108825\n", " 1.2958934 1.0361067 1.02468861 1.02518473 1.44053564 1.17740311\n", " 0.97464084 0.97822266 1.24771334 1.04054349 1.13925477 0.97081833\n", " 0.97896947 1.02280471 1.06310855 1.03416375 1.15941496 1.00943653\n", " 0.97752937 1.04920408 1.07788122 0.98244205 1.33348006 1.0454937\n", " 1.07083988 1.00860606 1.06005857 0.97683746 1.09245366 1.03054955\n", " 1.05074868 1.01161045 1.00278426 0.97908785 1.08166231 1.27719712\n", " 1.02226597 1.10882173 1.31755754 1.38767569 1.06928008 1.14584124\n", " 1.05197936 1.19952203 1.0587069 1.20974592 1.41721043 1.00949067\n", " 1.04121691 1.03007154 1.53864489 1.10506892 0.99123188 1.20284212\n", " 1.13291241 1.3041664 0.99393787 1.00979729 1.11423642 1.04385753\n", " 1.06749225 1.03592871 0.98630974 1.22482257 1.363706 1.0631738\n", " 0.99032657 1.27671919 1.36220417 1.57991077 1.05515448 1.07779034\n", " 1.01096074 0.99801342 1.06828288 1.08783672 1.05959196 1.06042938\n", " 1.05873519 1.08596377 1.10521386 1.19048966 0.95324841 0.99412864\n", " 1.0095308 1.02447191 1.08999233 1.02471891 1.05285188 1.22854149\n", " 1.21693168 1.0035419 1.03139112 1.0568433 1.02404145 1.02569797\n", " 1.53842247 1.2833416 0.98910341 1.45752595 1.08741787 1.09364006\n", " 0.98586525 1.08292002 1.068961 0.98171092 1.1729917 1.08436734\n", " 0.99013896 1.10625114 1.36255511 1.0830123 1.06741388 0.99712369\n", " 0.97445533 1.07985701 1.11790066 1.1204717 1.24887451 0.99834911\n", " 0.99784527 1.06005791 1.0400551 1.08232983 1.36440596 1.09877443\n", " 0.99218907 1.2045237 1.02503785 0.98618737 1.03096901 1.12763692\n", " 0.99685933 1.01424477 1.01804486 0.98632655 0.96940999 1.17180262\n", " 1.11001722 0.98564799 1.15820003 1.07984338 0.98195856 1.01207874\n", " 1.12244625 1.24391722 1.02485616 1.04405656 1.05704419 1.01966308\n", " 1.16845829 1.00082487 1.05219506 1.0858245 1.14802254 1.20792816\n", " 1.0227275 0.96974193 1.10257863 1.02903745 1.06598526 1.04378185\n", " 1.18309611 0.97551492 1.20438349 1.06157886 1.1021847 1.07856731\n", " 1.00704987 1.09502844 1.0124544 1.01278822 1.0629603 0.99518608\n", " 0.9817555 1.00963285 1.10801503 1.1733171 1.07141133 1.19711998\n", " 1.0507669 1.04310632 1.03101794 1.00226326 1.03983334 1.06475114\n", " 1.1447109 1.07810841 1.11125496 1.02831074 1.07405622 1.08604749\n", " 1.13292421 1.04773623 1.1110567 0.96822927 1.04372311 1.02308493\n", " 1.06673767 0.98566827 1.01016886 1.02307284 0.99257092 1.10420897\n", " 1.12667538 1.12234114 1.28314269 1.01318798 1.05563968 1.25677488\n", " 1.03404174 0.99726691 0.96745548 0.95809354 1.00605403 1.00139145\n", " 1.03015938 1.12162853 1.07003764 1.10600771 1.0362975 1.0324664\n", " 1.50093638 1.06155013 1.12090339 0.9946363 1.0174383 1.01410151\n", " 1.32044015 1.07590957 0.98978438 1.14693285 0.99296125 1.00626798\n", " 0.97985667 1.03018321 1.01833566 1.90095002 1.02450757 0.95347621\n", " 1.23312448 1.13026021 1.07930612 1.11280693 1.00639917 1.04192812\n", " 1.02235361 1.02707479 1.06993366 1.10380689 1.04998565 1.0805797\n", " 1.14666278 1.08751002 1.13964855 1.01565457 1.06586985 1.04014905\n", " 0.96819763 1.11825029 0.95760201 1.06899188 1.18062412 1.01384649\n", " 1.31149223 1.00612375 1.02821745 1.11521179 1.1245342 1.04785838\n", " 1.07002549 0.99803715 0.99647049 1.04152863 1.06934915 1.01179438\n", " 1.1134196 0.97949751 0.98157709 0.94936959 1.02119541 1.01343143\n", " 0.98735234 1.10533404 1.0824227 1.27132342 1.00396765 1.09341268\n", " 1.02324737 1.27841693 0.99826179 1.05096167 1.1346541 1.00207899\n", " 1.32850337 1.00091659 1.11379334 1.03315136 1.20813625 1.01850576\n", " 1.00408652 1.25953522 1.51752912 1.03112652 1.06124353 1.03184711\n", " 1.0003122 0.9958721 1.13069613 1.00517335 1.07321017 1.45907486\n", " 1.10170078 1.09856598 1.00822559 1.10359047 0.98722213 0.9888063\n", " 1.08941698 1.14670534 1.09974615 1.00109832 1.21771392 1.07892324\n", " 1.30772931 1.12441084 1.00696648 0.99595743 1.19254921 0.99693591\n", " 1.25445616 1.17514878 1.03503435 1.27207884 0.98671698 0.98484067\n", " 1.12482942 1.18659545 0.9853441 1.00783416 1.02365302 1.02019872\n", " 1.17354534 1.03054371 1.2425259 1.34319684 0.97917985 1.02256105\n", " 1.03722843 1.09509726 1.02668795 0.98159599 1.06977159 0.98317324\n", " 1.09820576 0.9822148 1.02723013 1.234661 1.10358295 1.22863095\n", " 1.03077071 1.01383032 1.01262669 1.09668346 1.05112401 1.01729954\n", " 1.04946325 0.98459212 1.10635184 1.00662811 0.9869254 1.00758648\n", " 1.20197223 1.00429026 1.19597462 1.02162519 0.97134779 1.21298765\n", " 1.11171749 1.01830825 0.98022736 1.17107675 0.98933519 1.31539168\n", " 0.99775256 0.97954468 1.03360434 1.03258334 1.01696901 1.14610033\n", " 1.05130707 1.22928873 1.12263157 1.0513393 0.98733158 1.14316954\n", " 1.03714088 1.11234595 1.02246857 1.00474642 1.09034906 0.99342772\n", " 0.96251781 1.15001292 0.97811034 1.07002547 1.12481639 1.13393515\n", " 0.97736304 1.20409699 1.04919753 1.04789895 1.12833097 1.19342707\n", " 0.95606078 1.13690641 1.0002635 1.02100831 1.11705167 1.10803878\n", " 1.0263406 1.03399132 1.00602046 1.17981953 0.98355267 0.9826279\n", " 0.97170299 0.9924948 1.06748183 1.0909571 1.07262803 1.0135285\n", " 1.06642667 1.27114001 0.99398783 1.22420082 1.09126125 1.01106352\n", " 1.1138241 1.0791408 1.04146519 1.11253841 0.99515608 1.02232962\n", " 1.09053635 1.03693326 1.25297996 1.0026479 1.39484176 1.03767737\n", " 1.00156711 1.09086398 1.05962864 1.50522356 1.0599935 1.24269983\n", " 1.02758382 1.01336154 1.05003161 1.00147229 1.02960939 1.07159013\n", " 0.98774697 1.33876519 1.02682102 0.98994556 1.02169703 1.12334196\n", " 1.04254871 1.0223909 1.00728776 1.19070256 1.01067536 0.97372456\n", " 1.00036788 1.0015833 1.14811142 1.27030026 1.07472794 1.1806036\n", " 0.98070264 0.98684757 1.09249432 1.03123298 1.01156204 1.0011902\n", " 1.170147 1.00064538 1.12107475 1.02901972 1.06216815 1.06355546\n", " 1.06643715 1.06200308 1.12473678 1.04574772 1.37903489 1.0338228\n", " 0.99714715 1.03833502 1.06199892 1.23093936 0.9602124 1.06217889\n", " 0.98332512 0.97635434 1.08950573 1.07781396 1.07881815 1.15997951\n", " 1.02465636 1.19640865 0.97536956 1.02721974 0.99112945 1.24408066\n", " 1.14579261 1.01218372 1.13644007 1.11806276 1.26395458 0.98642146\n", " 0.97241363 1.07234292 1.17387025 1.44237012 1.26644511 1.0563392\n", " 1.02653176 1.08191049 1.10385788 1.23899673 1.07784613 1.0163733\n", " 0.99289995 1.04005791 0.99954537 1.02327484 1.1528827 1.28785732\n", " 1.04737222 0.95515901 1.01311114 1.16976988 1.0789148 1.00769356\n", " 1.01142914 1.01294959 1.20767515 1.08518505 0.98557041 1.31352822\n", " 1.00367412 1.09080284 1.066151 0.97111323 1.12904447 1.04974498\n", " 1.17191717 1.17329389 1.09659012 1.2869608 ]\n" ] } ], "source": [ "print(np.abs(lof.negative_outlier_factor_))" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " True False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False True False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False True False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False True False False False\n", " False False False False False False False False False False False False\n", " False False False True False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False True False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " True False False False False False False False False False False False\n", " False False False True False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False True False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False True False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False False False False]\n" ] } ], "source": [ "print(np.abs(lof.negative_outlier_factor_) > 1.5)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }
Baidu
map