{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import re\n", "import tqdm\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "from sklearn.datasets import fetch_20newsgroups\n", "from sklearn.manifold import TSNE\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "embeding_df=pd.read_csv('/mnt/c/Users/selin_uzturk/Desktop/sinkaf/encoded.csv')\n", "embeding_df=embeding_df.drop(['Unnamed: 0'], axis=1)\n", "copy_df=pd.read_csv('/mnt/c/Users/selin_uzturk/Desktop/sinkaf/encoded.csv')\n", "copy_df=copy_df.drop(['Unnamed: 0'], axis=1)\n" ] }, { "cell_type": "code", "execution_count": 3, "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", "
0123456789...5657585960616263labelstweet
0101101101757865318925285159764084027631623...000000000en güzel uyuyan insan ödülü jeon jungkook'a g...
11011158910706107131079494698306682488311723763...000000000Mekanı cennet olsun, saygılar sayın avukatımı...
21011483047110774137851377933642143994827176686...000000000Kızlar aranızda kas yığını beylere düşenler ol...
3101193191672410118101077832312407389592293410147...000000000Biraz ders çalışayım. Tembellik ve uyku düşman...
41013093258706580544490710224106583102881252413878...000000000Trezeguet yerine El Sharawy daha iyi olmaz mı
..................................................................
43344101200651016111511510378410774213881024592067...000000001Hil**adamlar kesinlikle kelimeleri anlamıyorla...
4334510113980839241091340618985162851016311062276...000000001Böyle piçlerin çok erken ölmemelerini ve çok f...
43346101105549102635101402694311499110516218991186110561...000000001Turgay denilen bu holigonda bir sorun yok, gur...
433471018142426398920171096201094176010101151983026083...000000001Umarım ülkenin düşük zekadan kurtulması ilgile...
433481013977411127459892459611933170171451071039125...000000001CHP sandıkları bırakmaz, üzerine oturur, bir c...
\n", "

43349 rows × 66 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 8 \n", "0 101 10110 175 78653 189 25285 15976 40840 276 \\\n", "1 101 11589 10706 10713 10794 94698 30668 24883 117 \n", "2 101 148 30471 10774 13785 13779 33642 14399 48271 \n", "3 101 19319 16724 10118 10107 78323 12407 38959 22934 \n", "4 101 30932 58706 58054 44907 10224 106583 10288 12524 \n", "... ... ... ... ... ... ... ... ... ... \n", "43344 101 20065 10161 115 115 103784 10774 21388 10245 \n", "43345 101 139 80839 24109 13406 18985 16285 10163 11062 \n", "43346 101 105549 102635 10140 26943 11499 110516 21899 11861 \n", "43347 101 81424 26398 92017 109620 10941 76010 10115 19830 \n", "43348 101 39774 11127 45989 24596 11933 170 17145 10710 \n", "\n", " 9 ... 56 57 58 59 60 61 62 63 labels \n", "0 31623 ... 0 0 0 0 0 0 0 0 0 \\\n", "1 23763 ... 0 0 0 0 0 0 0 0 0 \n", "2 76686 ... 0 0 0 0 0 0 0 0 0 \n", "3 10147 ... 0 0 0 0 0 0 0 0 0 \n", "4 13878 ... 0 0 0 0 0 0 0 0 0 \n", "... ... ... .. .. .. .. .. .. .. .. ... \n", "43344 92067 ... 0 0 0 0 0 0 0 0 1 \n", "43345 276 ... 0 0 0 0 0 0 0 0 1 \n", "43346 10561 ... 0 0 0 0 0 0 0 0 1 \n", "43347 26083 ... 0 0 0 0 0 0 0 0 1 \n", "43348 39125 ... 0 0 0 0 0 0 0 0 1 \n", "\n", " tweet \n", "0 en güzel uyuyan insan ödülü jeon jungkook'a g... \n", "1 Mekanı cennet olsun, saygılar sayın avukatımı... \n", "2 Kızlar aranızda kas yığını beylere düşenler ol... \n", "3 Biraz ders çalışayım. Tembellik ve uyku düşman... \n", "4 Trezeguet yerine El Sharawy daha iyi olmaz mı \n", "... ... \n", "43344 Hil**adamlar kesinlikle kelimeleri anlamıyorla... \n", "43345 Böyle piçlerin çok erken ölmemelerini ve çok f... \n", "43346 Turgay denilen bu holigonda bir sorun yok, gur... \n", "43347 Umarım ülkenin düşük zekadan kurtulması ilgile... \n", "43348 CHP sandıkları bırakmaz, üzerine oturur, bir c... \n", "\n", "[43349 rows x 66 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "copy_df" ] }, { "cell_type": "code", "execution_count": 4, "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", "
0123456789...5657585960616263labelstweet
0101101101757865318925285159764084027631623...000000000en güzel uyuyan insan ödülü jeon jungkook'a g...
11011158910706107131079494698306682488311723763...000000000Mekanı cennet olsun, saygılar sayın avukatımı...
21011483047110774137851377933642143994827176686...000000000Kızlar aranızda kas yığını beylere düşenler ol...
3101193191672410118101077832312407389592293410147...000000000Biraz ders çalışayım. Tembellik ve uyku düşman...
41013093258706580544490710224106583102881252413878...000000000Trezeguet yerine El Sharawy daha iyi olmaz mı
..................................................................
43344101200651016111511510378410774213881024592067...000000001Hil**adamlar kesinlikle kelimeleri anlamıyorla...
4334510113980839241091340618985162851016311062276...000000001Böyle piçlerin çok erken ölmemelerini ve çok f...
43346101105549102635101402694311499110516218991186110561...000000001Turgay denilen bu holigonda bir sorun yok, gur...
433471018142426398920171096201094176010101151983026083...000000001Umarım ülkenin düşük zekadan kurtulması ilgile...
433481013977411127459892459611933170171451071039125...000000001CHP sandıkları bırakmaz, üzerine oturur, bir c...
\n", "

43349 rows × 66 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 8 \n", "0 101 10110 175 78653 189 25285 15976 40840 276 \\\n", "1 101 11589 10706 10713 10794 94698 30668 24883 117 \n", "2 101 148 30471 10774 13785 13779 33642 14399 48271 \n", "3 101 19319 16724 10118 10107 78323 12407 38959 22934 \n", "4 101 30932 58706 58054 44907 10224 106583 10288 12524 \n", "... ... ... ... ... ... ... ... ... ... \n", "43344 101 20065 10161 115 115 103784 10774 21388 10245 \n", "43345 101 139 80839 24109 13406 18985 16285 10163 11062 \n", "43346 101 105549 102635 10140 26943 11499 110516 21899 11861 \n", "43347 101 81424 26398 92017 109620 10941 76010 10115 19830 \n", "43348 101 39774 11127 45989 24596 11933 170 17145 10710 \n", "\n", " 9 ... 56 57 58 59 60 61 62 63 labels \n", "0 31623 ... 0 0 0 0 0 0 0 0 0 \\\n", "1 23763 ... 0 0 0 0 0 0 0 0 0 \n", "2 76686 ... 0 0 0 0 0 0 0 0 0 \n", "3 10147 ... 0 0 0 0 0 0 0 0 0 \n", "4 13878 ... 0 0 0 0 0 0 0 0 0 \n", "... ... ... .. .. .. .. .. .. .. .. ... \n", "43344 92067 ... 0 0 0 0 0 0 0 0 1 \n", "43345 276 ... 0 0 0 0 0 0 0 0 1 \n", "43346 10561 ... 0 0 0 0 0 0 0 0 1 \n", "43347 26083 ... 0 0 0 0 0 0 0 0 1 \n", "43348 39125 ... 0 0 0 0 0 0 0 0 1 \n", "\n", " tweet \n", "0 en güzel uyuyan insan ödülü jeon jungkook'a g... \n", "1 Mekanı cennet olsun, saygılar sayın avukatımı... \n", "2 Kızlar aranızda kas yığını beylere düşenler ol... \n", "3 Biraz ders çalışayım. Tembellik ve uyku düşman... \n", "4 Trezeguet yerine El Sharawy daha iyi olmaz mı \n", "... ... \n", "43344 Hil**adamlar kesinlikle kelimeleri anlamıyorla... \n", "43345 Böyle piçlerin çok erken ölmemelerini ve çok f... \n", "43346 Turgay denilen bu holigonda bir sorun yok, gur... \n", "43347 Umarım ülkenin düşük zekadan kurtulması ilgile... \n", "43348 CHP sandıkları bırakmaz, üzerine oturur, bir c... \n", "\n", "[43349 rows x 66 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "embeding_df" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "data = embeding_df.tweet.values" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "embeding_df=embeding_df.drop(['tweet'], axis=1)\n", "copy_df=copy_df.drop(['tweet'], axis=1)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# isolation forest" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "from sklearn.ensemble import IsolationForest" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/sebit/anaconda3/envs/dl_env/lib/python3.9/site-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but IsolationForest was fitted with feature names\n", " warnings.warn(\n" ] } ], "source": [ "# Train the model\n", "isf = IsolationForest(contamination=0.04)\n", "isf.fit(embeding_df)\n", "# Predictions\n", "predictions = isf.predict(embeding_df)" ] }, { "cell_type": "code", "execution_count": 9, "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", "
0123456789...57585960616263labelsiso_forest_scoresiso_forest_outliers
count43349.043349.00000043349.00000043349.00000043349.00000043349.00000043349.00000043349.00000043349.00000043349.000000...43349.00000043349.00000043349.0000043349.00000043349.00000043349.00000043349.00000043349.00000043349.00000043349.000000
mean101.027403.38955929588.35380326720.44513127755.11010627346.75362827713.18925527295.71768727136.22741026812.611156...4868.9171844813.1453094733.389194389.0683754297.5757234176.43708017.0003920.4179570.1355460.919998
std0.027382.27469327727.68896526455.26769127026.61106826799.75382327021.95002326761.84793626820.81021926720.480625...15312.35827515491.13651115387.0903814617.25304014643.58088614405.39720838.0139450.4932290.0667010.391927
min101.0100.000000100.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000...0.0000000.0000000.000000.0000000.0000000.0000000.0000000.000000-0.140643-1.000000
25%101.010357.00000010506.00000010323.00000010361.00000010350.00000010369.00000010347.00000010330.00000010323.000000...0.0000000.0000000.000000.0000000.0000000.0000000.0000000.0000000.0891001.000000
50%101.018856.00000016263.00000013587.00000014918.00000014753.00000015090.00000014777.00000014753.00000014110.000000...0.0000000.0000000.000000.0000000.0000000.0000000.0000000.0000000.1615051.000000
75%101.041079.00000040762.00000035943.00000037820.00000036544.00000037820.00000036723.00000036544.00000036445.000000...0.0000000.0000000.000000.0000000.0000000.0000000.0000001.0000000.1895111.000000
max101.0110744.000000110966.000000110966.000000110966.000000111720.000000111720.000000111720.000000111720.000000111720.000000...110966.000000110966.000000110966.00000110966.000000110966.000000110966.000000102.0000001.0000000.2168311.000000
\n", "

8 rows × 67 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 \n", "count 43349.0 43349.000000 43349.000000 43349.000000 43349.000000 \\\n", "mean 101.0 27403.389559 29588.353803 26720.445131 27755.110106 \n", "std 0.0 27382.274693 27727.688965 26455.267691 27026.611068 \n", "min 101.0 100.000000 100.000000 0.000000 0.000000 \n", "25% 101.0 10357.000000 10506.000000 10323.000000 10361.000000 \n", "50% 101.0 18856.000000 16263.000000 13587.000000 14918.000000 \n", "75% 101.0 41079.000000 40762.000000 35943.000000 37820.000000 \n", "max 101.0 110744.000000 110966.000000 110966.000000 110966.000000 \n", "\n", " 5 6 7 8 \n", "count 43349.000000 43349.000000 43349.000000 43349.000000 \\\n", "mean 27346.753628 27713.189255 27295.717687 27136.227410 \n", "std 26799.753823 27021.950023 26761.847936 26820.810219 \n", "min 0.000000 0.000000 0.000000 0.000000 \n", "25% 10350.000000 10369.000000 10347.000000 10330.000000 \n", "50% 14753.000000 15090.000000 14777.000000 14753.000000 \n", "75% 36544.000000 37820.000000 36723.000000 36544.000000 \n", "max 111720.000000 111720.000000 111720.000000 111720.000000 \n", "\n", " 9 ... 57 58 59 \n", "count 43349.000000 ... 43349.000000 43349.000000 43349.00000 \\\n", "mean 26812.611156 ... 4868.917184 4813.145309 4733.38919 \n", "std 26720.480625 ... 15312.358275 15491.136511 15387.09038 \n", "min 0.000000 ... 0.000000 0.000000 0.00000 \n", "25% 10323.000000 ... 0.000000 0.000000 0.00000 \n", "50% 14110.000000 ... 0.000000 0.000000 0.00000 \n", "75% 36445.000000 ... 0.000000 0.000000 0.00000 \n", "max 111720.000000 ... 110966.000000 110966.000000 110966.00000 \n", "\n", " 60 61 62 63 \n", "count 43349.000000 43349.000000 43349.000000 43349.000000 \\\n", "mean 4389.068375 4297.575723 4176.437080 17.000392 \n", "std 14617.253040 14643.580886 14405.397208 38.013945 \n", "min 0.000000 0.000000 0.000000 0.000000 \n", "25% 0.000000 0.000000 0.000000 0.000000 \n", "50% 0.000000 0.000000 0.000000 0.000000 \n", "75% 0.000000 0.000000 0.000000 0.000000 \n", "max 110966.000000 110966.000000 110966.000000 102.000000 \n", "\n", " labels iso_forest_scores iso_forest_outliers \n", "count 43349.000000 43349.000000 43349.000000 \n", "mean 0.417957 0.135546 0.919998 \n", "std 0.493229 0.066701 0.391927 \n", "min 0.000000 -0.140643 -1.000000 \n", "25% 0.000000 0.089100 1.000000 \n", "50% 0.000000 0.161505 1.000000 \n", "75% 1.000000 0.189511 1.000000 \n", "max 1.000000 0.216831 1.000000 \n", "\n", "[8 rows x 67 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract scores\n", "embeding_df[\"iso_forest_scores\"] = isf.decision_function(embeding_df)\n", "# Extract predictions\n", "embeding_df[\"iso_forest_outliers\"] = predictions\n", "# Describe the dataframe\n", "embeding_df.describe()" ] }, { "cell_type": "code", "execution_count": 10, "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", "
0123456789...57585960616263labelsiso_forest_scoresiso_forest_outliers
0101101101757865318925285159764084027631623...000000000.189202No
11011158910706107131079494698306682488311723763...000000000.181234No
21011483047110774137851377933642143994827176686...000000000.166332No
3101193191672410118101077832312407389592293410147...000000000.151816No
41013093258706580544490710224106583102881252413878...000000000.184008No
..................................................................
43344101200651016111511510378410774213881024592067...000000010.079412No
4334510113980839241091340618985162851016311062276...000000010.118245No
43346101105549102635101402694311499110516218991186110561...000000010.138229No
433471018142426398920171096201094176010101151983026083...000000010.181065No
433481013977411127459892459611933170171451071039125...000000010.085161No
\n", "

43349 rows × 67 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 8 \n", "0 101 10110 175 78653 189 25285 15976 40840 276 \\\n", "1 101 11589 10706 10713 10794 94698 30668 24883 117 \n", "2 101 148 30471 10774 13785 13779 33642 14399 48271 \n", "3 101 19319 16724 10118 10107 78323 12407 38959 22934 \n", "4 101 30932 58706 58054 44907 10224 106583 10288 12524 \n", "... ... ... ... ... ... ... ... ... ... \n", "43344 101 20065 10161 115 115 103784 10774 21388 10245 \n", "43345 101 139 80839 24109 13406 18985 16285 10163 11062 \n", "43346 101 105549 102635 10140 26943 11499 110516 21899 11861 \n", "43347 101 81424 26398 92017 109620 10941 76010 10115 19830 \n", "43348 101 39774 11127 45989 24596 11933 170 17145 10710 \n", "\n", " 9 ... 57 58 59 60 61 62 63 labels iso_forest_scores \n", "0 31623 ... 0 0 0 0 0 0 0 0 0.189202 \\\n", "1 23763 ... 0 0 0 0 0 0 0 0 0.181234 \n", "2 76686 ... 0 0 0 0 0 0 0 0 0.166332 \n", "3 10147 ... 0 0 0 0 0 0 0 0 0.151816 \n", "4 13878 ... 0 0 0 0 0 0 0 0 0.184008 \n", "... ... ... .. .. .. .. .. .. .. ... ... \n", "43344 92067 ... 0 0 0 0 0 0 0 1 0.079412 \n", "43345 276 ... 0 0 0 0 0 0 0 1 0.118245 \n", "43346 10561 ... 0 0 0 0 0 0 0 1 0.138229 \n", "43347 26083 ... 0 0 0 0 0 0 0 1 0.181065 \n", "43348 39125 ... 0 0 0 0 0 0 0 1 0.085161 \n", "\n", " iso_forest_outliers \n", "0 No \n", "1 No \n", "2 No \n", "3 No \n", "4 No \n", "... ... \n", "43344 No \n", "43345 No \n", "43346 No \n", "43347 No \n", "43348 No \n", "\n", "[43349 rows x 67 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Replace \"-1\" with \"Yes\" and \"1\" with \"No\"\n", "embeding_df['iso_forest_outliers'] = embeding_df['iso_forest_outliers'].replace([-1, 1], [\"Yes\", \"No\"])\n", "# Print the first 5 firms\n", "embeding_df" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "iso_forest_outliers\n", "False 43349\n", "Name: count, dtype: int64" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(embeding_df['iso_forest_outliers']=='YES').value_counts()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# lof" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from sklearn.neighbors import LocalOutlierFactor\n", "from numpy import quantile, where, random" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Train the model\n", "clf = LocalOutlierFactor(n_neighbors=20, contamination=0.1)\n", "out=clf.fit_predict(copy_df)\n", "# Predictions\n", "lof = clf.negative_outlier_factor_\n", "embeding_df[\"lof_outliers\"] = lof\n", "embeding_df[\"outliers\"]= out" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "embeding_df['outliers'] = embeding_df['outliers'].replace([-1, 1], [\"Yes\", \"No\"])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "embeding_df['tweet']=data" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "x=embeding_df[embeding_df['iso_forest_outliers']=='Yes' ]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "embeding_df.drop(x.loc[x['outliers']=='Yes' ].index, inplace=True)" ] }, { "cell_type": "code", "execution_count": 18, "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", "
0123456789...60616263labelsiso_forest_scoresiso_forest_outlierslof_outliersoutlierstweet
0101101101757865318925285159764084027631623...000000.189202No-1.209681Noen güzel uyuyan insan ödülü jeon jungkook'a g...
11011158910706107131079494698306682488311723763...000000.181234No-1.107479NoMekanı cennet olsun, saygılar sayın avukatımı...
21011483047110774137851377933642143994827176686...000000.166332No-1.202529NoKızlar aranızda kas yığını beylere düşenler ol...
3101193191672410118101077832312407389592293410147...000000.151816No-1.216599NoBiraz ders çalışayım. Tembellik ve uyku düşman...
41013093258706580544490710224106583102881252413878...000000.184008No-1.188488NoTrezeguet yerine El Sharawy daha iyi olmaz mı
..................................................................
43344101200651016111511510378410774213881024592067...000010.079412No-1.196769NoHil**adamlar kesinlikle kelimeleri anlamıyorla...
4334510113980839241091340618985162851016311062276...000010.118245No-1.108304NoBöyle piçlerin çok erken ölmemelerini ve çok f...
43346101105549102635101402694311499110516218991186110561...000010.138229No-1.307328NoTurgay denilen bu holigonda bir sorun yok, gur...
433471018142426398920171096201094176010101151983026083...000010.181065No-1.127932NoUmarım ülkenin düşük zekadan kurtulması ilgile...
433481013977411127459892459611933170171451071039125...000010.085161No-1.286323NoCHP sandıkları bırakmaz, üzerine oturur, bir c...
\n", "

43029 rows × 70 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 8 \n", "0 101 10110 175 78653 189 25285 15976 40840 276 \\\n", "1 101 11589 10706 10713 10794 94698 30668 24883 117 \n", "2 101 148 30471 10774 13785 13779 33642 14399 48271 \n", "3 101 19319 16724 10118 10107 78323 12407 38959 22934 \n", "4 101 30932 58706 58054 44907 10224 106583 10288 12524 \n", "... ... ... ... ... ... ... ... ... ... \n", "43344 101 20065 10161 115 115 103784 10774 21388 10245 \n", "43345 101 139 80839 24109 13406 18985 16285 10163 11062 \n", "43346 101 105549 102635 10140 26943 11499 110516 21899 11861 \n", "43347 101 81424 26398 92017 109620 10941 76010 10115 19830 \n", "43348 101 39774 11127 45989 24596 11933 170 17145 10710 \n", "\n", " 9 ... 60 61 62 63 labels iso_forest_scores \n", "0 31623 ... 0 0 0 0 0 0.189202 \\\n", "1 23763 ... 0 0 0 0 0 0.181234 \n", "2 76686 ... 0 0 0 0 0 0.166332 \n", "3 10147 ... 0 0 0 0 0 0.151816 \n", "4 13878 ... 0 0 0 0 0 0.184008 \n", "... ... ... .. .. .. .. ... ... \n", "43344 92067 ... 0 0 0 0 1 0.079412 \n", "43345 276 ... 0 0 0 0 1 0.118245 \n", "43346 10561 ... 0 0 0 0 1 0.138229 \n", "43347 26083 ... 0 0 0 0 1 0.181065 \n", "43348 39125 ... 0 0 0 0 1 0.085161 \n", "\n", " iso_forest_outliers lof_outliers outliers \n", "0 No -1.209681 No \\\n", "1 No -1.107479 No \n", "2 No -1.202529 No \n", "3 No -1.216599 No \n", "4 No -1.188488 No \n", "... ... ... ... \n", "43344 No -1.196769 No \n", "43345 No -1.108304 No \n", "43346 No -1.307328 No \n", "43347 No -1.127932 No \n", "43348 No -1.286323 No \n", "\n", " tweet \n", "0 en güzel uyuyan insan ödülü jeon jungkook'a g... \n", "1 Mekanı cennet olsun, saygılar sayın avukatımı... \n", "2 Kızlar aranızda kas yığını beylere düşenler ol... \n", "3 Biraz ders çalışayım. Tembellik ve uyku düşman... \n", "4 Trezeguet yerine El Sharawy daha iyi olmaz mı \n", "... ... \n", "43344 Hil**adamlar kesinlikle kelimeleri anlamıyorla... \n", "43345 Böyle piçlerin çok erken ölmemelerini ve çok f... \n", "43346 Turgay denilen bu holigonda bir sorun yok, gur... \n", "43347 Umarım ülkenin düşük zekadan kurtulması ilgile... \n", "43348 CHP sandıkları bırakmaz, üzerine oturur, bir c... \n", "\n", "[43029 rows x 70 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "embeding_df" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# embeding_df.drop(embeding_df.loc[embeding_df['outliers']=='Yes' ].index, inplace=True)\n", "# embeding_df.drop(embeding_df.loc[embeding_df['iso_forest_outliers']=='Yes' ].index, inplace=True)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# iso_df=embeding_df[embeding_df['iso_forest_outliers']=='Yes' ]\n", "# embeding_df.drop(embeding_df.loc[embeding_df['iso_forest_outliers']=='Yes' ].index, inplace=True)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# lof_df=embeding_df[embeding_df['outliers']=='Yes' ]\n", "# embeding_df.drop(embeding_df.loc[embeding_df['outliers']=='Yes' ].index, inplace=True)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "# iso_df" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "# iso_df['labels']=iso_df['labels'].replace({0: 1, 1: 0})" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# iso_df" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "# lof_df['labels']=lof_df['labels'].replace({0: 1, 1: 0})" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "# lof_df" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "# x=pd.concat([lof_df,iso_df], axis=0)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "# embeding_df=pd.concat([x,embeding_df], axis=0)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# embeding_df.reset_index()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# embeding_df=embeding_df.drop(['iso_forest_scores', 'iso_forest_outliers','lof_outliers','outliers'], axis=1)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "embeding_df['0'] = embeding_df[embeding_df.columns[:-1]].apply(lambda x: ','.join(x.dropna().astype(str)),axis=1)\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "df=pd.DataFrame()\n", "df['tweet']=embeding_df['tweet']\n", "df['subtas_a']=embeding_df['labels']\n" ] }, { "cell_type": "code", "execution_count": 33, "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", "
tweetsubtas_a
0en güzel uyuyan insan ödülü jeon jungkook'a g...0
1Mekanı cennet olsun, saygılar sayın avukatımı...0
2Kızlar aranızda kas yığını beylere düşenler ol...0
3Biraz ders çalışayım. Tembellik ve uyku düşman...0
4Trezeguet yerine El Sharawy daha iyi olmaz mı0
.........
43344Hil**adamlar kesinlikle kelimeleri anlamıyorla...1
43345Böyle piçlerin çok erken ölmemelerini ve çok f...1
43346Turgay denilen bu holigonda bir sorun yok, gur...1
43347Umarım ülkenin düşük zekadan kurtulması ilgile...1
43348CHP sandıkları bırakmaz, üzerine oturur, bir c...1
\n", "

43029 rows × 2 columns

\n", "
" ], "text/plain": [ " tweet subtas_a\n", "0 en güzel uyuyan insan ödülü jeon jungkook'a g... 0\n", "1 Mekanı cennet olsun, saygılar sayın avukatımı... 0\n", "2 Kızlar aranızda kas yığını beylere düşenler ol... 0\n", "3 Biraz ders çalışayım. Tembellik ve uyku düşman... 0\n", "4 Trezeguet yerine El Sharawy daha iyi olmaz mı 0\n", "... ... ...\n", "43344 Hil**adamlar kesinlikle kelimeleri anlamıyorla... 1\n", "43345 Böyle piçlerin çok erken ölmemelerini ve çok f... 1\n", "43346 Turgay denilen bu holigonda bir sorun yok, gur... 1\n", "43347 Umarım ülkenin düşük zekadan kurtulması ilgile... 1\n", "43348 CHP sandıkları bırakmaz, üzerine oturur, bir c... 1\n", "\n", "[43029 rows x 2 columns]" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "df.to_csv('inverse_outliers.csv') " ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "df.to_csv('int_2_outliers.csv') " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "dl_env", "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.9.0" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }