From e7d5a812dc6e9ef009b66e4e2ce2ca1de41f2014 Mon Sep 17 00:00:00 2001 From: YashSachan2 Date: Sun, 24 Dec 2023 15:03:50 +0530 Subject: [PATCH] Fake News Detection --- Fake News Detection/Dataset/README.md | 97 + Fake News Detection/Images/Dataset.png | Bin 0 -> 84155 bytes Fake News Detection/Images/EDA.png | Bin 0 -> 10563 bytes Fake News Detection/Images/EDA1.png | Bin 0 -> 15327 bytes Fake News Detection/Images/metrics.png | Bin 0 -> 25656 bytes Fake News Detection/Images/model.png | Bin 0 -> 29895 bytes Fake News Detection/Images/model2.png | Bin 0 -> 21923 bytes Fake News Detection/Images/model2metrics.png | Bin 0 -> 25232 bytes .../Model/PridictionModel.ipynb | 2513 +++++++++++++++++ Fake News Detection/README.md | 97 + 10 files changed, 2707 insertions(+) create mode 100644 Fake News Detection/Dataset/README.md create mode 100644 Fake News Detection/Images/Dataset.png create mode 100644 Fake News Detection/Images/EDA.png create mode 100644 Fake News Detection/Images/EDA1.png create mode 100644 Fake News Detection/Images/metrics.png create mode 100644 Fake News Detection/Images/model.png create mode 100644 Fake News Detection/Images/model2.png create mode 100644 Fake News Detection/Images/model2metrics.png create mode 100644 Fake News Detection/Model/PridictionModel.ipynb create mode 100644 Fake News Detection/README.md diff --git a/Fake News Detection/Dataset/README.md b/Fake News Detection/Dataset/README.md new file mode 100644 index 000000000..d22ba02d2 --- /dev/null +++ b/Fake News Detection/Dataset/README.md @@ -0,0 +1,97 @@ +# Fake News Classification using DL + +## PROJECT TITLE + +Fake News Detection using Deep Learning + +## GOAL + +To identify whether the given news is fake or not. + +## DATASET + +The link for the dataset used in this project: https://www.kaggle.com/competitions/fake-news/data?select=train.csv + + +## DESCRIPTION + +This project aims to identify whether the given news is fake or not by extracting meaning and semantics of the given news. + +## WHAT I HAD DONE + +1. Data collection: From the link of the dataset given above. +2. Data preprocessing: Preprocessed the news by combining title and text to create a new feature and did some augementation like tokeinizing and vectorising before passing them to model training +3. Model selection: Self Designed model having a Embedding Layer followed by Global Pooling Layer and then 2 Dense layers and then output layer.Second model had a Embedding layer followed by a RNN layer and a Dense output layer. +4. Comparative analysis: Compared the accuracy score of all the models. + +## MODELS SUMMARY + +Model-1: "sequential" +_________________________________________________________________ + Layer (type) Output Shape Param # +================================================================= + embedding (Embedding) (None, 12140, 182) 30222010 + + global_average_pooling1d ( (None, 182) 0 + GlobalAveragePooling1D) + + dense (Dense) (None, 96) 17568 + + dense_1 (Dense) (None, 24) 2328 + + dense_2 (Dense) (None, 1) 25 + +================================================================= +Total params: 30241931 (115.36 MB) +Trainable params: 30241931 (115.36 MB) +Non-trainable params: 0 (0.00 Byte) + +Model-2: "sequential_3" +_________________________________________________________________ + Layer (type) Output Shape Param # +================================================================= + embedding_3 (Embedding) (None, 12140, 100) 16605500 + + simple_rnn (SimpleRNN) (None, 10) 1110 + + dense_5 (Dense) (None, 1) 11 + +================================================================= +Total params: 16606621 (63.35 MB) +Trainable params: 16606621 (63.35 MB) +Non-trainable params: 0 (0.00 Byte) + +## LIBRARIES NEEDED + +The following libraries are required to run this project: + +- nltk +- pandas +- matplotlib +- tensorflow +- keras +- sklearn + +## EVALUATION METRICS + +The evaluation metrics I used to assess the models: + +- Accuracy +- Loss + +It is shown using Confusion Matrix in the Images folder + +## RESULTS +Results on Val dataset: +For Model-1: +Accuracy:96.11% +loss: 0.1350 + +For Model-2: +Accuracy:85.03% +loss: 0.1439 + +## CONCLUSION +Based on results we can draw following conclusions: + +1.The model-1 showed high validation accuracy of 96.11% and loss of 0.1350.Thus the model-1 worked fairly well identifying 2874 fake articles from a total of 3044.The first model performed better.The second model had good training accuracy but less test accuracy hinting towards overfitting.Maybe the key reason being in fake news it is important to capture overall sentiment better than individual word sentiment. diff --git a/Fake News Detection/Images/Dataset.png b/Fake News Detection/Images/Dataset.png new file mode 100644 index 0000000000000000000000000000000000000000..1e317542d89f895bda5b68260884cf567f5e5891 GIT binary patch literal 84155 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 literal 0 HcmV?d00001 diff --git a/Fake News Detection/Images/EDA.png b/Fake News Detection/Images/EDA.png new file mode 100644 index 0000000000000000000000000000000000000000..17401792be8ddf726b65e72ab520b514215a4b34 GIT binary patch literal 10563 zcmeHtXH=8vx^^534u}nbu>dM4(p5wxG!+p82uhW%qx32Xoq&#o5k}D{ASEEZgHi&a z1q(6?gigdzq=t@kNC^4v*FAgo{?49#&g`|$`8PjYx?Z#1@;uLd-B-CET+-9x<=(@M zLZNsu7tR@=P~V|ZsCC56o8Zb`awiY`rG(SGf-`it!}(nEv_)OKhVyW7$GJHExZm5> z6YJ>iCNHZfdsKSA0}khbMa#*#{{915cTamc6~VmiaFg#nE|_6asBPDfKkG8o(;ZQ$ zBQG)M&KUW|O?C$xMS8_^W(0paxZg7LBfj=$(bmV!{WmUiy^em7oOHPVks+zCz`LXE zJ>if->wt-g)`h*ny02o)q=v(ry?tDi*;n7SYYZ@XBqSqTh(FZy3zU34|I6ta=2{tUgWr%z{@$edbPFk3#*TIRgK_ zz5~{w`pVs{DAZAbf4O{S5|5f3o#-rNGRO1zg@yBO-MY1?whx8!*zH2^`0!MmUq~od zk7!P@!)k<3X*R*R&!0bERNI0=eHAq_HqO*fP|KxuH6`*13(Jmn*%+NWcTQP^7lkU_ z=jG)U`ryIMsz)Wm_qP(~dhz`StBK z1^;;mO)V{{{rgY5Q`n@&0g|h8PlaFTqemteF8tim(oz)6Sqq!0Be_1@r!DukUa<(@Cz>fqVDvac|yS zI+B}~me$Y_PSP6rQidCAljsg&O-dd)QaUogBPiR}UlV40>C%gq76Wp(8}Htey5jor zF2~Aoqb)i?A|;ubm~ARwZw0aFz1H(HdPKBi{qtk~45H6`ji61&%a@ldNG{FE;cCnQ zL9Xh)aIEUFW0$i{at$;!@2$C} zcJSIZ<>k4}_$&KNwcTFNb>e3KJCen&yxnKHgs3a-8dl5dWic^( z7{NjCG3_>Mvw~jJJyvJVoZ;q1FBKjOo{Q~0A|o@YRXLnn(vx-U`g@0(P=52Oz!go- z?G0blqp*1i_GXd&{r$K`)uoYM4!d_@g^}Rgns$*uWe0qPZFG8jpLdUn@5`x*IXxK* zlJ0>62h1z|y~1dC*i!|MFV#9h7Cb^cuo>bfPnx)uSimPyNoi?^Bc44wa_EpI;Y7fq z3!XWeE-5GHAgx3|_-} zjdxs}rf{kr2`Q(QPghxVmwB}!%kA7D%`2>Oh0R=WZl$dMa^9nu!HlvA%6zz2QBqaa zsxn}y!_)?!x{*iVh?v;9rEZ@DF$pClGgbfjrn}$s&DYB}BG;u%^NiqS&p+HVgjLzA z=++i3Z+{|ab=i3->K3V;B!Vihnwgm$r;%LgE*Kd%zQejNU0GeVdI|VNGy0@A9dK|_ zb*bxm@M5QZ?v$b6ith^CU6zT4iY;`dlS5;abR^{Hs1O5FI>GA#_^Kx?+ zI7zqnHnqo(+u#=>R6PeTC`(Fyoa!PMcBku$C`(Dzt*y>A;;qw*irVz_^-DxWMJK<0 z^$2Ksab}SzBCnAu&_2ncdSZHmNk*TS8UBTdj|4M2+3WeK_ z;K9H7%++7TD#l`GGW%gcMsk6ccO{`}e8*51CZ zK-w%abz;JWcU1fIJF%i zqP?`?_q6-Gd*?+sGa@lio)NO&!)lC$25)=^@2226_-mM&9i0TIl10WcoF+cKBBZou zo7N3^I>MQZflgRqo!{d-z?*AUcwQr9YlK*?Rk_KrW5+%h*oNKTCXyE#$_?=42uP-_ ztxXWiwImyS`0xSk`}GBLX*$0lR&l)g_WG=>ECU>_NX)T0Nz)&&Umx0SsJj1ysY^B_$_EJbwJ8exi$P7-_5YL=ez$y&7~YlWNGCnY7B zPpHFbwI6;%8*NSwDZ`ES*IOP@SMT*}47W7{Vz9C!8+J-aGd6Hca{vBnMwKgFhGaGJ zCOWKv^E{g43|)5Czml2@pVxl{-^(|&u*hyr*Don;!CHHGygYdD;NM@F`03LXAPD?|g39!mm>44igCuA< z7=s^wOhWriO~@NsS>@tci%Rma%<%Njh4$g{g#k-$ewEe<(eNLcWo4hEJ1hJOf4Xxg z;`#HDM%#6$TU*CM)xC^uZ1Q0Xm6oKWq>Qbt^M3vH!UBL6nM?+hLqH8+`dL&|dQ;OS zTU%QULAtKx-2*;_>+iQLOmrGPdGaJi37fWQ%MV`yxuw+9tVPfN(v*UETJ&QLH>PFq z!_$Z-PZHPIEFD5iYpWOCwM0T$*+Q;zo>0YJv}lM^GJJaYV!t+!zQ^;TXYHqZD$AC7 z0*EYFgeb9#&ySt~5*4H19Jy!Do)cbUMzCa(5)znLMRyZl-_p6bLpqU1jvTo#@cyBp zhQ^)yTXrYCd2@E-rcG%1@s36~7{C)|=)WAwjEp3GEMWXxp{aD?d;MX39F9DBNYTVYZiH^uHYGwn9C=w zw;X^$p{q4X(#4u3dXgss1Q5SG|=gysR(L`mRj|I}= zo??#BoC~DuqRE&3KP;sr&9xcoe;8jF>#%S)zIydV40IX5aaG{q1hK#4Y$KLzi4I(T zDc_o^Be*cqoLp1C!U#|ih7MKi%g)F+Vn2L#Wo5;GipM7^iqso4+Ki+k(V#m2MiP}N?I)26s8)|9f>*kC!m zy81L@UVnQ%oTM}A#l*$y#uuC#<5j8k zAV7x}{D~lHJ+9BeD>o-=Ij^m*jL}Q-*M{BK&Wi-Ez7mkL&Iw+v4St53qF?-9#OBxH z2q#K8xtVBc?Wd`)&Mr#RBW3}&2QlsZ@tK7GaI}3~v{|8DW@6$Q08e9A*IWXDP~Z5LTf z(@ULNQ09PoY1Wng64KJTu!m^>`HV(g*neP?wq}vibq3zvB)zy(%>p_I%X!?Zkxn9+ z+~L}0!k`itz*HE4CzuyGJSp>;p8CJQS6P5_;GE{gP7#H|-2wN2QFv&LpuomdJI*2g?bP-o8#1??c+i#U-VnV65yt@mLHlkIs*_s>wGuH)~(G;9=)I)g@6^5clholrwiW zeJGFy@O$|1VODnb92pn|7W!e;>a328O_k-%n>U%Q32P}@B6uSuB_)6GK@MSr!?g&5 zp5(xIh9^0$791R)s7b=0C(wNS{O$b<$w^6Z(L6&8hVnGym9!45kZH*kz!s~yfRQ-W z027}czjP3)-`*Q4Jm!QWAyUp}N?vgL_Al68(xd=g7S~r_Gi*U`j8npb*dkgO8@CV1 zf=P%w9kh)Y>sE#->GqCoBrPxd3MqM>BMf?%AIhvTjzTN}$#D9liJ{?BCue61q7rns zFdDF1->_^=2C^sz558f5t6D#_)U+Gq{Z?U>k;2I^xvD1pV5T9)0Q!HITM4LXkSqTg z%e9BQc70l1%gh#!_dP2iApz{Qwe;pd5m*|Pi=UnSCyQxfM3%Rqn_C_t(**_7OG{5d z&z3lG0=l6YL9DI-Y>smc&yQ)S1}qxgxRGKAavPnEMe7y9sFJ8}@=!|m;$k2^UyG=aBd z4CEvwMa;FQ!mO{ak6KSSq_b<+u9TYt?-6v>xWDD{wQGsrtzS=!24g@%T)cJ#X9C0q z=*nuP7#zPd8^NnBSvpe`1->LuoO~Mn@HA~yk)=wR<~v$rW3#WlC*+G@9OLx(=YC5H zA-{Ju58m+4h~2+X^uI;XoRiy#tE+(1X}tA+zHfWS)z?ujlBP zX&o@B!0s2MeC@3A=sPQ8U2$dO#*LCPG7G z-Onw2iu$O^o?~n7B=}!ysA9`UIW~t%{~A;C_pLD ze?-?m!8L)@D#`y%%Tw#`?b*B6*wmDPg-BwU+bN9b25yH4e*Ot?bPJW?8DBAsY*d|n zdEHP;-`fykG`OkDmfxe*v1=;;lb0`FmRS_x=O6ke;BCNb?23@v3@~;fh>~PzY@8a* zOb>4PTzXxLUw5M5tR>(8uauU9UB-SeqHBwXl>y z%bhxPWyg*kYKl;qvXl_&;{zJ=o%RXf*mRM*y=Yc@)PpKuLl+Pc^qaAX{SPJo-@#Cr z2)5cGF|lPA9?(cYHi?t}Id`leEB$+2&kFdq=T1)*MLCcEH)vw%Fsw6*mi`BFoQ-DN zQ5Z}3@6wjX!;(LM!;E&+7Z1628b@4RH`gKE3#o zH*ep9s!gS^=@g{0@pcgCRrt;AfO#{#>H0YZ@-YY2;$&8SzA1!PAT^26;Nk%0WdkT7 zcBh=2DUi~?JuCw`LZrakkb6i$z5%#W#)uDqxCyZiV`Hdccql>J`5lN~t=PRk`i8+^NRf9mO@|phGqk`l>1#gg#-{ z?%fg?NDQ8V3+eA)CeOETUrt+_(d4IB8U!Oi8gRl`_2(ejJaFK3bSD{`E?wt&P>ZmM zcMlMjxNn+~$El7;C*^`IIvzz?O$FU9_B%%nA2Q*sCgU|Ul zK@TuXWI^hx4%s&9g{VWT6gpgetyGOYZ^-W37VI!{<@D)Wjd(iA!lk_Fp1feJyQ?|~ zcIw_JnK}bq-TEPE0BGDLR{=C+IIRdnhI{}Cc&XkcbQz3HURhgP+bL7Oe*wj*-$2p* zAFkhlit~-rJp)GK&eBTm70=r zfv}U0ubqswPlz5HbDE@=G)80e^df=r$Eya!MR%9`fZ9gO3xaSrfvsr-!|{3D^mH@Q zs1VzQ%?MsgheJ=4QjD~ffb3-5x^*8L8o&>Y2m2Etixm|r_wL^Z`?)R}O#CFf`sayo zYsurs4WLQ1-CDQ)1a9OK#vm}T;`}c^Bx0T(c7(`_kOC<gFP$DIC~xf1|5Q3Lrf~D=Zi$NF_aEC<}JW3AW)yGmoqCk2OVaQqFWqdf!_Fa zJHLQ{YPd)li!^ZJy(T{!gQdfqOW<_%gaFmb;}b&TPP%nvbah!a5S2|4 z%O+?c+s1M5*C%MmzXC+|z+A&t+(?rd0Ni1{xC|{}zjHG)Gv;Nu%pZUJu_$n5c2Nx^ zriajGr|I>}uaJfh)!$iY&vMb%*QbF6CCiM1kV)a>N%T^sb-q|;US8hCM>8%1KCT5e z)f-&BdaRs(WB%$CeL5-FgY@=3m9sX@$s&`@eq%|5+5z$ic6M%Vp$pqs{7IOPuk~>4 z<}WQdsgw8(sJwe56`Fp$3aC?a;^@mnto83zuZ$FEj2gb|TmH{nq`S9+tEQvIWtWki zZ3q|%t{Y50H1~w8f5Gb!-+Su!2@v+3LZOp5q(xL$R|}YeCFW#qIi!TJAYg-PbZ`fH zOhSGhzjW^01`g`G`vWSJW2;ROadYU2*e5Utk@W7}Ify-2E^@N6CQuv7Lj16l@wiV? zXu=6R69@6ycwYIGfv0ByLZlHv3iA*S|5$OqudlflAjKbnh}jhUH^9ev2)@VD)!B~l zt2}vl4S$F@Eds}P-cmZ%c=Oo0#i78HAa`G^AA32CRL}B(|582Z3J4m4WcSD-Vf@bR z+ndHF`$9zArZqNr@Cyem_l3pNL$(SzO>1aywI`}uKiaDg51wOyqd69BAKwfumFNm? zw%S~}ega~baR699!k(gIk5#7CQigiLWwiKX3c3_G*P@4ovkj@28?se}c~ zE9vpqaddPX`&^uj@N@9T9luoHR%4mLabhlvGYVbXvy4HtBC`Zu|I%7%ij{Q8E6Iq4o8@IfkH>(RdE zr}}D{7VeeC1b}{q%3_O-oP?B=4sd7cbvepv0gRIr2d;Pm3>5R4+*>>gE8qjvoxcGF zSuBl>jborg9KIMc=%S7tuD9iQTcXym)0In3E3-pXHZUb;a`YXpS(71JuDN zFffoVx0ALdas7bha=0~Y46e@|tprB?90RIU8@)7%_znqVsKAqGZB*1w0fDpx&MJe- z1~Ysd{OeYjA<9A)4)VOuRrqp1s1d9z$7XK00pw0(Pr$S)9?A$QlVZq0*i0Iw1F%WK z_Tw&yuZw)Gd#mtt7b^#myIX&u0fq8Y5$+`Af=7=*;^(KRm0(TPF zlzVM5mj@VWr3gjD^FfbKFI z+=E0%ySM~^ccs({2k1grPy z4IZA2r`pk@mwE%|9$Y^>( z2ZS29+{nAmN2;s7HUOBR?tcmW<2kcQjE1nHI!o>Yd9wd-bRP E2NuPJz6{+}(=@FM;AtakrucLXiT+ix)4F;BLi>7bp$^io3f9_Y>Z= zzWtqb&c61K^CL3moJmHKIiLHvWrVA#$YG(sK}SG9z|E5G?VQ}*XhjTsXgz5~xY=pF;P<}l|BU#Ac>dcl zFOR^#kNDT|&toHB=;0?H1O!pk_wS^%JdF>*CVhsJ7gyU?Z4>CUI^DD%HGUG0VW<-X zeK-7J{yjp&;T4MjE}d+tDVi-3O-CCCid0Bo$h&-g^v2i4Qk1XXYG{P35s-Bo+e#@$ zM`%r8usEKtU0u5IF7JBlT;AMeqzczq%4X8{$g|xy)l~sjU7azFgz|7p1OC^gL89mU7tpW{|7>%l*;&BHXn^5r>zE z1A}TY?UxH$hWM-1(|=dPW*!0lBPAzd*aN`hvVA=ZW{26U<7J84%Z7Hb$Bp))*C5L2 z+MdYJ4PTR`maBlPd(hrjrh2>a0xR(1*@#3YOS$9Venm4U{#+Q9pXWW4`7ZP78q-re z5w*)f?32-PAO>fjvGc;OPwtnqHnG^00HIUlMhP$yq-L&qKx{v!X<{`g>~^Ei-fbYX z<&+Xk(6jn@cbu7FV-=%dfYv^Yv%Ok*g(eAyLNk&k0+vDv%es-nzNQn!MC4!!s z0WDo$#8ukBTni@&7ib2+M?s2my5Kf4yi_VZ2`gPH1GtD^am9}myinSv3oueW9pw0*{x1uBNphB%VE>BImeYP-H(qPxgz(ZSi2dsRed zAi+%2GveVi<)Tq(MS(sLWm=qIz>*jggQDTsxgF(Dq&Rm6zy7HFUGWA2h$92l{JOm# zm}O1-HnrQ~C3gLDil)a1YaW0WvcY@ zHy+g-|A7|IK^z87B8IK}j?pi`iU>T-hmZ=~-9g--!l|Ew3e#-<#36RO#bGIr7Oa)S z&>TIXnwt>qtgfFi5!lV%IfGgp5*PBmISF5SglluBhwJrftd*_NNW*8ihiXmVCT~k> zs4B}5qtj{n7mr;WHY`I(jn4CwxHOH$O-G8@gn=IwMI4sK-9Gv1+__+ZWp-j-e;PXz z%+~RggRsn)5u&RgdZ8tnd=d<`R94GS3{m8cISI&6^L?s(2JK>=Ybv_kk&q{=3o7lp>Z&GY#;Ul35xBL|K>r8z#lc>Vj5`?O5C(cxXZCCQoI z=O~8NtF7vL#%@-Ayv?k&Orf|pW8bt~qp*K|$mTS}@9h|jlN9InE;FpoRFuf0WoimKhK;g5(5Ae&Mep<+RlA)el{U4A zK|h>1F6m53PEN+cY9xA5%pCwdtMU>dx?>Z}`qJjsVKGssk%@6eupy!S+E=jh}{r%FCN3ZK|;$c)xqN zcs<*|TD}x6vJ_7oo#1mz>dx7Mk1U0&6w7@J-;6{X<%f&h@f9tX3R#Mqx^o9r3K#R+ zhgMCbC%03(N3ABsoyJ+!!b4xlf)2I0elADjT@SRguN>&q&KN;izFTX%bPe_dPLjbBV)cLdcu&j&YVy zW-N!LDfG@>x`)ehM`zUihN71yJ=KmMXH7&2*?N%9=hg3;wAd3`Lu-?G zWsDY03{=z@FSUEet(To9omu@13h%Y$#llV;4_W3JXPmeOeGlpzDccDh<1)M==8DnN zs7!0x1=gXDshabLM3bpuZVv)u-wV6y9sA9)g~Pji{qt)uazOUjbyQEU z?d(K^KoaG)k@s$X!iW$KQs{}mDKaxsXQb&~TH+)&6N|(RDCLoFVnW#AC=^c}V)q;6 zgAEv@qrR9SV z#IPx~1(WVg3{XL7wKGQzOenLZO+ir$Wg{5BJSXw;-eAP~^Z6Lgcuq^7tPeUyCtHaE zzp0-<(4Gvsg1^(XT$1w&(4349BnR{OZzkzhKNSytUh=Xzhc{H#mFk{s_wI?jek5j5 zRbq07rVV+Q7aveX+(ba_-5{ext0C)GIfm{kwTg?_b;`n}NTC(cp5nXw#kvwO&yx;R zrpoz>niA@uv@*GAIBAlI62Cv`I;b1Alw)$<_N1q~B!BGvW-%1vEQ&GGFCTQb#UQdR zz98x`XG9tu-KM;gjw-1z04V$vx&HoydD>OS9{3 zRl3|tp~lc4W;&G6Up}d*NV1_n>{q2;7uNBN6l75^l=hvRV)|91YY~}8YeP!WCdbMo zSGn&&SP7#=h3ttg_t&RoM;c2^AmCy?U`=Z#I)*R^@>zA#Oj|ge2)#q=m78agZZkrs zW&<=W3pRo$%}er_gN;MFcJsZMV1~j$+MS#&w|=Z}Eu3szNXh+0U=*=aG$U4m;6XCY zRB)1PgmVal^r>JK+!cmnQ)+g<_oAXW37PqIY1{`#(~;SFM}tej3&jcAFLGVJ2d-mw zzyIWzkkZh_6~2=-9pe7jMt5G+`UC9>h_3ayL@_I-*nV%}4L2qw#AV6S$_PHivb0VY z!G3;4-%-Xgzp9Hmw{2)Y-*j;e?}WHMVV4w%nt_%Q(vej2%=Ws!y9k#_ZF z&km9$GMFWr{X4l@5t$$L=**B`QMGa%&k|xY+b;bi<4PPk09~+|AO~t=xI8^v*<_ZR zw2K>XjMBGsUHtfFv61yb5cP$nE*@@>B`8=7wG#Q|v|ElRfGyMP&udArvwwcs_By%v zx*QXZ*ty!&jS|Md2w(95dD}fGYY7HWQ7mZ{atIsHcd5u7p_fUVJv-^bu>nUrqLwEX zv)X9S7o!83Gi9=j8=RLRi@BT=sE&c3YA!&xyM?M1x^>VZVqX>T%yr|Q(qRyOrww^6 zTkdbW4zW*YueyuB0N5yWmgviLA_=3{%r8_#|Ag90agqQCh#4XY@jKp{SxVaM`5O|| zs;-AGn4Wf|cZzmJo@eJ$+hV}`==3YYVYTaacs~rj&4U9;88F!<9aP71(rQ|9NX(<4m-} z{o9X!0jBD|1s19G9m-}~+rsxBul~|ZbpdP_$EW>f>E%D`>rim7y{Hc?pu;JUfzKdH?!Xy) zU@C9=%zS^Ud{%r>{1S>C-~9QQvRx#6F$|o$Yl{#&;jcST;R`)I7uslrwYRpn=q#=K z+}ACw){4lxPeh8 z5Vsv?e$w2bU;_34YnF11$^~`|QXT*%;GROrE$P55c6&g=)iw)vGDMjKlsr&;74l-qck}19U z&8PY0$K+`G!b#5Y7Zh2;gYjSczE!oixFYf?Sk=x=oS3qI8u&#tZAmXjOX7|kq-q2s zO_=S=9F`gaOqJCGraYDuSa!EHM+uW6gS<$eC@{SL)Xd!$Xx_mUIB{>d4pw9DqI{4n zf+AVpUthR`z^gdV5xDByy)(|8hN+o*k}^IYTB{xHY5vg1wY8CQImG^4O!9w5);RL?{8VlJ$4 zMMSC&u-LR3@p+uUaEptdZ8>JqTFiTFepkxl8)|YEvnrThbYOJ(tpF>~zn>w6KH7dB zRKT4rrctFMX{SD+6;_M3!GMcOULsr2f2OW$xl~O<3HW@um(pNNc;tM>y1&AId<7;X z^9>czVhxXNzbJQBW{n_8WekQ9e4Znh@B?7*&n&gS@+GZOLYhmqsoYl=EavNWK2%RM zT;EJFp)_(IlN|*9Fbc(vk8#a6D`teaWd2ULT=FCoqVg^Di_?`BRR;c;;5xL_y_@X{ z<-6;Ph!zJTb~#&IM;zM=PqkF9F;9F?TdDeBRweH;NAkw4yp4njCt`iynh2y5Ds4gX z$g5T1m4l1CnFU}e;@jf{VS|*x#H3wG1Edt=0J-`ZytS>Ja$gl;7uj3{D3f1oLIa%o z_WM|QrcUnE9h+qU^s$aTk1H@J!x@R3;kvFBKKI-6rBtt5C3L&6749^j6&V=2R3^WT5WDUctkj!1Kg<8E1|e!UGKavic=}5VMfi zvud1x|BIz%Xsr*A$owKE=}36AvpPE;r-)6z+>C;j=V&bb&1 z+GU@9IWQvPC!*&IZPj~YFE>2?ozF;9u~N98QDu2aZsdplVHjq0+AD|FS*zr%F@n|9 zmQie1hswBkJ?UuUdSUB}^bk8dvWk~dKedC)sK5ys zV9eR=L;pIKpG*8RPh&?8o~w75jSq3XYwNU53m(G>%$l~Xh!zqn_50R~dh<@{UyxJy zzq7dif#ChW?NTscOHfR_&nAM|&V2zZd~|S2ibtI&WKd*qW-PQ}t7gzJIdYi`e5p||n}|C%K2GY$PO#`*s?q5t7k9VEV&y?#fH z+rSaP+0f1aTP1nB0p^|C8ATfzvTw-4x{2p%NPmE#&rHo@KT~E#2A^W1b56RHTjw}V z;LB}zV?ep+(uI}VOX=fq4sQ!$myNLB1D#qgrVaq{3Fm|&LLyuuRn*F*z^AsmBZDpV zQ3N9?$Y6nTx_9P{HPLnbkS4vCoe0-vxfd7jvGyyZ6b}A zL1LV|J&>xq8E!uCI!haO?@gA<(D`}`Zw2b5GV3tp0J&Lb75j3TS&-iOS zMil7WatidI+)mJNnyxUy-&{HF!jS;n!Unl&++Y=9e-oyT5>&-gGp;&NsVrIc%T{rO zF?7&jzVO~J*7(b5cX-(*NT`nzRxe*`eqKyM;B05dvR@a_-m>LeT3Zw9W1w1VyR$uV zaU&4+qEVW3kFAn<;N)`NITi}Hn#Krq4dYtnC@M_a{mz$sj+I>_T_5RU0r3z1>(PSN z{yevZV2`;ScmaeO2UUcvN?a|t)m&9HA2p2;n|z4_;RZf=#g1e-3g_mooE${*AE}n^r0IKF0}9UX}g6Hqn(=fJJtDraSRQ=l=X=|EI?d zkT5ab(b@hMO(VeLVCEY9I36+fEXvB6z^hR;L<1P`r}K+A7cR=1v?X$+q_CE${3jCJ zi$~uWM-{Rt3GiQ$Mb)4~rH?#xfnw;PyrRaS$^4ii%83DkE5=}rTdD8Iyk>(zstgFxntE|Y1nCmwQv)p-;@A?512)sX8 z?V8=EwH3?=mkGm;R>=_J@oRX3|3~F7kkBJiF304ktgu!H+wA*XsJXShpJ=4X%w1xs zB*eY2NEiYHL#uk(;)zv#H7cXhHhf(niLa~->pp5*Z-_r$uOGOrEbLdd`?+uQ#U1cL zQ$sU&s>0)RTJW+g}4r4X^Qo|JLiO$>Yfxs~6Aa z!@6!^&RB?uXdLfOi^`;`rZnY~qMoQWA``L=vR;7`Ki+o-{jSQBjc0T0!H8a;|F&V- z&u2<>i^Y9Zg1f?V*YmHy66aKzUIM8Jz{D$`65vx2;A&T$68`qs2n^T3XT{LYM%6cX z?1gJ`F;o}fpT)m#<*GK);c!Cd9StOmr`LM7K$YrLgMW-(PT~sygf~= zHhEU9-6=i)!fKnDZ9vDx+bJot0dtr2WKqs6|{#=~OuT&R1cl%Mo5NAh4N(M9$imw3Ptp!#w>W!PWT`aj~v7 zx+KKvK@YqR+vkW*$8PLM{zBPMo2iV|sMu0-U~y8aP=Ifkg^ zlle8Qwl(`SQ)Yl9AF631!-UAJS2Av=2>pdk3E>DE_*q-~mUPKy7QtV2BPwPnnb=|o zXYyKE8Vt)HKq!Xk-xRc69?qwb@&NT0G_8K)dOJMaHZ|nUm0*?ZSx@Kn(wLS9>4GcJOP`{rSSvkdMBE1x_IAwIf^Y zdU3Zie@BnU0c0-ZP)=i>J8>+Ol8ZIyaD#QhM2;UW-I+8xF z_ebGx=8uCmA|Y8KR+m}!wNB^72=%m^&Qu*p(kG6_!!**Ub`8nH_#Z_CMTEgAa~@Nf zxhgz3puZXWq95;4v0Iv`e+E--kEe~vovKM*7T8QTWwo2y&h{Gj=O-nmueS5w*9!MH z&rba~OC*dmqOiK=IXci%DEjIqG!y^hL>IEU3>QOOb>%Di>)zMq*jJI!bzO7cOQ}Wc znBOuV!`UR$?zx)MWg(Y>mmmhWv6n$Z;9{FLkEGOxp5#oMp?Pm2n0c7hXL!QnAyr={gCoO6Vsc5PSlRl|a-;`U`KaOV`|RO?hyUDE3t zxem))@;?Uo9e|IvP^s@iau9C01T%VtNY~f)n{N^m$~1k^qBj{5n7m%1mwm|vt$fKZ z>B1d(fys(Ov{``l{q~EcPK0hcT3C4D$~>g_u+_Nc>${GZagtqOx0)MWkBVCd4#M2~Hk=Pg`iKIlvyaKHY4laP1$w z8_2q|(PvT4EXJ|T+Yzj*f#aQ5%b8nZB-y;XVs zhLW%K)d0&>viOcQfw=geG@~d_mG>|DWDFXdjEHRNHoI}XWx}iI7$g3A(M5OA<$-oa zvj-rARgReARf}Fz+KWH&MtW_FA`cfCG;-N6V8J#qtCg&LZzymzU>76VLV&ByN98V8 zBO6?xN%W#lAF?c0gr2TcPmZD)IR;8*KS!`c5@uSqfQ%EPQ8}V2R&=>8M4wa!tvlBH z$4YKYD%vK0!ct%(5}<~W&0-h@v0I(OF7IgN8)a*s}<2 zV=VL&?0aib6G=9f54R$U+4W zwiNGavArNVl=Kjc2N$+>rCy^xqFnCGpWwn zg!7AczQHCYQxZ&uaHR{rwaPSrP00mW4pa#0+9V2Y ztLs8NRa(Rij2A8X%dEH(D6%N_%Tl>$wVxfs0UYo~o9`WOSHFCu5792;c4><&NL1PD z9A-91ufhB7Tfxp}(vN%@V*bX)V9%RVkOqCFEW92+YnZs~oKaFH?O5`H|X z{o}wL&o;W*5XHQ{{}mz3;`fJ;ovBk)3iq5+;y6By3{B3@;9P^QB(J?bmoi;tGsIU*4qy>QK30&pnuB;jRpVI)JF9*x*{;tD`+umcc#2jP~ zA1bv^AmZCu2z{2meVX<%azy@{9!4vTCK@-_?dJ_WC9M%j%U2gIMXX!S7UW8QJ);4 zxiKM0DdJhMJyOjk7Wv`SX_YoC(6z^lz3)vE!d_SGA|p$cC1N}17*ykOMKhmbqf}tn zJX-W}efSjwA6?p1U!ca*FTj<#1p8YvdXz&OiMv_LbD50ulG2K_1Zvoz)^OiXs1Qn5tNc0;@6}dL|JsS1e~P##|w@n?`!pPlI}gejr7$ zclo#q^CKKvs`HLNy3Lip-&UfC7mqIw0I6D*Ft2MaXBo>!h9mvvb8Uf#K5SFH6aXz?|*c(7PwNIj zWROl(dy$BmTfV);r67d{Tw+=xUTRSdR_S3%y!#!1wElU3h5%W)Vbsceygs0Ey6Ldi zGQQ2tcw8M#&3W%jBaxTIAguZFCB*FE_F@q7THgO#*;%Tuio+|%tfu_dF(&dR5$62t zB%Y)9d$K+p@J=)RA>tWqj2UZuEm?t?Jvq9e6$~*bR?V4=%*|2n(4!=*PDr25FkeE# z2?e~~2;>RaGY7e@tyQgNukzn0$+jd<4~`OZk&fu2W4gcb9QX8JS=h+g=DhkHNh4>pST7N-D;eNaNeL1Q}?efn(+S@~W z$5x0}U>FNsM?ipd(H54peHU4>m)8mCM8=fVgUY5yetq{$c)K{^=O-J0$5Lhdj=mzU zFv$^LlYF<+e9o|kv;-Q4p4Wyg-V1$X2a?f18`WBB9MV0J(eSLR;PWpJ^BJSXxSOR0UbmZi0x$({wqJhnnU5Fi>0 z$>pi9GCF^N3R99NOusH1zMT7kxgKkJ zXVezcYYhZZ;!(%~mkhmpn>~0)FPsOEG{Ob$BlYz>qguL|jDgZtZkTLogDvV@kVi2d zcCCw1g-I>Cf)$;)*}o7;tF zTm{Wd@!!b~QxV1?iLi(|s3}O+BMLAbyZJhG_3Puc%up_gjlcBYk^;t)+$ zR@QFpB~dEcF|yRC4*`_s5@(2149;gYQx}d!|BYtBpW&qHzc@)0)CRdtW-=U&pmggreW|l|Ja%KF( zm^kK-;~OK+645_Bi*_>LIkwE816hYbhck$)Nj(SS?l0(kt=)Ka=3h6}D6xKhjd^2K zDYc;qIAszW7-?HSQz!|1Z5F!^*!kfwt7VNze*GYN!m1f=esHI@4elY z;qWm5CDLE~f~Slbc_;E(y;NZ0-%r5NT?DaLr*=pEk7qi-$h~$23M7hsWx>U_2|wDV z8z&539KKU}%1<#Kn3I@P@fPr9{306gAGC?xU5P5Y*Wg_5hx>>8tk-t*iL#j%YPj;q z_}l_-86yg=)NtotPc+(Oj!o5x8)fm@5ay>T9)9if@qCoE<4~_RaB9q-RIarZ#bh5) zz8f_r0c;?8qDULm3Okn6GrS7J@iHTa%YSjC_RucoG4;2khw%|{>I4Qz`;ZBH^`62u zsa9qhtdYI|y5IjGT7PoL*d}0Eh4)VrcCJdg5-_V_hv&a2Q^WfwVduNc!(6zBVeRO2 zEZ5uF>P{(_(xsrucRSw`UUgSpR~!|i-0rdRJK&)5Z`Rm1JY)zCBCWye=r-ma0FLYI zoaJN-O0$VDCFws=*3|d{*U%j1CsHHp2+s9rJeGcbpz`S#?3P)(z^l+W9leS0-5UWo zK!Tj$NfNxk&c3t8mt6XkblYR6g33P~HzVvqyd{t;ay}q zq)85smtOCj_oQ&mlvBqf1diGo3EW4`&Us<-Jz7(2xUEbyP%~) z`c=FYf+Tuu*te7yI$w!iM_a?6OutG^<I)=`RwdU@tPmTTm~UY(+z}jEy{CV#*tgc0?&GJZ?{FbZJ^OHR+>l7u@U15&1SePS z!=SeqY!og{rGQSRK3Je>hVpK12DQ|SuZd0a7Rj{#jeb_;6k;ma-680&bS`=rY=rRI z9)$_QQp9ZEB=3u0h{dr@%y=2=&2AH6(v*JK8Kv|+A5#+gVG4uTg6%zCLlWZNjHC=m z{!vS(xk9D-!W~{Cy)^o(Z*UtR+CrpE(Cmm-g&RsuZni3XiqcFJm~H4;V`mXIHndaMv&v&ZH9aeoMAS*d43R ztm92xru2AXm^M1!1lqqYOGsR-8B8So@)J}5r&pcms02MK-((;uTpt9&@#eiZ{Fl~i zygEM8&dqxq^daJ3w{@lS2UBqiB%%^T>?5(<1h6`)h>lYJ?GllPM(9WtJM7en#oiq) zHeV&iNFHXrU#l1&5b+I$R@A*DXjc?wwPSAHBB~wI=$o0XYtT=Rw8=TX11$_0P`5mK zYah+Zo E9nKSCEsb7}NL@t4vFmFd?=KIkDL~naFD_(HGCY0jTUfi|^#+aeDfTP= zO|Me!_O6g7rvHC}HJMtzoOlqam0ll`l9{+D53&xnjj(+07`nbWGFXbwCDEn=n>q_} zMEzk6E>E0s;Xn%v$?e<00ZaXXr!z>1l+7PyXr9xKtv1_Gu$~YwahL|{-zaq7qBy-p z(ER@eI99>`caGyfVdq~oi~T-cx!u1<;qp)4JbpflUu=4lPcO0*VM$-A$+mIrh|;`# zWrV;r#+=2fm~Svqwt2e)gZM7`!7J%TN}q!&rT#$EH(GIg8Ptbos)eJvJ1bv~)=Y&p zd2SDc{R6%jY>>}iogiMv6Eu7xAW&Rj&B^)i}z2(+A7^9%zVDgs-0)G7l8#G z=ic&hEf4C)mFvItnQ9s-=CeM1zZn0uTZE3n|0{J)QQDP99N4DboChSN_Cx}CP}sRJ1cWy z_Ujvm)qJ}w1Lan-!+K*V;LDJxxXt%&2E9F^qM(XiMXc>)KP-8U>R$=5IVMJH3GX zrDJ|}iQI^X6u&QvfQ+Es-*mwe`!!;Nx!Sp^bXi}*uqobvp9`Ingd_=P>-pdJBbhM$ zfPThmM#SxY`#Mq&p=F;2&#oo=L%zADsX~lDGn!NaljI3I;*NR4xr)B|8thJR;Y-tW zQ;)HZ^1@k+7bL#WRk&380vPCE8zo}P6rVfO(rZYSD-}pEr|+ne+7g#jChBoOLILpP z7RBk3Hjma~(mK^V$LX!~a@G*sP8+$N^w%uNww>C^jS8kt{2^srdhvF1lTyfq`VJ!xRAX$v z{9E3_C8sM%_A%MA#1R432XAeVinzo%o1)yl7swF--fR_z#psFt|Kc zA+k59Fe#<%%}bg*N#E6HQwUqbm5i%5u)qk1(n8qwH$x*C|hfjLzo*I zrkH_wT&SF#$uHnH&~c)_e;4@^97M?O!-2iDPe!8K;tsGQb0)T*D(jEpa?DIYP4?b= z!<^D-t(50=yqDny?LU(GQOMlA_`J};%gl>HZhmGgr0@tngS3=rMw+ZF(x@y4fJv@; z2t9E(WV6aVSCt_y6_P}x%?NCYkjB<0>{JImv=C6O$A0=PPyMbbM$F+$)&8@8)1#*r3aV$F6k)eFDJq<8A8EO6?_}RAdxITHTI(b;%GtN!@6n6U$2$-gX3F}U@gv; zlTHUu&JZoRQr_YCrmKlFpT?bC^C3DDQk53kI9!J~|Xd z(FjkQS9E(wE+qVVdfQ23I9{QTH{P@5pj1(?{tRnTE$q>Hc|J85#g+yt81T#vuDmiqWk?$Yi~ zp8mW93+cRXL3ne4jr4oH1MFtC|KTJVAj2m#ak*snA=Z4vhYM>!iVGYVs>O`hZRW-J z0?8B11;6@j;azb;tB0ERTAwGR~#Lb`M1m8Zo z$&=aN{mpYfCXGM?DXd6&1NNKgw{s27 zCf0vQ>^_Z@xNhw)#eXanC@M+Uo_~M6e+$!1;!`Z~y;Ioe!+MSomUGNvJ{w7@|6Pdi nzXPA=5XgT;54&v7pAfNjjt!Rwl%Ch$BD|MXc~>EA8u-5eMMXii literal 0 HcmV?d00001 diff --git a/Fake News Detection/Images/metrics.png b/Fake News Detection/Images/metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc7d31509709d6e04277364c2ee53a660bac4d2 GIT binary patch literal 25656 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 literal 0 HcmV?d00001 diff --git a/Fake News Detection/Images/model.png b/Fake News Detection/Images/model.png new file mode 100644 index 0000000000000000000000000000000000000000..a8cd84df6147a7f5da4bc629e97bafdb1753a16a GIT binary patch literal 29895 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

4b`}7QkofrzY3oKdP*izV~(x6zIJQ z<~Y0J*%Y<@dbIFD>Jnhm^+v~BZ~`ivpwF+DiDmN&Z=7x@^gB0#^yA;T*|d!fV3-R^ zP-&<|pjrLPBm?%{Hzzj&{Q~aDgPzS{AZwa;tjk@)jKB9;;0O8N5%E477PpB85o@X9 z0Qqg75xVw%GPVF6*SS+!kB+~V`So2+5zDDglrAtSTLnH{XXv?$Jvif0;IH&N?N2bt zcXRe1KDax-5rF^Y=;zES4>or|%N_>^k1Ge8)lR}r)ayZwpd_zJV{)CXQ+mkG98j0d z9JeUtH=$wN?J8KANB&D9lQ9q}-WOG!Vdi zwiBWXBJ{`(!>tMI*R_x)07Kmm&=k_9At|$LZ8?%lWu}9cAsKQDLWtU_R!MSIsSKoD z6E%)c9Y4_$MDbg!jl(%QS6-5^%H}PN?~IYS;;dqC;*dUqwKw{`0=W+2hMk0cX-)uiQ^_pED|TcDa` zas=dW@%w!8B?u(ZxAu>|FJZ-6K)hifWo6RV@|P=~ebj_(l|#~ge5~urDkqf)Rl5-S zrOW_iOXaGc14_{Pq=D z5nUz`w$wYluFO{eRQ-W zpIepdQ+v^rc$Iq^%mT{;w3$)B;p%KXS#3>2v)2{JpI(Cxt>F+xsozPJHu#|cbin+@ zo(s5U!IshcQc*6;et59Le^@5Ut7^t96RWx$Vc79R#v@KFew z>xax^Sl^fpwZ&Yh_|?DT{p6$YSC+Jjgx+J4R~a3^iy8^b=ioJDU)5^NimL`I&>_;HGIyYFn64+r-(ky_dXF*QNJjjTUln#=boPZIxo<$tFeAD#n6thc|wIw_(`YfpCH1ta4#9M^X*ci;`0~r z+r&d9u3E2>e=X41(;7T3gM$20`OQ9MyC3)6^ucqt6QL|1xFB^rj_#A0{1}+zKgr+VmJOmIn&#UCSTM#Fs+e4)i zxWJLglfuecCo3K*7PKsBDY3e78aEOa~rvnu^JXVO{9TK+s2N};o{ zVy0UH%nsgIe6L$RQ~292KV+@n#J?5(&RfSqLe|lo-{VVrFF%eFQN2pRU^UM8x{c>| z$(g)s@x*AZpq@`ao_{8uKet6fPOsK6HbCBnV6qw1&M@Sd=?iP~rKGCMY`eH}kjZY$ z?O;0%MF}8_yc6+H1g!KgzpooFlw3^d>>j`Bzojtj_2NxPSU|c@ed~&}e>Es0^jKx? zIpYZey&ff%aBLN+@`2?y;udd`1?($uUR#)fz!a3B49;n8gLH8dHu13Apq0SrDAxMB zF6Zf_$Hm2^ruxRxIZMZ+A9(t2oRsk0UapJ7wcbQm_T%35% z2+xFSv%Y1Pzlx(YJT&n;%q)8skA1m4D|z|l3tqkIErBfX?N&T3uAWUX2@;nBtuZ*zZBCT zwV%cwAxyS8xTrE1Ig=BDSg$kRc*Cf59n{|e;4lNaOw{o(BR(@*o!kI-)1PSAdw)=P z5PA(-HMAspKeTIkZ>y9vOAWzDnNJB)swMsJN-QO94vA^0$ z|BY%%0j{8_-s*NN|C?Y>0x6{n0C+{>1wROPbD@Br7t8(D3ENh70xRSj!f1W^WPQ4) zH5Y%h)Z4mFC=;#v{v;TYgo^k^$z+4an|%*`g8EGL-imkfW`uFD+-TU$NSFFBpt z)Bg1x==KDhELD$)#OXF+QvXTZ*bH MYu&53YZdxG01oCVod5s; literal 0 HcmV?d00001 diff --git a/Fake News Detection/Images/model2.png b/Fake News Detection/Images/model2.png new file mode 100644 index 0000000000000000000000000000000000000000..b95d80c079c9d74b1470569d5d5396bae785a697 GIT binary patch literal 21923 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 Os;6Uo`_oN_@c#j|Tb#52 literal 0 HcmV?d00001 diff --git a/Fake News Detection/Images/model2metrics.png b/Fake News Detection/Images/model2metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..e7631795bfb33bdca7d1f4564ba939c327ba4988 GIT binary patch literal 25232 zcmbTe1yojR_bvXKnAlA~f?Qn2|M~!@skuIvFwKXJxX5ZVNo5NPWrHU9wd9RhxB-QtIeSL@_yya* z-a5O$hi&uOgBAXc?*892w!1s(pD6co42gLXbIR+Dk@{Zm7$!sAg9l`DHXjf-5O+U6 z*29#0IqT}7Z|+sa{hpHoR?h?qvfOK?t6H2|YsanBJ1jhh%|wS2KXj+bZg=~B>mL3) zF3@UCVZ?tnKHhYjHf=h5gjooG(z+^TEiNveS@O7teCh>T6@Iqqq(aO-{Lm##M*=@w zC!6bmpY3?&P3LvR@^{JJsgcf;oj+e+v#{9bJU1geGw@9&L^Oz9@k8ye@%nUUG1+HF zz8LXpbNl-pHN51J?wYHkH8U|NP;aWnZ8xM-{y{b1t;P0(m+$22G#B{u*f6tfiq`$v z!YFQ@eQU+q9fve1+t@GZWZYPC;qCdmnVI5aeRcWx!5g(yLBsNhM8kgdSUp)SEiFG0 zd)^gmx4**2CMGA_e%trdCi*mgcT-5Q9i;8$mrK39?5#ps zgz^?e#foH_z+} zJ3Ga0xUbq?conx#Pi>0b7Ct^c8J5zz4Km^pN8Fjc*Rse5yW?R(Jw>I)`Rr+EXadAp znVIi)mWC_5JMTrhtXe(yuC6kTMi#SOulN$!l?Sw+rr|Wjl#E#%l zNiW9Md|%IriHRd(#XhX^&24Sp734*9OXr^+R57!(Y<czN;tr3jS-58Tq`UAv@iuUtPd-Jfn;?c(Y>JW?uO8mli~ z9;qT>W_Bo4!cz~Mk|I1-sohf z{8k~nxvA;+i4(W#hUEhJkK@Ap*GKkSv=?ZOcKsq7uRhg2{0u)u&A#_&QLspUHiL74 z1cPH{t`Dn0Lz+l#Ztl(pvC_Vr7oyaHxYB35oo1&FTeQolIZf&cT6JY=dx~T|J8F2f zK1Bdep@nOf4>z~8B$~Ia*>~Dq13S%OtV;igQRO4nVB1^rVzXt{CfOczpOce^e}{Tr zcJ`Q$d@M3vYr!uh6swcFIc=hOZD3GPX{K_TgWYxxr3@N%hcAHw7B|Y$v*|^ym%KT* z?_06`=EQCeMsxYQuC6K+=>(HH?y|Xw!IteA+!`5_fZ1g0-WbZ$3N`z}q^L7KEZZ|; z3@bPT;xE3t5dF!ZG)s>`V<*4a^TM=iEm_Jxr}Z_lS+{4HPmLJ3ebMRu)$G z?&5on8@hPB1jh!Iiow3*{_38nbD=IPK1QgeRwr>CKK$eSE6GjyTjYf`6VhM3Vv^R< zdimP4A?+!au$p#wVBn+hbWf~7QQ|0%eY?MY4}J3Ja7x>2U$vOepFb;E_f%>c)TbnV z&(6*ss!(^X8@qg}wdg|Crrefzle#s>`s-7T$0{OKeDj{L56_M_)bxxG4~Lr6CGk$v zU;n)qZ#O{u@UJ)Lmf_$|jrSKLgiN-0ig8=kW2avI@$%HO2bXY-`wt(=Dripi2flWt zzrJeEw~C)1RD}X6p0F!s>2PnNr8TPSXl)h88~!;mIoT01oU_mKk(jenU|^t`wKWS9 z(;XaT{okpkomelInxa4fAFRvI2xXqHU%x6PS+dQ|&G}y!+jK@c*CR*d(q}Wxp|<>N zgbtV-1FhN7LCtE1G+Ijfbnhf4}Q6In>nN{#4KT%9X%T z?9cZ&JZrx{*rtvD)iT%Te4ZTWck9-z9fFqo*)K(WtZ{yE;%<)`)uYe~Z#tZ;*Or|>Bd#QR z%LNIZOLubotKvgYdx!TXe`Pxo?6N%Qq=N*lCfa<}{SIrN4r`DX|9L)UpZD6+p7amD zYrRlUcj}b;Eh{6VgD;~TF|DV~5d1Rn6i;O~GjZ+mr>kDt*Pa}>xJELyswuth0kepQ zhez3aMbGgDXNDWgI1ZG`GkP4{?%0oPL9=Zr@j|%;K|pA;>ce3kw(i z#gUWvPFY4~oxI5C*4I)`w7Sb9*X=rTPf^|RiE6U7ZnCKtRgi)S)t;d}Yu2pMnwyzi zx8u-_%W;1V{*>lA7x&l2&0DrqA!{-?j%@n%?qaCp^w@<6C9k>JX&#%tE3~w#?e**DqqV-vq<6S+rR5}A zbX2C=^U>4Or%d-HlYNA97VSLmv}Wu6M<*3ohZ@h}B}pTvO4KD;`3qREl!nRf6BedL zqCIfo%`s1UksU{_K8ov|nH*+QiRak6cW=u4+_YbzUUj^2{$nj+S#_T_GU5Q#*~`Jfq0m1*n9UGt*?E3D=M_o3#hYbz;s8Xg zO|A@K@*$!&qbAjir^AKzyAhCOQ1myR`ac4(Qb+4P3pO^knb8V$th8QN{0JkXxs4LX z_7Cdma)?dW%s%rSy^Ant*`F1>larIvAb7X_Rw?`|=h;!kXRMNL_ays-oacmbCeyq7 zx6shICMT|9s?E71=H%oQDC$`KXtk$z&~#vUI4gy7)K$~mys+)6cuYralCQbYaxbG~ zddDF1*Y7URJEqkD8trLX`QiAtz3&^Aof*8-Z|i&K&T?iU@A2AQN!$X7TISsKR2S$u z@O~2MZb^D1b||ck85GeNkzm_TfaT$(RIX(Q-*@ctTfm_E4*8!?hzK^+Siqp}$8tSX zvp%TYzjrTZnfwz1QuiGacx9q2QjxKMPIuhA&1RL~mAF!`=Ykw?DZTAG0$O*R;APpb z-IM3Bc+HYPy5v6}e;Qn)`_GTwyrfX0!@2jl;*H?VnmCw0=vQIx35VGDm z-G!TOy&0aj@D*2!JXHVv+`FHsKuEccTNC>m zsF+G#Uf#jM;dj|vK)=9`2Bpb1rZOx(g_jU`19*X6*U=060lc;VGr3aJeKu>lB^&Tw zG3w`gMXmxp9=%w9wbbj^5H@7Kzh9^sxOHpdjY&ER60(UgC}r{X_P$z|bQEBbx0jq` z?8e9%m-V}iJT}k?K0az#{!#1unt0QOqKCWru2y`Y1HLNf6}dhFz_AQR9oR4L<}#|^ zzuqf`HUB#Fl)NK;znJJ<>=qq&U0kYD)IOW-MFQ-pN$>Yvtz({EzQj* z0QrrlhDS${jB2a1va?wW?WZOtlxlSDxJ2Xb-S<#E4Gs}=rsv|~>NY{?BNQxnwPX)9 zonYozZ;kPoO>gzDsSea5=aQ|BrJi!+BAt9&Kw@Gj9Xr)4G^IM8&DFHaEgq5^^B)}Y zdR8{Jwduyzu~qF9wmpQXs*PV;xzuLjjb~?P*_30LSmlG4XA~EEB0PLhOZ}^qlaX<$ zy1Key07>kf-GDabygOekoJ2}rQ=SFK_O*cE1SgZsg}2l&7?_hISrj7XnVv32!8&}c zs`8f&;8m`cL~zdtv^^iwYN zA|&Fw;o;#{b6DZ5y1JmT{e?VPDnZ*@iAOBptzwc&y;;G``5#$!E73?E!;_4=I#zPj2b?sDwSZkb2eOW znZufujS7cuuy}sbYDoy7Afo6Lyl;7<8oK0e%7gQQ&o?{Tr)Q`;tI8yBxqUy8ogJK6 z_m_orn;XB{f+i~^=+yh&xQ)9MDNKmB(&mEbp4U9An+hBC^eNx+R z9)tBqgM+ebxvURsOCIW_f2(0UJeI+0dG*45{rVa2?I*W;HPqeZ3b)K|0^FE2Yg{M7 z>TrBizdk(sb1|F3r#<=EVpj4|iuAOo9CVvs4bFTrWEbnLmMYbIXxDY0o>u63U}dEe zb&puidu=t%>|o=F35V6J&O+Z6JZ!F4MQzoVkr(oqg*4#^M^Jl?$4_bn|1MZWlv>@ zJk!8tSUHt%KnV^=aq(ey{h4xUCvU&NiVQrTazjV$>;3hUJ*<~xdmi|NE<2OUHr{OB zwq!_YS|gxhOa1lRD;Qip+E>tDS9EkS<^2#RAgVoPxogGIj@rcG$NM*F)H(ld)NC(! zmOU1vvR^f&Idzq)xgQ_~^11M%6yYmNKJRiYP3rIX)^WAs`O;JK&PwmDJv{%IOD*SF zW?4j|r(5j4fbkhkkq)ia^&Y|ZpF90(?o5+EF3*<~w@#j!B$IlW(bT=(za zf2}r~)ER%@;{l4xbI)&7C2{fcKGnAuEiMo!9ULA`Rcv}t%k!=$XPH6ujq(}G-?Z69 zSK|A2i}F3T+gEMTHSBvvMv8^``&a4yh>nhZ9ZLp=i{u?nY_2fLtQy&Njd`WIX^nt@ z>8R-!x1g@ZroOKqLTPN9V0Kx^8;QES@4siN*X&C9ctf$n zRBNn6!eGp-vt~@6+yA2yM|^*Dvwqk3{Jrec9LxgDcReL+@;dW3M!!27Eu1_yn-d?x zTiSm&ZN$Eh*@I#FR~X1e#?irYVjJwUljgfecdx3MT4q}8XC8$IwKm+r{yxB~ z?Rv~ILX&Z-rCg1D!Z}+^QvisxQ^1@l#9=6xZn`>Fe*>!Bm&jTUs82p8C0+Im;=jgN zI1R{98=sD7Z!y?>ikeN|B67O! zN}%6>gT?8>hD;Z_^lPo2t3;KOUAf}vb+1qmmAy0?$d5`L?$t>E!8D=K_RDHkqB z$7@<|)EjD08Wt#G|I}CAsjB_tww*iA00pqArSOA=+IQ&Cqhirgv+O!<3rQ70-gn|P zn$rBcoeJCiVttlz7J0mSRe9;Ew*m+M%zQ(|Tmz@~BR?6pYTbzJ*_2_0xW^lWJk>r< zrzOm#sRq*Z#&60!v)%3P#Dr~QhegEmif)~ z>4>hen-9+BH0Nub6c9r3YS~{;htf95re97{auvX>T&W3?KjBiqvki8=kE)NeMU6kv zFh7?K(y0jO@r_CXC!a}e;|~djw#bC~uZ4vV389kaXiu2R`ooTq-gxqc?tWOid{yCc;xOBrD| z-X8rf>BxKTX}Q0C2gumH-6kO?@ljX3>s4FzlLzOM&mVRYb?`9cYu?|c{wUh#@1nKqUs=^WUA}y4%hc#@hcxq}Vn#JZNv3H`Ae`w{gEi;pPDafAwF1ch zj;s38jGE*JQu$v^@P*PGwO8ANek9o``HMk!&ptPPFwbi zQb7|o?FBo#$|I$LKi{gQCXG(0n5KRQMWU2oLI+&>wWembgoFh6aI(kk<~Qv-t)#vI zB~eMqS<(3!i{#uQP!r$>PK0SYm86zLQ&R%;L=0oo8_J@Tk_Pusic=<;O~(wsygclw zP?8^H;rnt2L(G#E-DAo%o(|6Ya&y@@=xTP_DC)=0nLnFTNRPR6$0UpONAx*nwf?&0 z8*FI4?u#0(>r)Ws8I<0<*{A=fiV3^lLO}-`U;m_{#eF~Sao2cWY66Oa7DKbh#_`GwsTAG6Z&RsOi=A(a= zJ(uz4j!=re1@1|uCOJ8|^rPlUu+7JCvOtlTC-o0wi#B&o7T1{s1;$uUCa{Fo=iSkU z6mv*(sk-y*QE(14XU?2~M&bh~S{EMzT0cxKC=bl*B;HZv#Q>Fxkl-Jo5 zzPfbj(w=zV3w?$4DcS+jirTiCQ%N=P_vK~uDr?WW6t0&YpZHO_Y54|q@7Fs{#Wdeu z(O)HUDdxf%6BgBc%MfJ&2_`P=1`k(PD&T49*m>~#O}~GH@}4<^=#2x&o9h97(y-#g zYuwNg!*X}XC}+Xa9hrT?sVZ2Q7a76tH1j!5?1rM6-Cb;yp(3IFvmdSq)YjG64dt?) zk(B&wEY_bk&B>!*q*ETDynN+K2nSzEUYs(mUQ z1yB!GuU-4CW;$fGRmBI@P#ktz0rNX3vy@3~8gqU0uV9CvGvr->aWu6M4uAFP)gk>N zS}9*nSpg4D4ub)(R?d$oCYRlLVRGSrr=|*AHc-I#LFl zNoA-e$MjIL2NcdN4KOaV7?7#w-YeNUjY-niEt3fJwCOQ|X zoBwoTdV0%_9XX)nr0~K8EPrprYQ@GACXr}?5OO}5HU#q;R}Tz)+fXwy+#XDbz z^q{mC<0*=5%R@ffi6&PhkM+3G?L<}m!YA9qnyVtTzFiV*OWZz1nMKhV7HlNYcqf+~BM0)9&VA63$EFkic8Kipd2k=7kUWLyw#wJ23~*As)Uqv&Qd zXINx`D3%Jx|Nc4xS~WTFR{n^*h5-O&ov5t-HpmtL#f@=@teC1|noZcr&U7 z-I(RcAW!H<8=G*f9j(aqvM^a7x7$=3!caNe+S=lUQE^`RtWnwyEn%eV*IFowRYqZo zQEHHc4k`>DSm4-hEKn)BS@Fg-JNV7^2-)=MfB_+y2z? zN&qO3l%M|k^`N^VN~LDq|2oOK;BhUsAX>ktpjAOO4sSEUCkN#K!*+En0L3j|`hGlv*T>S@Al`M&x?t+_n3^yAz}FrrM9M)M(A|A~|x&vXy3|T^Dg+vTYh1T|rXC%|hw9 zW^Vox+l_pJXi!&wFalLa8bgiDdbIas#QS(b%ikIH{i(ihZHd3bJ5l;^3X`DVE}S^S zZ$JD3Yt4mdy^Io*CY=cjAAd?hqNQ8))|)r`19H=BhG+56g`!n13TZRSUHjO^R;q*; znip%ORV)&G6p>YBe>fF0u8y8s(@(pkNgR@0j9NMO1J>+%vPiY(WF30?BbM$DIkP%% z>~CS?51k?)^mpVsD3b8c$aUku-#@!yKe?x5`r%^uJLJ#dC!=g1Z*!?QSshdpBIv)! znb#eEUyaIVg)0ZOgzjj{^xXxHGqdE+y_e3LLN3Vpb4-?j#Q$3PP3cc~-14~hze4L1 zy8ksKep+|Y8giRY6SeEQo!)I4cy=a3(EMrZn1zsr3(o4Z_?#gWlO*RMUF{wDzc(x` zJR4&HPfRi$grj>pw?SR`wh0KWUcEYy|Jp6&^+0!GqhXTJ6|91YOoVN+xo|+u`)URD zSbZo018*UGjHF2(pIq^8~VkFWOD zRldIQs)oiMHx&P!O605DVt8m@YerZyv9hAP--W>Hk*o6(Xv4CnauX}7h`1^~#OL=> zgVF7qlCp5WlUHXCj?X^)*b6}Az@>;)8K&v8r;*(WTF2QGpnpXk{*vzXq9OnhdB|~z zW=%`eXNK02Ume9E9WPwzU!r=l*>{>O`fZisth_Eg9sdtKw8FNJa6-?2)HvRqh9%)P z_{jw7!YA|#AeLknzfQ~B4rLK?6M1ro^odaXo)LWWm|c-m;ubU ziy+^#!Y+gQQvuEsAVM2Ht*v-UA%b4GRjcr#*Qz^?ZX=-K%a@x-mOtNJWQWPf4@kmO zWUR98o&tHx()cX!<(KSiDk7Y4s;8}cCAxYR#d~hmZ}NeYv>$a0d15%~j!yz}P*BR= zMpS(yHb3LDL3D!R>^x7q;VeGbS0K*o5^XLtk<3y0O$oGk8?rXVeK(&6FyBX`D()*+ zt|%de%4L&t;(gFx&N|p>%Ah+0*0EgpfF>ZMvYmUm9C~iik4Ey%+A=I_!#Em_S0Pd; zrxh0w8%qmx+oJo6`;!pBmx_~+{MIgTu#aFC&f>+Soi zj7$IUU3I)hl^PZfze`?3D95@0r+;*uwl=B#d>kr_q?}xQJSh;UsA>0L^PosZ)o?6I zEtPwlVVG-ldvQoHtOq;c`|x3rjahl&`LQK>h0jhQQt;HgCLz@4cJ8f{+g(Fr%+=uR z!o~t#>FRnA5~7}z4Is5@^=i#rZ{|-%Rhw@B9BkgWF$2X6f%Ms)3}m}PbUYuWCPE># z>)Ep#A!$C>`u_zAOdkyB!)DYUK>kQov!tOfPv0wl(deE#H*>*7@SK z)}VyT&UOVoRT8C6LT5xa(0~N!!AO;a_&)Z_pY|iTv~+|xuhhWZ!=+&Oa@kpEroe4+ zvZr+fs{|aUjzHa%iEa4x>xrMAUx77w%XZ@bsrV`PvGeo$p|**J+oaxcTy?Cc>Le7( z$ki8s-%zn_G$3-v=Bvj8(ECR#jsYKU^)O7U4xlU0WmGpnM4?^}ORr%pKB5rF@P&08h4w6)2u zAs!^GfMs|2!C0~bC8=||HV>(E)Ej$wc?Ckqbar;8ppd>B8_N^GYfO+5<&P$K$Z^W@ zKQzIzNEMnJc;Zdlw&}{=<7SlR+tyPN#XuCi{`7ek*e&Y@k04$i{s2jE0K}_`dWfjw zvt?A&jlI1OVTXi191hw5H7AULJBeXr4Gm`jI1uU^C~c6(*D;6&p18ZFskgWA-ll!4 z)~);Wq39jVBuI|0;T3W~rAZm-ZwRsOt=6?=-mWuDO^hT(MV;6L-Y5G;e-0zr5D!>) zH(>jcfu7i6Zs$1%!XUtMl!xR#fF)Iq)q@dgGc@{c0YH$<+}!(|s!3+U?XvJOeSs^? z=#o8`O1%5tlP*e%##X;en&QXD&d5Jy+23GtzJ$Sf#;b}GiJB>(Z}iY5R4>s=J*;Q& z$SK+kCMG5YK|;Pb6xGHpcnT=5u^XGjfIm=dm9<-8t51*jlQRW=gjwYaUi!V(Pcp1R z^V1FUKkH!4>5m29Z$w4vXMdY0*XTZ0fw4U$jg1;^qG*RyRmt;nlME$!wQVjwsOqlsgsX69hh_TIOuL5(i2oi^(Bf9Bbc&)O$}y5kE$$ zUX@~PX7(KB(j#!uNaE}O--5>Gk^|x(Tj-#{*JVDtU|>iMW1k4b*4DzW6|k$Mp2mCLM`kE4+~*PAU%mN8j`0wgYGD*c!}6{vzrthQM@Jf-8F7D--qI*do-;zZW%M$)a4_|kz40#@*LwqZgBksC? zc#K2-F-{i8Lgmkv|4(FwPwp+Y{BKHG!OtW9a1o1{FXLu};vsjn$+HXo77B|GTmFV# z-l=bCPZrERL>Sf|$$Nr_6>j`vNhk{s*0u10I&LxQb??<9+Q4X=w?nzqoG@XPf z`cKjQKUSLj>`#G%a^}baqWHU5D^V!!{lf@Rhb*25J7Yb?@act&4wNpu$*u!GrtvU!e3S7KToG?0rFCsK(UsdTp3lK=JJMZC*{;&ZXua6~&eB%hhq0Ms3f50}miTJ>^h7fs$$o zao#RjvV>?(0FcBRdgA2CszeJ`goI^aN>(givEo{D=4#X#elL_RR(Vlfnow_=>7UdT zzVMQFo5Q;w@yG3{d&RUw=6V%(cUHaS`z2le;*P$62fg6aFxcO1vpoEcje1+X`Mo>G zLUqbwu-I*Uh`V(O&r4(G`1Eq`djg&oV?opry9QRZIf@upJCr3;^NDq7#Twhk-Id)< z!%C%R`961YC*7od-xdeaflUv#naPifs0PwjPM&5raVop(`he!MiZ6@Zzu2bNPKYnE zzzz#2#lp(!HT>R-9whjq&`}Y<`^T76&MRcylVQZGvW4yj3{2X*0g<4Cav^AcP<_~Z z|B@=Gi1yN7dmYkQA6Kw?X64Tm`x4t@Tz5tDuhsi{#&|T#m`+qUXWP5!4Yt{^-+Orf zb+N*%vD8OKfw$-GGCF)5wRt8p8EhRJ-}GCfx%Yj}r6w(2ZjX0G7bRIe8xAcT zOh_(!ezH(YI97w|V3_IN^!HoTsZH*k6l~e)BP5pj-SC>tXcE)3xz-N$J$o_)`9RI` zK(gTYzL}n$`bJb#RG|~FQFk<|L4g1LN*^1IYlyhm*#JZMq8(_%t4SWQ%yd7oey2l) zNnFo$t_AQ0C5usKOvc9hw3*!ZNGi&c7t?RQWplNxXA?!wafWl0{ixP-dC1kDF@vfP z)aZ5S=6yb;e7w4$L*Me1Uhb_K%OTV5xjV16a-Iqgd2X91RGO@5Fy#~z5ShJ?V#}#R z!x|nJYNyM<%aE*NT$A*S;o!T8AG5bZ40iu^ruiUgE+w~4JLr!q%L%Tmp6??etyNml zwSzyl{s+MZeZSPD-|lzQUn!M_8;?p?Fi&`maj1W0RB)sfHM@g%xr@*AYF$T1zx4M5 z+bWa0eFLeLnN-#KiYQkep7~hS@aDv(qO{VRC%4?TOII|0U^_Sb`eLm3@hgF}RSrEN z4eng0zh4_EzS`w`5dQU+&b$=0xX$TZPOUB8eM3(q)fRkSx<{*^do7bxa0DFtc*%Zd zW=2v{vJpi=g0V&CPv$w|=Q4PAIsuLzddZIBK>g0_d^XkitCjK0mkWgI@y7SZeL)hauF z{b+gbV@}mw0H8S0I(5E}9%X=TzFP8p$sZqCRahbNuz-2%y*OEv2cQXi>Qif~^&r%M z^i{6W5&ys<1Yi~~`uZ2J7Ch7g01U5lhk!S9jmP_qiJ4)_2!2MG#?f@dQ#alX(#54^ zx0q9ktOF2U81x>LQS7BY@o-853HYb+-KeEwW841jVpQIn!F_Kor5+Fo>6RO>S5=-G zj4>KFj@~i9`l~lzLC@Two8Q+A^enA$?oX?<4=(veBQU0TWH+_ytI|LQw*G*SMxk{l z{Uv8-mae<1M$g5kUq3fik-RmvHKnIkn{{|zukQ0T5-H6ZGnVYJIzI&8B)?4`EkgT? zldcO5SO~Ci(EYAU=0mBAz8QK7DwnCT-u!{4Z<9cD#ElN4Jky~=B}szsLB)JBu6c?E z7h>4A?yEhM?lcRJrmBmg)^U2jSW*%a*E8rL)Ig;7rv*hRX>Z}}t#=rfMO@L3EiNs! zUh$Q2<{(W9KW_vd(j1?A*>mAzBs$=2F-rr6!&sDWbY{(}wm zc_9@h_3_5G7ic>ewb?pa3>@-lm_mSqVpuSBz4D_bg>;~BT>f+qD`yVmy>i`-4CFoH8->?A zsBoNE^#6Cn?YzHPI%o-(bvw0G<90wBMnt3Lmri-{;sxnE0_SuVq&B%e+M#0T5^B|Y zr{egnhCUUhi8+bM4&HdVvv1$W(?`*HG$TF3$=Q5 zNRp|OMC$#wD&dK5w}jdsto$+&=i2}EV(x4hig+cCr$=glJZ_Y&8Atn4qU|6fN>HPk z_=hO^sz%VXl7$YM``9dSM2&V=Y}vR`qcp3gCIC-<+4mclYSLpona+XoEArNJy%0;m zL2T96?~n;Gj8;+t1COo!>ilb|3vbTeM0Z);-Tg1{r{z>sv5+^r)8JTTkqgX$n4t{a z3gu}$%MkzsqMA|&p9|)a+kVVw&nWd{&_M*iILyzE19uFdEcSuVxz8SHCp>Y(EuH$| zWz!#>ix6rX6_wo76IT}x|J`ZBYwRs+C=)0waHDYpJ1 zol^x0DWla}<6UP9ylzWOHVl7zdm)Z-{k*f)Q%SjiUoDzRzu0qQ_a=Ydig<&J&X2KD8OL`kW!Wds ziae);2rGK-b3Ps2Hm|53l)gDXI{js2O|JA?o7CBTjO`vzm~!blWyf<0^mGzM-ABQj z`G`3?fswrLCauaMpq=G@q!)dL-_hn1++GWPW9dhnV-)d(h@p`9fio`ZI92=PGyBDN zItn+h_a$~jICG-c5!Lhy^o7(SP{E0Sx^w-j`rVBUI}JLD;+dO)&cJc-TlXkETem|4 zHWnGbLwjAL+P^5ImY;O^vIlG{Jj!|Du__+$J*}+1p=(x* z;^IMH@Ui0jys&lGj=(_LodX3Mo12?$U!B>=bII|l!mVw&XSj~Y(mB-~dFfv`=d{)) z)-ro1{6H5D>V-+ndT-6?kU{9EkrOZJ4yCKTH?M!{SI$K$NxA5cpPV=Lae5eu&>x>4 zkM}V*{OM8a8pAu@9%Av3y}~C5Jl0_p@K}XOY=_C-goYi$wr0<)qf&+*#GN;nhOa!r znR@l=7bq6_1zxM22X#k?7H%t{&Vq^lUGuZk<2*1Y6PXXn*6mK617D^Zr-$y+i5DV!3`#zZ4qmtgY=E48LyO{x&$Mm!8VZ z!lJFvCTp-=sKs1R*vm3;Jl*lTAm?F!>R9K`+G2xe*w(2;hiI~o>Hl^tK9yBJn0jjH z-4%wcAs~EsK7>a~P9n0o0#I49(~#7LzvK-_w(p88jJlHe716_=&y*f9iC;kA99%Ux z0TZo0@_kaZAmhT}K|a=X_5$qTq#GAh4Y99BDElPc5!k!8$-1rtBsZGWls{@L0duH@ zD3~Bp{Oi}zLdT6LQ^9w-b6{2H;boxhPZ_2rJuNQ9#0`%G-qHBwcDb$@N&yYj3}{02 zgVd6`vpgz&4kf}Ht5sd_2(^Lf(L=sI@>khCq;F+b)&}f^r5eLKZo*#mTnw$5>~JC0Vs$gM92r3eHQ)P#!x4f4>wRWbH*k z`J`(KImM6vn$|NV^wSa>4QcLzE(zZ65!j_c7{QwQ`-_o1ZP9fbJ7TeA6I#m9gyPe2 zKykvGb*VTHUn zUdhqW@wb9blX|@WIEp;wxWBdm4z#1!l?jdAl&x&%@1Rf^L|2spwjeR`2=%9Em&#)o z6UPrBiJ>l|*=-dS71gB(r7y(2b}4cfd|2EN7ObtE9k8B5Tr6&<6#D!1L97C3c+4d- z$aB>-p6xT;=F*$ryHPx*(0ilwOtUD!SDlaDlY}%XC*fI)bxh z(QbdRc)j+5hVhzOOLz2bN7hqTSJL7jZvJ3FaddeUlgvR))HR%wTGD2M-}G3f^O#G-9|vgojl zSZI_ue9K4drg`UykR zH4I}66twj{Lp2OsX>8ox)g=X)WdetI3GuxEL-HCw*nUuoc*Bg%y%)CJl0AF&P|%!I z7bfHHZITSCX0S6nB<5PnX(FM3Nm#$@$eu-K7{$TS(YOdcnK=5j8#ZLaM+{_HZS3Ro z=M4x%kIW#c!-%@zbPKBy<>#-Q>OjvZnsxT0r4s-u48_D-$GMKvcelGS7pBeUNd`om zC7mYXlmTcJRXxl?^KED~gHVh{qEAIFlcslB7#Y7_?nNEC5B@Q|D1$X)IPDO zrqFM-Is@S!t=udin@LGcnvmf)qz2n>$nd{q`!PJBp!sN}ehiQ@ZU4nSf7mE-BNFqq zp5eY7LGl}Oza3at<6E=$o=yPs-lr4a9nm8dzh!W@n(_?&J&!awwvaU> ztjaD>XqhF8FK{`FLf6w@7VBjeDa+POM{9Sf#oyPqNNCq7{tpM;{TTceKmXZJ153ys z>ssO84Mdy#{`ldF(NF^l`|y!Jg6F@@Yb37xGyGlr+t{}J*(Yt^KS5HLv;~a|xP4!m z@vxiETwt?T57AexS20%Uo%!q!!gqdrQtiG+S}=P@{f5UqwH+VSA< z+b^Oo7c?bW<%AQy+3vw1>0Ena-SLpN8u)|{*-bn2T zba>y>v$%IaoV%x7-wt{zX|04nH9#EL@cF_O_^77o{wuWmwbCE=#u&UdzvEV9u(cmlmSA8^ zpBG#eB{+!m&NJ7@=naU&1b;yJK=Cn9sqIPrg-C+rPzvz&VV#_fdA?l5yG>KRpe81+ zKG0>ORbQfBAOmauXEs(IOvT7m7_}R zAWl=Atdu{-E{ZK?TkMAejZ6YSWvcu0)fvqHP=J>g#~aCr>A-;ld?#t52Ww2zqv5oJ zD{K;-r7!}s0-J^-5Mhdo>q7)9l7IgiO-X-5p>U?KYzVGqvmYaqXoWUngZy8FW~JU`Co&<8QkB>8$Lc;K!8E04@Pdg zhM^{CD$0eH|Kzu1@Z-mi$q*hg1qiBp3jlcrtSpZoZv}2Ac4QPUWX=(Q^)T#BY(Kn& zC7#fEB{Lx(2Jo5w1pNgQJ3;0Kcwx`1ahN_*FS*xx3T^vne;KMaj3PULz+;%x4I&3J zGcy|@B`OSV%9XaH()FS>>t-P)auPkjHG*_S0dJRGEo9OS*S75 z`YU1L%B5x19Xo@~uxZPdlNdm;em8F>YzE*Smz1R1+n}eGjHG}=oG_al>SKwdUm@jwsLspzEroP4@}GS{9Q3!)>Oe!R9nQ znwtQqkZ{P`!BnJyfq_QkGLjQf_7CF3e>80nMI-kIiBponVLB2_ROGnh@GQtNaN^Y4 zwyejo|BX$HjEArjA~rX18@Y809i1$sAyS8#xE}P*LbM|zNysKap~VD}D-?0UvbXvP z+KA4V~q}}zA-(S#B z4)8)oE&1fWqH>lBwuA$dbooM7jo@2h^z+qf7&cl_1GRcd&^KYG(@Ut$8DdZNc%{hk zGR^4T0Vq)9TaLyqobo|#%fHT7bb>8N zEIBwSaA_?w!)b(${vE&@7A$d2^_!CIkV12BKuP?OVn>?5$=D}#hrty@QzwTJZh=_)d=}A&yL&&>cucF8Q2y`4Gnw9R~_yj zi5B`8@*_?9AgHPJ>Qn46#B2!-jc;w*axaUec*>~gAF1hXGx5M-C{57$Qf|v+G1UdOehm*4?l!4D{zB< z0d6S79}7T3=D@M*3R4NF`A?!PvaL>7_*Pz`)FI;S7wl zC((#jiZB-MlRy=ch#g?kh)MuZ9&*Qx-Zfj%HHU-O)1> zd&U+l2pM^TKX2WC_C{l4;}wq!OpXZ$_@GVepRQsm{T zKvwf~)TZ7`;6{u-V~Z@c^3_~>GB|WpN^c<~_pM~pLYrv}3n%#mi!fNZHM@C@KGy%T z2Yo*S=>t3C%k|)Uo37r9$(eUU8%TbBcf2t%WWk6A2f8krP6$#c@H>1v#A)ix`wvXT z)8nmEpgT$T4)RwqY2ZZr&rVQQVzVP#AQBX}NuDx)3fS5RzvBzUNytqBNP2bgy}&_N zF-{C#VWbLpeNV&G-goX5W7TlO9ewOnBBQ{~5{*Fvj!(Zo0z}`C0#`7x3=#Q6*3x8L z=op!U1WWsVIKj}0b32WesW`E&V?6!jWw43FUrn(2A}?V4lA+IU za^jF)>jyPmr_3LvFoKXrYuq7-_+-1hu$U8>R3iV9S!n1Osuj{&hB_EVRjoQPxM1{( z0(0Rf%fWOC&eQw7uMss0;Dppi04GE6S+!eBGTJ?GiEh2Qg`VD{%7}OoG01L!6sPv% zCiw2G&(~TeV4K2pk+?zu^q!To`n$CZ9f| z(prVVdyQBcJ>Y6GyD@P`VvZON2vL#{3iiPtL4Za=gHr(fMx+;R&(WqcXiUd;M4sOX zst@^l0_bp5`6(6ngTpCkEdWAAVUwAi-GU)#Qc@3O1HfD!h93`y8T*qoK@%WA&Wt*> zcQ~4%(Evumaz5S#A&fD_Yb6YRB(su;OVSoxb4}<9!1y9L>hMVo5Q2% z4JdjI0Uf;~Cot4TDOzjAwgVS5Ko+CpXbt3J%&gL&OWJ0)5uTnMm!WSWiu0SMO|qb` z5P+4$Q=l$Hy3TmwX~86sb0i}nN?}~XCnr6eAouWaRsdwG=NKu7=U;-W5<4;sexx_= zcSE`u(k(jwZ-)O;(y~QtCl(p zq_i{xohRhwVJCVEIua}c-W;Za9y!iXERmq>t3p^(pz%m{|0sEvJNF0mDT zONyhdK!XjsQ5vz_7%PY?Ga&l6K-31t=&sY2#Y+^jx%79wg_I5rH%9dSO!>PEU@J1~ zt^}hPA={9tV0fhR7ax!=+x33q_#P0_+OJ<6+=d+$in}V`9a(3N+L_EN!>~wHB&%@k zqSyOR^%c}x)IbfuP%=zChz7EM#%EeY#o&-(Q7q!?_TxdTv6OY@A+nueyM?P2e%RZH z6z4I12Zf!fu?6}mL}vz05?&qUh8>0$-gNGJA8OwzsbYTIquo;jwb1p<`}gR`%G^V{hWP!>WDpuDAOYj&rn=PSulE$zT`&cL-T?fNjHO$`h2($F?fKq(RtxiI33O`TZ0*ny9{> zx_P;^s)8kcfu;9>!V&`njhZU$0IP@-!J%ci`eXacB-kCO1|ef^I?3I==PE?|Zd34+xp7 z$0VFzah~-+0{R4TPcV`dk;zgf8~q+Vy5Z)QpGq7tz~`v0gZF~fL$ty$L0L#dqZ82B zNdBcnrH<`FyTT64e$s*BI0Nwxbpw0C37SMxl$GN_4bJmH$hbVPinGW*(@{MWhmlf< zgGgRtBx#^p;Vq6&`XzVYqjg(?_ZV6wV&T)oG{Qohy=*+>%`*E_b{NZp!W}V@7~tN9 z2gisOUb*ifnYF*lYg!7+hshDEgM)*~@F7W6&be|G)5G{i*lS$DQ8`YHG~u@dr<7a7 zHA@Y7tDKp}i!4AkA-Ef3UO5o+W`{7pW{J1B_F&r~AQ>MD!6SRQ%eXXmEjn|}B z67b%b#q24Yf(xqoSBX9`k|xupKl{46@&G`|#s_Qt5|GoV_OlnTTQp4jq$wL>DVg@i zhQb7y0L>Q5brVf-9PXo<+OmCn7EiJ8H~3g?ItSlhF@S>qJWxmNI)%&+q%@FymI+G1 z$a~EB|7+~rgQBjZD83a&G}O-O1ep1l#7!F^McOn#Eiu6dsnDD;UzN!wm8z~ZZ`FYfAsGH`}qC7d+)jD zo^yz#*|TvxiiohnkQd}OjT_K*@~w1^o-Fd^yLm~|p{liXPw655tR>R(M#WcoDNz{J z%KNN~w+d6i)=)hE8} zPjsFRVpfuwpF;Be%O3JWN2K#u4Xb4WJlDiq33%hJ#5LTR9cy!i8euBAZVW{<%@Dh{ zW3IbbL?F3}=J5vzZ>D9o_AUyHL5;e5cohW>5|6$B_`x0KN}lZ`wc1u(IfQvc$DSpr zZG-1~xRAyjjPX;bYA=G)%wTYcnLhyy+qijD#Wj>!LmPPRc6ax|$$g(`4#XatsM>ul z7@Og9o3?BbXExqenb;v+jN=!VzdbO(481&m=~%KxNSI|?C{T=^!_MF+oB-R-#{657 z?Az6qPTz$Oo8s+VZ+n=Kd>VOC4rLScUIjw}%Q6FFmjbi>OY`xM^LgOvu97_zGLh_h+%0!{Dk z8i2Y~G4E2xWM_jycLouwf=m_iOHA-HdH)1sr&m@c?Dy=flsZEd5PLhq2@gl{Z;YYr zD@57K%0&_f#1C@`oR#Bi7|mENE>{T^WpnP4n3LlHnY##fp_Lb8gQl-eQSE!Y51b=| z4H)ScMtEs1?3POmW5$iM91Gr~J->CP3^_33&>?lE?OcX|?$$jx5v1QrFQ&~$ExQ-! z`JEXrQ4a&{S)6;n*-cPV*+4`cxo46WoXuy_aiY99t1TL;?S;!0i)FOCyS_P`SM?%9 z<_Oy}EiHUHcDkc={geh>Vfd-TyK86R>wqv*!2VH}*i#B*F@EbjYSd{c)3|kHQ_QCNlwbj_+6?csk0{n= z!VqNkv*u=HMIBPcAz9`!guq~ae!Hd!$*;&2#IH$7XC8u7haTJs3#CA$!4YmZg$Qt2 zo~ICj2F#peqnvpObL;Etah&79UN0l3UmIMdObmiY)J;u;hR$ji|FGN-Dc>P4)INw^!reXFF zIn;2_%2a6k3gesM#aCGdY@@9g4I@i5ls3>DB@PdDOas(#uC0uwnGxYqewpkb*kGzp z!UK4#6YbGN|7x+lvEnFEhn1#J4q)z-+;w`jI~k<~X&i&a&E7o17Gfm~yh7L#e*~_2cnpNCsgcwcSY0BHCzde|I{qERoNu)#)rjO6W zi9knEx7oeuDalZ|d$AD7RuXI50?wDrymKh-&`Kfs#iisbLL|&&9%j$kK;n2cz&a!U z5H2bR1xE2XK!#Z)L&En)FWVvc%JfIV*afBtz6JFOoqp5Qb@J-S!jzhTBX~xXlh}_^ zrGzIJ&W-^p56+Ak;!1_75cIKYyk9oM_6i0y8TJq|##&hq}* zphHR~p4X&k$bOnx^cm^&BBY|NsF*5z4NW3Q(S2Wti8mLR5KEEy6l13pHH|TXkBP!Y zxEV;66@>oEW`(lbR6;?VC~@*!bOik!91<)BMZdO}7^;M#0~Guidg5iCQP0)Ony&K+ z?N6z>u-@ERomeKmnhD1pu8;rSX`lAb6aL$xN1UCr_pj~fJvEm94xtEM7!p|g{wH7m E1sS;(M*si- literal 0 HcmV?d00001 diff --git a/Fake News Detection/Model/PridictionModel.ipynb b/Fake News Detection/Model/PridictionModel.ipynb new file mode 100644 index 000000000..6b37ebbe1 --- /dev/null +++ b/Fake News Detection/Model/PridictionModel.ipynb @@ -0,0 +1,2513 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:29.636394Z", + "iopub.status.busy": "2021-05-25T06:50:29.636041Z", + "iopub.status.idle": "2021-05-25T06:50:29.643277Z", + "shell.execute_reply": "2021-05-25T06:50:29.642127Z", + "shell.execute_reply.started": "2021-05-25T06:50:29.636365Z" + } + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import sklearn\n", + "import itertools\n", + "import numpy as np\n", + "import seaborn as sb\n", + "import re\n", + "import nltk\n", + "import pickle\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.feature_extraction.text import TfidfVectorizer\n", + "from sklearn.metrics import accuracy_score\n", + "from sklearn.metrics import confusion_matrix\n", + "from matplotlib import pyplot as plt\n", + "from sklearn.linear_model import PassiveAggressiveClassifier,LogisticRegression\n", + "from nltk.stem import WordNetLemmatizer\n", + "from nltk.corpus import stopwords" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:29.656569Z", + "iopub.status.busy": "2021-05-25T06:50:29.656203Z", + "iopub.status.idle": "2021-05-25T06:50:32.048864Z", + "shell.execute_reply": "2021-05-25T06:50:32.047882Z", + "shell.execute_reply.started": "2021-05-25T06:50:29.65654Z" + } + }, + "outputs": [], + "source": [ + "train_df = pd.read_csv('train.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.05136Z", + "iopub.status.busy": "2021-05-25T06:50:32.051032Z", + "iopub.status.idle": "2021-05-25T06:50:32.089516Z", + "shell.execute_reply": "2021-05-25T06:50:32.088399Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.051329Z" + } + }, + "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", + "
idtitleauthortextlabel
00House Dem Aide: We Didn’t Even See Comey’s Let...Darrell LucusHouse Dem Aide: We Didn’t Even See Comey’s Let...1
11FLYNN: Hillary Clinton, Big Woman on Campus - ...Daniel J. FlynnEver get the feeling your life circles the rou...0
22Why the Truth Might Get You FiredConsortiumnews.comWhy the Truth Might Get You Fired October 29, ...1
3315 Civilians Killed In Single US Airstrike Hav...Jessica PurkissVideos 15 Civilians Killed In Single US Airstr...1
44Iranian woman jailed for fictional unpublished...Howard PortnoyPrint \\nAn Iranian woman has been sentenced to...1
55Jackie Mason: Hollywood Would Love Trump if He...Daniel NussbaumIn these trying times, Jackie Mason is the Voi...0
66Life: Life Of Luxury: Elton John’s 6 Favorite ...NaNEver wonder how Britain’s most iconic pop pian...1
77Benoît Hamon Wins French Socialist Party’s Pre...Alissa J. RubinPARIS — France chose an idealistic, traditi...0
88Excerpts From a Draft Script for Donald Trump’...NaNDonald J. Trump is scheduled to make a highly ...0
99A Back-Channel Plan for Ukraine and Russia, Co...Megan Twohey and Scott ShaneA week before Michael T. Flynn resigned as nat...0
1010Obama’s Organizing for Action Partners with So...Aaron KleinOrganizing for Action, the activist group that...0
1111BBC Comedy Sketch \"Real Housewives of ISIS\" Ca...Chris TomlinsonThe BBC produced spoof on the “Real Housewives...0
1212Russian Researchers Discover Secret Nazi Milit...Amando FlavioThe mystery surrounding The Third Reich and Na...1
1313US Officials See No Link Between Trump and RussiaJason DitzClinton Campaign Demands FBI Affirm Trump's Ru...1
1414Re: Yes, There Are Paid Government Trolls On S...AnotherAnnieYes, There Are Paid Government Trolls On Socia...1
\n", + "
" + ], + "text/plain": [ + " id title \\\n", + "0 0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 1 FLYNN: Hillary Clinton, Big Woman on Campus - ... \n", + "2 2 Why the Truth Might Get You Fired \n", + "3 3 15 Civilians Killed In Single US Airstrike Hav... \n", + "4 4 Iranian woman jailed for fictional unpublished... \n", + "5 5 Jackie Mason: Hollywood Would Love Trump if He... \n", + "6 6 Life: Life Of Luxury: Elton John’s 6 Favorite ... \n", + "7 7 Benoît Hamon Wins French Socialist Party’s Pre... \n", + "8 8 Excerpts From a Draft Script for Donald Trump’... \n", + "9 9 A Back-Channel Plan for Ukraine and Russia, Co... \n", + "10 10 Obama’s Organizing for Action Partners with So... \n", + "11 11 BBC Comedy Sketch \"Real Housewives of ISIS\" Ca... \n", + "12 12 Russian Researchers Discover Secret Nazi Milit... \n", + "13 13 US Officials See No Link Between Trump and Russia \n", + "14 14 Re: Yes, There Are Paid Government Trolls On S... \n", + "\n", + " author \\\n", + "0 Darrell Lucus \n", + "1 Daniel J. Flynn \n", + "2 Consortiumnews.com \n", + "3 Jessica Purkiss \n", + "4 Howard Portnoy \n", + "5 Daniel Nussbaum \n", + "6 NaN \n", + "7 Alissa J. Rubin \n", + "8 NaN \n", + "9 Megan Twohey and Scott Shane \n", + "10 Aaron Klein \n", + "11 Chris Tomlinson \n", + "12 Amando Flavio \n", + "13 Jason Ditz \n", + "14 AnotherAnnie \n", + "\n", + " text label \n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... 1 \n", + "1 Ever get the feeling your life circles the rou... 0 \n", + "2 Why the Truth Might Get You Fired October 29, ... 1 \n", + "3 Videos 15 Civilians Killed In Single US Airstr... 1 \n", + "4 Print \\nAn Iranian woman has been sentenced to... 1 \n", + "5 In these trying times, Jackie Mason is the Voi... 0 \n", + "6 Ever wonder how Britain’s most iconic pop pian... 1 \n", + "7 PARIS — France chose an idealistic, traditi... 0 \n", + "8 Donald J. Trump is scheduled to make a highly ... 0 \n", + "9 A week before Michael T. Flynn resigned as nat... 0 \n", + "10 Organizing for Action, the activist group that... 0 \n", + "11 The BBC produced spoof on the “Real Housewives... 0 \n", + "12 The mystery surrounding The Third Reich and Na... 1 \n", + "13 Clinton Campaign Demands FBI Affirm Trump's Ru... 1 \n", + "14 Yes, There Are Paid Government Trolls On Socia... 1 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head(15)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.10674Z", + "iopub.status.busy": "2021-05-25T06:50:32.106434Z", + "iopub.status.idle": "2021-05-25T06:50:32.120541Z", + "shell.execute_reply": "2021-05-25T06:50:32.119386Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.106712Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(20800, 5)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.124489Z", + "iopub.status.busy": "2021-05-25T06:50:32.12414Z", + "iopub.status.idle": "2021-05-25T06:50:32.140229Z", + "shell.execute_reply": "2021-05-25T06:50:32.139288Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.124461Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 20800 entries, 0 to 20799\n", + "Data columns (total 5 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 id 20800 non-null int64 \n", + " 1 title 20242 non-null object\n", + " 2 author 18843 non-null object\n", + " 3 text 20761 non-null object\n", + " 4 label 20800 non-null int64 \n", + "dtypes: int64(2), object(3)\n", + "memory usage: 812.6+ KB\n" + ] + } + ], + "source": [ + "train_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([10413, 10387], dtype=int64)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# def create_distribution(dataFile):\n", + "# return sb.countplot(x='label', data=dataFile, palette='hls')\n", + "\n", + "# #by calling below we can see that training, test and valid data seems to be failry evenly distributed between the classes\n", + "# create_distribution(train_df)\n", + "train_df['label'].value_counts().values" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGdCAYAAAAbudkLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAosElEQVR4nO3df1SWdZ7/8ReCIiBcisp9x4gj05DR4mRRB8GZoKOiJuKOU7bhsnbW1MaSJTXT41ZWR0gbf0yxmlkr5o/RdndsO/1gxNVD4/oLKSqVbJ0YxeIWt/BGjEDx+v7h1+vsLUqaNyIfn49z7nO8r/t9X/f18ZxLnl7cNwTYtm0LAADAQJ3a+wAAAADaCqEDAACMRegAAABjEToAAMBYhA4AADAWoQMAAIxF6AAAAGMROgAAwFhB7X0A7ens2bP6+uuvFR4eroCAgPY+HAAAcBls29bJkycVHR2tTp1av2ZzQ4fO119/rZiYmPY+DAAA8CNUVVWpT58+rc7c0KETHh4u6dxfVERERDsfDQAAuBx1dXWKiYlxvo635oYOnfPfroqIiCB0AADoYC7nbSe8GRkAABiL0AEAAMYidHBd+vDDDzV69GhFR0crICBAb7/9ts/jtm1r3rx5io6OVkhIiNLS0rR///6L7su2bY0cOfKi+5k/f75SUlIUGhqq7t27t3juN998oxEjRig6OlrBwcGKiYnR448/rrq6Oj+tFLix+eNcnzJlim6++WaFhISod+/eGjNmjD7//HOfmS+++EJjxoxRr169FBERocGDB2vbtm3O44WFhQoICLjoraamps3Wj7ZH6OC6dOrUKd1+++0qKCi46OMLFy7U4sWLVVBQoNLSUrndbg0bNkwnT55sMbt06dJLfh+3qalJDzzwgH77299e9PFOnTppzJgxeuedd/TFF1+osLBQW7Zs0aOPPvrjFwfA4Y9zPTExUatWrVJFRYX+9Kc/ybZtpaenq7m52ZkZNWqUzpw5o61bt6qsrEwDBw5URkaGPB6PJOnBBx9UdXW1z2348OFKTU1VVFRU2/4loG3ZNzCv12tLsr1eb3sfClohyd60aZNz/+zZs7bb7bZffPFFZ9v3339vW5Zlv/rqqz7PLS8vt/v06WNXV1e32M//tWrVKtuyrMs6nt///vd2nz59rnQZAH7A1Zzr/9cnn3xiS7IPHTpk27ZtHz9+3JZkf/jhh85MXV2dLcnesmXLRfdRU1Njd+7c2X7zzTevclVoC1fy9ZsrOuhwKisr5fF4lJ6e7mwLDg5WamqqduzY4Wz77rvv9NBDD6mgoEBut9svr/3111/rj3/8o1JTU/2yPwCXdrnn+v916tQprVq1SrGxsc7PSevZs6fi4+P15ptv6tSpUzpz5oxWrFghl8ulxMTEi+7nzTffVGhoqO6//37/LwzXFKGDDuf8pWaXy+Wz3eVyOY9J0hNPPKGUlBSNGTPmql/zoYceUmhoqH7yk58oIiJCr7/++lXvE0DrLvdcl6Rly5apW7du6tatm4qKilRcXKwuXbpIOvcR5OLiYn388ccKDw9X165dtWTJEhUVFV30vXmS9K//+q/KyspSSEiI/xeGa4rQQYd14ftubNt2tr3zzjvaunWrli5d6pfXWrJkiT766CO9/fbb+stf/qLp06f7Zb8Aflhr5/p548eP18cff6ySkhLFxcVp3Lhx+v777535qVOnKioqSn/+85+1Z88ejRkzRhkZGaqurm7xejt37tSBAwc0ceLEtlsUrhlCBx3O+W9DXfg/upqaGud/flu3btVf/vIXde/eXUFBQQoKOvezMX/zm98oLS3tR73mrbfeqjFjxmjFihVavnz5Rf+BBOA/l3Oun2dZluLi4nTPPffo3//93/X5559r06ZNks79e/Duu+9qw4YNGjx4sO68804tW7ZMISEhWr16dYvXff311zVw4MBLflsLHQuhgw4nNjZWbrdbxcXFzrampiaVlJQoJSVFkjR79mx9+umnKi8vd27SuSszq1atuqrXt21bktTY2HhV+wHQuss51y/Ftm3nHP3uu+8kqcUvf+zUqZPOnj3rs62+vl5vvfUWV3MMckP/Cghcv+rr63Xo0CHnfmVlpcrLyxUZGam+ffsqNzdXeXl5iouLU1xcnPLy8hQaGqqsrCxJ5/4neLE3IPft21exsbHO/SNHjujbb7/VkSNH1Nzc7ATRz3/+c3Xr1k3vv/++jh07prvvvlvdunXTgQMHNGvWLA0ePFj9+vVr078D4EZwtef6l19+qY0bNyo9PV29e/fWV199pQULFigkJET33XefJCk5OVk9evTQhAkT9MwzzygkJEQrV65UZWWlRo0a5XM8Gzdu1JkzZzR+/Phr95eAttW2HwC7vvHx8uvXtm3bbEktbhMm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mj59unP/7Nmz+vbbb9WzZ89LPgdmqKurU0xMjKqqqhQREdHehwOgDXCe3zhs29bJkycVHR39g7MdNnR69eqlwMDAFldvampqWlzlOS84OFjBwcE+27p3795Wh4jrUEREBP8AAobjPL8x/NCVnPM67JuRu3TposTERBUXF/tsLy4uVkpKSjsdFQAAuJ502Cs6kjR9+nRlZ2frrrvuUnJysl577TUdOXJEjz76aHsfGgAAuA506NB58MEH9c033+j5559XdXW1EhIS9P777+unP/1pex8arjPBwcF69tlnW3zrEoA5OM9xMQH25Xw2CwAAoAPqsO/RAQAA+CGEDgAAMBahAwAAjEXoAAA6vMLCQn4uGi6K0EGHEhAQ0Ort4Ycfbu9DBHAVHn744Yue24cOHWrvQ0MH1aE/Xo4bT3V1tfPnjRs36plnntHBgwedbSEhIT7zp0+fVufOna/Z8QG4eiNGjNCqVat8tvXu3budjgYdHVd00KG43W7nZlmWAgICnPvff/+9unfvrrfeektpaWnq2rWr1q5dq3nz5mngwIE++1m6dKn69evns23VqlWKj49X165ddeutt2rZsmXXbmEAHMHBwT7nutvt1u9//3sNGDBAYWFhiomJ0dSpU1VfX3/JfXzyySe69957FR4eroiICCUmJmrv3r3O4zt27NA999yjkJAQxcTEKCcnR6dOnboWy8M1RujAOE899ZRycnJUUVGh4cOHX9ZzVq5cqblz52r+/PmqqKhQXl6enn76aa1evbqNjxbA5ejUqZNefvll7du3T6tXr9bWrVs1a9asS86PHz9effr0UWlpqcrKyjR79mzn6u5nn32m4cOHa+zYsfr000+1ceNGbd++XY8//vi1Wg6uIb51BePk5uZq7NixV/ScF154QYsWLXKeFxsbqwMHDmjFihWaMGFCWxwmgEt499131a1bN+f+yJEj9W//9m/O/djYWL3wwgv67W9/e8krr0eOHNGTTz6pW2+9VZIUFxfnPPbSSy8pKytLubm5zmMvv/yyUlNTtXz5cnXt2rUNVoX2QujAOHfdddcVzR8/flxVVVWaOHGiJk2a5Gw/c+bMZf92XAD+c++992r58uXO/bCwMG3btk15eXk6cOCA6urqdObMGX3//fc6deqUwsLCWuxj+vTpeuSRR7RmzRoNHTpUDzzwgG6++WZJUllZmQ4dOqR169Y587Zt6+zZs6qsrFR8fHzbLxLXDKED41z4j16nTp104W86OX36tPPns2fPSjr37aukpCSfucDAwDY6SgCXEhYWpp///OfO/cOHD+u+++7To48+qhdeeEGRkZHavn27Jk6c6HMu/1/z5s1TVlaW3nvvPX3wwQd69tlntWHDBv3617/W2bNnNWXKFOXk5LR4Xt++fdtsXWgfhA6M17t3b3k8Htm2rYCAAElSeXm587jL5dJPfvITffnllxo/fnw7HSWAS9m7d6/OnDmjRYsWqVOnc28tfeutt37webfccotuueUWPfHEE3rooYe0atUq/frXv9add96p/fv3+8QUzEXowHhpaWk6fvy4Fi5cqPvvv19FRUX64IMPFBER4czMmzdPOTk5ioiI0MiRI9XY2Ki9e/eqtrZW06dPb8ejB3DzzTfrzJkzeuWVVzR69Gj993//t1599dVLzjc0NOjJJ5/U/fffr9jYWB09elSlpaX6zW9+I+ncBxYGDRqkxx57TJMmTVJYWJgqKipUXFysV1555VotC9cIn7qC8eLj47Vs2TL9y7/8i26//Xbt2bNHM2fO9Jl55JFH9Prrr6uwsFADBgxQamqqCgsLFRsb205HDeC8gQMHavHixVqwYIESEhK0bt065efnX3I+MDBQ33zzjf7hH/5Bt9xyi8aNG6eRI0fqueeekyT94he/UElJif7nf/5Hv/rVr3THHXfo6aef1k033XStloRrKMC+8M0LAAAAhuCKDgAAMBahAwAAjEXoAAAAYxE6AADAWIQOAAAwFqEDAACMRegAAABjEToAAMBYhA4AADAWoQMAAIxF6AAAAGMROgAAwFj/D+m7vKbLMKEfAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bars= plt.bar(['True','False'],train_df['label'].value_counts().values)\n", + "for bar in bars:\n", + " yval = bar.get_height()\n", + " plt.text(bar.get_x() + bar.get_width() / 2, yval, round(yval, 2), ha='center', va='bottom')\n", + "\n", + "plt.show()\n", + "#Hence data has nearly equal cases of True and False News." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.306146Z", + "iopub.status.busy": "2021-05-25T06:50:32.305826Z", + "iopub.status.idle": "2021-05-25T06:50:32.335357Z", + "shell.execute_reply": "2021-05-25T06:50:32.33417Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.306118Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1mCOLUMN\u001b[0m \u001b[1mNULL VALUES COUNT\u001b[0m\n", + "id 0\n", + "title 558\n", + "author 1957\n", + "text 39\n", + "label 0\n" + ] + } + ], + "source": [ + "def data_qualityCheck():\n", + " print(\"{:{}}\".format(\"\\033[1mCOLUMN\\033[0m\",38),end='')\n", + " print(\"{:{}}\".format(\"\\033[1mNULL VALUES COUNT\\033[0m\",18))\n", + " for x in train_df.columns:\n", + " print(\"{:{}}\".format(x,34),end='')\n", + " print(train_df[x].isnull().sum())\n", + "\n", + " \n", + "data_qualityCheck()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.337061Z", + "iopub.status.busy": "2021-05-25T06:50:32.336735Z", + "iopub.status.idle": "2021-05-25T06:50:32.367948Z", + "shell.execute_reply": "2021-05-25T06:50:32.366933Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.33703Z" + } + }, + "outputs": [], + "source": [ + "train_df=train_df.drop([\"id\", \"author\"], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.401314Z", + "iopub.status.busy": "2021-05-25T06:50:32.400868Z", + "iopub.status.idle": "2021-05-25T06:50:32.407806Z", + "shell.execute_reply": "2021-05-25T06:50:32.406589Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.401272Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(20800, 3)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.409912Z", + "iopub.status.busy": "2021-05-25T06:50:32.409162Z", + "iopub.status.idle": "2021-05-25T06:50:32.426843Z", + "shell.execute_reply": "2021-05-25T06:50:32.425727Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.409868Z" + } + }, + "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", + "
titletextlabel
0House Dem Aide: We Didn’t Even See Comey’s Let...House Dem Aide: We Didn’t Even See Comey’s Let...1
1FLYNN: Hillary Clinton, Big Woman on Campus - ...Ever get the feeling your life circles the rou...0
2Why the Truth Might Get You FiredWhy the Truth Might Get You Fired October 29, ...1
315 Civilians Killed In Single US Airstrike Hav...Videos 15 Civilians Killed In Single US Airstr...1
4Iranian woman jailed for fictional unpublished...Print \\nAn Iranian woman has been sentenced to...1
\n", + "
" + ], + "text/plain": [ + " title \\\n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 FLYNN: Hillary Clinton, Big Woman on Campus - ... \n", + "2 Why the Truth Might Get You Fired \n", + "3 15 Civilians Killed In Single US Airstrike Hav... \n", + "4 Iranian woman jailed for fictional unpublished... \n", + "\n", + " text label \n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... 1 \n", + "1 Ever get the feeling your life circles the rou... 0 \n", + "2 Why the Truth Might Get You Fired October 29, ... 1 \n", + "3 Videos 15 Civilians Killed In Single US Airstr... 1 \n", + "4 Print \\nAn Iranian woman has been sentenced to... 1 " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.457112Z", + "iopub.status.busy": "2021-05-25T06:50:32.45653Z", + "iopub.status.idle": "2021-05-25T06:50:32.46346Z", + "shell.execute_reply": "2021-05-25T06:50:32.461467Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.457067Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 0\n", + "2 1\n", + "3 1\n", + "4 1\n", + " ..\n", + "20795 0\n", + "20796 0\n", + "20797 0\n", + "20798 1\n", + "20799 1\n", + "Name: label, Length: 20800, dtype: int64" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_train = train_df['label']\n", + "label_train" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.46513Z", + "iopub.status.busy": "2021-05-25T06:50:32.46484Z", + "iopub.status.idle": "2021-05-25T06:50:32.479833Z", + "shell.execute_reply": "2021-05-25T06:50:32.478601Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.465102Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 0\n", + "2 1\n", + "3 1\n", + "4 1\n", + "5 0\n", + "6 1\n", + "7 0\n", + "8 0\n", + "9 0\n", + "Name: label, dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_train.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.481757Z", + "iopub.status.busy": "2021-05-25T06:50:32.481439Z", + "iopub.status.idle": "2021-05-25T06:50:32.493571Z", + "shell.execute_reply": "2021-05-25T06:50:32.492736Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.481728Z" + } + }, + "outputs": [], + "source": [ + "train_df = train_df.drop(\"label\", axis = 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.495566Z", + "iopub.status.busy": "2021-05-25T06:50:32.495116Z", + "iopub.status.idle": "2021-05-25T06:50:32.513957Z", + "shell.execute_reply": "2021-05-25T06:50:32.51265Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.495526Z" + } + }, + "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", + "
titletext
0House Dem Aide: We Didn’t Even See Comey’s Let...House Dem Aide: We Didn’t Even See Comey’s Let...
1FLYNN: Hillary Clinton, Big Woman on Campus - ...Ever get the feeling your life circles the rou...
2Why the Truth Might Get You FiredWhy the Truth Might Get You Fired October 29, ...
315 Civilians Killed In Single US Airstrike Hav...Videos 15 Civilians Killed In Single US Airstr...
4Iranian woman jailed for fictional unpublished...Print \\nAn Iranian woman has been sentenced to...
5Jackie Mason: Hollywood Would Love Trump if He...In these trying times, Jackie Mason is the Voi...
6Life: Life Of Luxury: Elton John’s 6 Favorite ...Ever wonder how Britain’s most iconic pop pian...
7Benoît Hamon Wins French Socialist Party’s Pre...PARIS — France chose an idealistic, traditi...
8Excerpts From a Draft Script for Donald Trump’...Donald J. Trump is scheduled to make a highly ...
9A Back-Channel Plan for Ukraine and Russia, Co...A week before Michael T. Flynn resigned as nat...
\n", + "
" + ], + "text/plain": [ + " title \\\n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 FLYNN: Hillary Clinton, Big Woman on Campus - ... \n", + "2 Why the Truth Might Get You Fired \n", + "3 15 Civilians Killed In Single US Airstrike Hav... \n", + "4 Iranian woman jailed for fictional unpublished... \n", + "5 Jackie Mason: Hollywood Would Love Trump if He... \n", + "6 Life: Life Of Luxury: Elton John’s 6 Favorite ... \n", + "7 Benoît Hamon Wins French Socialist Party’s Pre... \n", + "8 Excerpts From a Draft Script for Donald Trump’... \n", + "9 A Back-Channel Plan for Ukraine and Russia, Co... \n", + "\n", + " text \n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 Ever get the feeling your life circles the rou... \n", + "2 Why the Truth Might Get You Fired October 29, ... \n", + "3 Videos 15 Civilians Killed In Single US Airstr... \n", + "4 Print \\nAn Iranian woman has been sentenced to... \n", + "5 In these trying times, Jackie Mason is the Voi... \n", + "6 Ever wonder how Britain’s most iconic pop pian... \n", + "7 PARIS — France chose an idealistic, traditi... \n", + "8 Donald J. Trump is scheduled to make a highly ... \n", + "9 A week before Michael T. Flynn resigned as nat... " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "def fill_data(data):\n", + " data[\"title\"] = data[\"title\"].fillna(\"Has No Title\")\n", + " data[\"text\"] = data[\"text\"].fillna(\"Has No text\")\n", + " return data\n", + "\n", + "train_df= fill_data(train_df)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1mCOLUMN\u001b[0m \u001b[1mNULL VALUES COUNT\u001b[0m\n", + "title 0\n", + "text 0\n" + ] + } + ], + "source": [ + "data_qualityCheck()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "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", + "
titletext
0House Dem Aide: We Didn’t Even See Comey’s Let...House Dem Aide: We Didn’t Even See Comey’s Let...
1FLYNN: Hillary Clinton, Big Woman on Campus - ...Ever get the feeling your life circles the rou...
2Why the Truth Might Get You FiredWhy the Truth Might Get You Fired October 29, ...
315 Civilians Killed In Single US Airstrike Hav...Videos 15 Civilians Killed In Single US Airstr...
4Iranian woman jailed for fictional unpublished...Print \\nAn Iranian woman has been sentenced to...
5Jackie Mason: Hollywood Would Love Trump if He...In these trying times, Jackie Mason is the Voi...
6Life: Life Of Luxury: Elton John’s 6 Favorite ...Ever wonder how Britain’s most iconic pop pian...
7Benoît Hamon Wins French Socialist Party’s Pre...PARIS — France chose an idealistic, traditi...
8Excerpts From a Draft Script for Donald Trump’...Donald J. Trump is scheduled to make a highly ...
9A Back-Channel Plan for Ukraine and Russia, Co...A week before Michael T. Flynn resigned as nat...
10Obama’s Organizing for Action Partners with So...Organizing for Action, the activist group that...
11BBC Comedy Sketch \"Real Housewives of ISIS\" Ca...The BBC produced spoof on the “Real Housewives...
12Russian Researchers Discover Secret Nazi Milit...The mystery surrounding The Third Reich and Na...
13US Officials See No Link Between Trump and RussiaClinton Campaign Demands FBI Affirm Trump's Ru...
14Re: Yes, There Are Paid Government Trolls On S...Yes, There Are Paid Government Trolls On Socia...
15In Major League Soccer, Argentines Find a Home...Guillermo Barros Schelotto was not the first A...
16Wells Fargo Chief Abruptly Steps Down - The Ne...The scandal engulfing Wells Fargo toppled its ...
17Anonymous Donor Pays $2.5 Million To Release E...A Caddo Nation tribal leader has just been fre...
18FBI Closes In On Hillary!FBI Closes In On Hillary! Posted on Home » Hea...
19Chuck Todd: ’BuzzFeed Did Donald Trump a Polit...Wednesday after Donald Trump’s press confere...
\n", + "
" + ], + "text/plain": [ + " title \\\n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 FLYNN: Hillary Clinton, Big Woman on Campus - ... \n", + "2 Why the Truth Might Get You Fired \n", + "3 15 Civilians Killed In Single US Airstrike Hav... \n", + "4 Iranian woman jailed for fictional unpublished... \n", + "5 Jackie Mason: Hollywood Would Love Trump if He... \n", + "6 Life: Life Of Luxury: Elton John’s 6 Favorite ... \n", + "7 Benoît Hamon Wins French Socialist Party’s Pre... \n", + "8 Excerpts From a Draft Script for Donald Trump’... \n", + "9 A Back-Channel Plan for Ukraine and Russia, Co... \n", + "10 Obama’s Organizing for Action Partners with So... \n", + "11 BBC Comedy Sketch \"Real Housewives of ISIS\" Ca... \n", + "12 Russian Researchers Discover Secret Nazi Milit... \n", + "13 US Officials See No Link Between Trump and Russia \n", + "14 Re: Yes, There Are Paid Government Trolls On S... \n", + "15 In Major League Soccer, Argentines Find a Home... \n", + "16 Wells Fargo Chief Abruptly Steps Down - The Ne... \n", + "17 Anonymous Donor Pays $2.5 Million To Release E... \n", + "18 FBI Closes In On Hillary! \n", + "19 Chuck Todd: ’BuzzFeed Did Donald Trump a Polit... \n", + "\n", + " text \n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 Ever get the feeling your life circles the rou... \n", + "2 Why the Truth Might Get You Fired October 29, ... \n", + "3 Videos 15 Civilians Killed In Single US Airstr... \n", + "4 Print \\nAn Iranian woman has been sentenced to... \n", + "5 In these trying times, Jackie Mason is the Voi... \n", + "6 Ever wonder how Britain’s most iconic pop pian... \n", + "7 PARIS — France chose an idealistic, traditi... \n", + "8 Donald J. Trump is scheduled to make a highly ... \n", + "9 A week before Michael T. Flynn resigned as nat... \n", + "10 Organizing for Action, the activist group that... \n", + "11 The BBC produced spoof on the “Real Housewives... \n", + "12 The mystery surrounding The Third Reich and Na... \n", + "13 Clinton Campaign Demands FBI Affirm Trump's Ru... \n", + "14 Yes, There Are Paid Government Trolls On Socia... \n", + "15 Guillermo Barros Schelotto was not the first A... \n", + "16 The scandal engulfing Wells Fargo toppled its ... \n", + "17 A Caddo Nation tribal leader has just been fre... \n", + "18 FBI Closes In On Hillary! Posted on Home » Hea... \n", + "19 Wednesday after Donald Trump’s press confere... " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "train_df[\"new_text\"] = train_df[\"title\"] + \" \" + train_df[\"text\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "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", + "
titletextnew_text
0House Dem Aide: We Didn’t Even See Comey’s Let...House Dem Aide: We Didn’t Even See Comey’s Let...House Dem Aide: We Didn’t Even See Comey’s Let...
1FLYNN: Hillary Clinton, Big Woman on Campus - ...Ever get the feeling your life circles the rou...FLYNN: Hillary Clinton, Big Woman on Campus - ...
2Why the Truth Might Get You FiredWhy the Truth Might Get You Fired October 29, ...Why the Truth Might Get You Fired Why the Trut...
315 Civilians Killed In Single US Airstrike Hav...Videos 15 Civilians Killed In Single US Airstr...15 Civilians Killed In Single US Airstrike Hav...
4Iranian woman jailed for fictional unpublished...Print \\nAn Iranian woman has been sentenced to...Iranian woman jailed for fictional unpublished...
5Jackie Mason: Hollywood Would Love Trump if He...In these trying times, Jackie Mason is the Voi...Jackie Mason: Hollywood Would Love Trump if He...
6Life: Life Of Luxury: Elton John’s 6 Favorite ...Ever wonder how Britain’s most iconic pop pian...Life: Life Of Luxury: Elton John’s 6 Favorite ...
7Benoît Hamon Wins French Socialist Party’s Pre...PARIS — France chose an idealistic, traditi...Benoît Hamon Wins French Socialist Party’s Pre...
8Excerpts From a Draft Script for Donald Trump’...Donald J. Trump is scheduled to make a highly ...Excerpts From a Draft Script for Donald Trump’...
9A Back-Channel Plan for Ukraine and Russia, Co...A week before Michael T. Flynn resigned as nat...A Back-Channel Plan for Ukraine and Russia, Co...
10Obama’s Organizing for Action Partners with So...Organizing for Action, the activist group that...Obama’s Organizing for Action Partners with So...
11BBC Comedy Sketch \"Real Housewives of ISIS\" Ca...The BBC produced spoof on the “Real Housewives...BBC Comedy Sketch \"Real Housewives of ISIS\" Ca...
12Russian Researchers Discover Secret Nazi Milit...The mystery surrounding The Third Reich and Na...Russian Researchers Discover Secret Nazi Milit...
13US Officials See No Link Between Trump and RussiaClinton Campaign Demands FBI Affirm Trump's Ru...US Officials See No Link Between Trump and Rus...
14Re: Yes, There Are Paid Government Trolls On S...Yes, There Are Paid Government Trolls On Socia...Re: Yes, There Are Paid Government Trolls On S...
15In Major League Soccer, Argentines Find a Home...Guillermo Barros Schelotto was not the first A...In Major League Soccer, Argentines Find a Home...
16Wells Fargo Chief Abruptly Steps Down - The Ne...The scandal engulfing Wells Fargo toppled its ...Wells Fargo Chief Abruptly Steps Down - The Ne...
17Anonymous Donor Pays $2.5 Million To Release E...A Caddo Nation tribal leader has just been fre...Anonymous Donor Pays $2.5 Million To Release E...
18FBI Closes In On Hillary!FBI Closes In On Hillary! Posted on Home » Hea...FBI Closes In On Hillary! FBI Closes In On Hil...
19Chuck Todd: ’BuzzFeed Did Donald Trump a Polit...Wednesday after Donald Trump’s press confere...Chuck Todd: ’BuzzFeed Did Donald Trump a Polit...
\n", + "
" + ], + "text/plain": [ + " title \\\n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 FLYNN: Hillary Clinton, Big Woman on Campus - ... \n", + "2 Why the Truth Might Get You Fired \n", + "3 15 Civilians Killed In Single US Airstrike Hav... \n", + "4 Iranian woman jailed for fictional unpublished... \n", + "5 Jackie Mason: Hollywood Would Love Trump if He... \n", + "6 Life: Life Of Luxury: Elton John’s 6 Favorite ... \n", + "7 Benoît Hamon Wins French Socialist Party’s Pre... \n", + "8 Excerpts From a Draft Script for Donald Trump’... \n", + "9 A Back-Channel Plan for Ukraine and Russia, Co... \n", + "10 Obama’s Organizing for Action Partners with So... \n", + "11 BBC Comedy Sketch \"Real Housewives of ISIS\" Ca... \n", + "12 Russian Researchers Discover Secret Nazi Milit... \n", + "13 US Officials See No Link Between Trump and Russia \n", + "14 Re: Yes, There Are Paid Government Trolls On S... \n", + "15 In Major League Soccer, Argentines Find a Home... \n", + "16 Wells Fargo Chief Abruptly Steps Down - The Ne... \n", + "17 Anonymous Donor Pays $2.5 Million To Release E... \n", + "18 FBI Closes In On Hillary! \n", + "19 Chuck Todd: ’BuzzFeed Did Donald Trump a Polit... \n", + "\n", + " text \\\n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 Ever get the feeling your life circles the rou... \n", + "2 Why the Truth Might Get You Fired October 29, ... \n", + "3 Videos 15 Civilians Killed In Single US Airstr... \n", + "4 Print \\nAn Iranian woman has been sentenced to... \n", + "5 In these trying times, Jackie Mason is the Voi... \n", + "6 Ever wonder how Britain’s most iconic pop pian... \n", + "7 PARIS — France chose an idealistic, traditi... \n", + "8 Donald J. Trump is scheduled to make a highly ... \n", + "9 A week before Michael T. Flynn resigned as nat... \n", + "10 Organizing for Action, the activist group that... \n", + "11 The BBC produced spoof on the “Real Housewives... \n", + "12 The mystery surrounding The Third Reich and Na... \n", + "13 Clinton Campaign Demands FBI Affirm Trump's Ru... \n", + "14 Yes, There Are Paid Government Trolls On Socia... \n", + "15 Guillermo Barros Schelotto was not the first A... \n", + "16 The scandal engulfing Wells Fargo toppled its ... \n", + "17 A Caddo Nation tribal leader has just been fre... \n", + "18 FBI Closes In On Hillary! Posted on Home » Hea... \n", + "19 Wednesday after Donald Trump’s press confere... \n", + "\n", + " new_text \n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let... \n", + "1 FLYNN: Hillary Clinton, Big Woman on Campus - ... \n", + "2 Why the Truth Might Get You Fired Why the Trut... \n", + "3 15 Civilians Killed In Single US Airstrike Hav... \n", + "4 Iranian woman jailed for fictional unpublished... \n", + "5 Jackie Mason: Hollywood Would Love Trump if He... \n", + "6 Life: Life Of Luxury: Elton John’s 6 Favorite ... \n", + "7 Benoît Hamon Wins French Socialist Party’s Pre... \n", + "8 Excerpts From a Draft Script for Donald Trump’... \n", + "9 A Back-Channel Plan for Ukraine and Russia, Co... \n", + "10 Obama’s Organizing for Action Partners with So... \n", + "11 BBC Comedy Sketch \"Real Housewives of ISIS\" Ca... \n", + "12 Russian Researchers Discover Secret Nazi Milit... \n", + "13 US Officials See No Link Between Trump and Rus... \n", + "14 Re: Yes, There Are Paid Government Trolls On S... \n", + "15 In Major League Soccer, Argentines Find a Home... \n", + "16 Wells Fargo Chief Abruptly Steps Down - The Ne... \n", + "17 Anonymous Donor Pays $2.5 Million To Release E... \n", + "18 FBI Closes In On Hillary! FBI Closes In On Hil... \n", + "19 Chuck Todd: ’BuzzFeed Did Donald Trump a Polit... " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "train_df=train_df.drop(['title','text'],axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "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", + "
new_text
0House Dem Aide: We Didn’t Even See Comey’s Let...
1FLYNN: Hillary Clinton, Big Woman on Campus - ...
2Why the Truth Might Get You Fired Why the Trut...
315 Civilians Killed In Single US Airstrike Hav...
4Iranian woman jailed for fictional unpublished...
\n", + "
" + ], + "text/plain": [ + " new_text\n", + "0 House Dem Aide: We Didn’t Even See Comey’s Let...\n", + "1 FLYNN: Hillary Clinton, Big Woman on Campus - ...\n", + "2 Why the Truth Might Get You Fired Why the Trut...\n", + "3 15 Civilians Killed In Single US Airstrike Hav...\n", + "4 Iranian woman jailed for fictional unpublished..." + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "custom_download_dir = \"C:\\\\Users\\\\ysach/nltk\"\n", + "nltk.data.path.append(custom_download_dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package stopwords to C:\\Users\\ysach/nltk...\n", + "[nltk_data] Package stopwords is already up-to-date!\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nltk.download('stopwords',download_dir=custom_download_dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.51602Z", + "iopub.status.busy": "2021-05-25T06:50:32.515411Z", + "iopub.status.idle": "2021-05-25T06:50:32.531829Z", + "shell.execute_reply": "2021-05-25T06:50:32.530895Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.515972Z" + } + }, + "outputs": [], + "source": [ + "lemmatizer = WordNetLemmatizer()\n", + "stpwrds = list(stopwords.words('english'))" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['i',\n", + " 'me',\n", + " 'my',\n", + " 'myself',\n", + " 'we',\n", + " 'our',\n", + " 'ours',\n", + " 'ourselves',\n", + " 'you',\n", + " \"you're\",\n", + " \"you've\",\n", + " \"you'll\",\n", + " \"you'd\",\n", + " 'your',\n", + " 'yours',\n", + " 'yourself',\n", + " 'yourselves',\n", + " 'he',\n", + " 'him',\n", + " 'his',\n", + " 'himself',\n", + " 'she',\n", + " \"she's\",\n", + " 'her',\n", + " 'hers',\n", + " 'herself',\n", + " 'it',\n", + " \"it's\",\n", + " 'its',\n", + " 'itself',\n", + " 'they',\n", + " 'them',\n", + " 'their',\n", + " 'theirs',\n", + " 'themselves',\n", + " 'what',\n", + " 'which',\n", + " 'who',\n", + " 'whom',\n", + " 'this',\n", + " 'that',\n", + " \"that'll\",\n", + " 'these',\n", + " 'those',\n", + " 'am',\n", + " 'is',\n", + " 'are',\n", + " 'was',\n", + " 'were',\n", + " 'be',\n", + " 'been',\n", + " 'being',\n", + " 'have',\n", + " 'has',\n", + " 'had',\n", + " 'having',\n", + " 'do',\n", + " 'does',\n", + " 'did',\n", + " 'doing',\n", + " 'a',\n", + " 'an',\n", + " 'the',\n", + " 'and',\n", + " 'but',\n", + " 'if',\n", + " 'or',\n", + " 'because',\n", + " 'as',\n", + " 'until',\n", + " 'while',\n", + " 'of',\n", + " 'at',\n", + " 'by',\n", + " 'for',\n", + " 'with',\n", + " 'about',\n", + " 'against',\n", + " 'between',\n", + " 'into',\n", + " 'through',\n", + " 'during',\n", + " 'before',\n", + " 'after',\n", + " 'above',\n", + " 'below',\n", + " 'to',\n", + " 'from',\n", + " 'up',\n", + " 'down',\n", + " 'in',\n", + " 'out',\n", + " 'on',\n", + " 'off',\n", + " 'over',\n", + " 'under',\n", + " 'again',\n", + " 'further',\n", + " 'then',\n", + " 'once',\n", + " 'here',\n", + " 'there',\n", + " 'when',\n", + " 'where',\n", + " 'why',\n", + " 'how',\n", + " 'all',\n", + " 'any',\n", + " 'both',\n", + " 'each',\n", + " 'few',\n", + " 'more',\n", + " 'most',\n", + " 'other',\n", + " 'some',\n", + " 'such',\n", + " 'no',\n", + " 'nor',\n", + " 'not',\n", + " 'only',\n", + " 'own',\n", + " 'same',\n", + " 'so',\n", + " 'than',\n", + " 'too',\n", + " 'very',\n", + " 's',\n", + " 't',\n", + " 'can',\n", + " 'will',\n", + " 'just',\n", + " 'don',\n", + " \"don't\",\n", + " 'should',\n", + " \"should've\",\n", + " 'now',\n", + " 'd',\n", + " 'll',\n", + " 'm',\n", + " 'o',\n", + " 're',\n", + " 've',\n", + " 'y',\n", + " 'ain',\n", + " 'aren',\n", + " \"aren't\",\n", + " 'couldn',\n", + " \"couldn't\",\n", + " 'didn',\n", + " \"didn't\",\n", + " 'doesn',\n", + " \"doesn't\",\n", + " 'hadn',\n", + " \"hadn't\",\n", + " 'hasn',\n", + " \"hasn't\",\n", + " 'haven',\n", + " \"haven't\",\n", + " 'isn',\n", + " \"isn't\",\n", + " 'ma',\n", + " 'mightn',\n", + " \"mightn't\",\n", + " 'mustn',\n", + " \"mustn't\",\n", + " 'needn',\n", + " \"needn't\",\n", + " 'shan',\n", + " \"shan't\",\n", + " 'shouldn',\n", + " \"shouldn't\",\n", + " 'wasn',\n", + " \"wasn't\",\n", + " 'weren',\n", + " \"weren't\",\n", + " 'won',\n", + " \"won't\",\n", + " 'wouldn',\n", + " \"wouldn't\"]" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "stpwrds" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package punkt to C:\\Users\\ysach/nltk...\n", + "[nltk_data] Package punkt is already up-to-date!\n", + "[nltk_data] Downloading package wordnet to C:\\Users\\ysach/nltk...\n", + "[nltk_data] Package wordnet is already up-to-date!\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nltk.download('punkt',download_dir=custom_download_dir)\n", + "nltk.download('wordnet',download_dir=custom_download_dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package omw-1.4 to C:\\Users\\ysach/nltk...\n", + "[nltk_data] Package omw-1.4 is already up-to-date!\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nltk.download('omw-1.4',download_dir=custom_download_dir)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T06:50:32.54905Z", + "iopub.status.busy": "2021-05-25T06:50:32.548517Z", + "iopub.status.idle": "2021-05-25T06:53:51.648153Z", + "shell.execute_reply": "2021-05-25T06:53:51.647283Z", + "shell.execute_reply.started": "2021-05-25T06:50:32.549015Z" + } + }, + "outputs": [], + "source": [ + "for x in range(len(train_df)) :\n", + " corpus = []\n", + " review = train_df['new_text'][x]\n", + " review = re.sub(r'[^a-zA-Z\\s]', '', review)\n", + " review = review.lower()\n", + " review = nltk.word_tokenize(review)\n", + " for y in review :\n", + " if y not in stpwrds :\n", + " corpus.append(lemmatizer.lemmatize(y))\n", + " review = ' '.join(corpus)\n", + " train_df['new_text'][x] = review" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:14:51.798724Z", + "iopub.status.busy": "2021-05-25T07:14:51.798361Z", + "iopub.status.idle": "2021-05-25T07:14:51.805617Z", + "shell.execute_reply": "2021-05-25T07:14:51.804946Z", + "shell.execute_reply.started": "2021-05-25T07:14:51.798694Z" + }, + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'actor steven seagal live tv erupts hillary obama intense comment actor steven seagal stood america rest hollywood remains silent week rough country first democratic nominee hillary clinton collapsed memorial called million hardworking american deplorable werent enough nfl player throughout country blatantly disrespecting american flag needle say seagal enough think important job secretary state ensuring people dont get killed seagal tweeted cant email protected pneumonia going disastrous american people notohillary continued course seagal quickly became target liberal fire comment refused break particularly lost one twitter user tried argued hillary capable presidency capable capable leaving american die capable disregarding law capable disrespecting rape survivor argued went address race relation united state true role president barack obama played social evolution country obama abysmal race relation usa truth need start honest dialog wrote seagal concluded pointing irony attack receiving liberal everywhere best thing worldmaking one statement freedom getting attacked every demo hypocritical tweeted america without democrat white house safer america think seagals comment'" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df['new_text'][2188]" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_train[2188]" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:16:37.152728Z", + "iopub.status.busy": "2021-05-25T07:16:37.152216Z", + "iopub.status.idle": "2021-05-25T07:16:37.163059Z", + "shell.execute_reply": "2021-05-25T07:16:37.161884Z", + "shell.execute_reply.started": "2021-05-25T07:16:37.152696Z" + } + }, + "outputs": [], + "source": [ + "X_train= train_df['new_text']" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 house dem aide didnt even see comeys letter ja...\n", + "1 flynn hillary clinton big woman campus breitba...\n", + "2 truth might get fired truth might get fired oc...\n", + "3 civilian killed single u airstrike identified ...\n", + "4 iranian woman jailed fictional unpublished sto...\n", + " ... \n", + "20795 rapper ti trump poster child white supremacy r...\n", + "20796 nfl playoff schedule matchup odds new york tim...\n", + "20797 macys said receive takeover approach hudson ba...\n", + "20798 nato russia hold parallel exercise balkan nato...\n", + "20799 keep f alive david swanson author activist jou...\n", + "Name: new_text, Length: 20800, dtype: object" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_train" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:17:50.592597Z", + "iopub.status.busy": "2021-05-25T07:17:50.592095Z", + "iopub.status.idle": "2021-05-25T07:17:50.598862Z", + "shell.execute_reply": "2021-05-25T07:17:50.597641Z", + "shell.execute_reply.started": "2021-05-25T07:17:50.592566Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(20800,)" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:18:05.89317Z", + "iopub.status.busy": "2021-05-25T07:18:05.892651Z", + "iopub.status.idle": "2021-05-25T07:18:05.902743Z", + "shell.execute_reply": "2021-05-25T07:18:05.901523Z", + "shell.execute_reply.started": "2021-05-25T07:18:05.893127Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(20800,)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From c:\\Users\\ysach\\anaconda3\\lib\\site-packages\\keras\\src\\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead.\n", + "\n" + ] + } + ], + "source": [ + "from keras.preprocessing.text import Tokenizer\n", + "from keras.preprocessing.sequence import pad_sequences" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The Padding Sequance Shape is --> (20800, 12140)\n" + ] + } + ], + "source": [ + "tokenize = Tokenizer(oov_token=\"\")\n", + "tokenize.fit_on_texts(X_train)\n", + "word_idx = tokenize.word_index\n", + "\n", + "text2seq = tokenize.texts_to_sequences(X_train)\n", + "\n", + "# pad_seq = pad_sequences(text2seq, maxlen=150, padding=\"pre\", truncating=\"pre\")\n", + "\n", + "pad_seq = pad_sequences(text2seq, padding=\"pre\", truncating=\"pre\")\n", + "\n", + "\n", + "print(\"The Padding Sequance Shape is --> \", pad_seq.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "input_length = max(len(seq) for seq in text2seq)\n", + "\n", + "vocabulary_size = len(word_idx) + 1" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The maximum Sequance Length is --> 12140\n", + "The vocabulary size of dataset is --> 166055\n" + ] + } + ], + "source": [ + "print(\"The maximum Sequance Length is --> \", input_length)\n", + "print(\"The vocabulary size of dataset is --> \", vocabulary_size)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.feature_extraction.text import TfidfVectorizer\n", + "from sklearn.feature_extraction.text import CountVectorizer\n", + "vectorizer = CountVectorizer(\n", + " ngram_range=(1,1),\n", + " max_features=250\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:18:10.901469Z", + "iopub.status.busy": "2021-05-25T07:18:10.901136Z", + "iopub.status.idle": "2021-05-25T07:18:22.003384Z", + "shell.execute_reply": "2021-05-25T07:18:22.002314Z", + "shell.execute_reply.started": "2021-05-25T07:18:10.90144Z" + } + }, + "outputs": [], + "source": [ + "#tfidf_v = TfidfVectorizer()\n", + "#tfidf_X_train = vectorizer.fit_transform(X_train)\n", + "#tfidf_X_test = vectorizer.transform(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:18:24.321674Z", + "iopub.status.busy": "2021-05-25T07:18:24.321329Z", + "iopub.status.idle": "2021-05-25T07:18:24.327063Z", + "shell.execute_reply": "2021-05-25T07:18:24.325975Z", + "shell.execute_reply.started": "2021-05-25T07:18:24.321644Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(7168, 250)" + ] + }, + "execution_count": 119, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#tfidf_X_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:18:31.418929Z", + "iopub.status.busy": "2021-05-25T07:18:31.418573Z", + "iopub.status.idle": "2021-05-25T07:18:31.427535Z", + "shell.execute_reply": "2021-05-25T07:18:31.426865Z", + "shell.execute_reply.started": "2021-05-25T07:18:31.418889Z" + } + }, + "outputs": [], + "source": [ + "def plot_confusion_matrix(cm, classes,\n", + " normalize=False,\n", + " title='Confusion matrix',\n", + " cmap=plt.cm.GnBu):\n", + " \n", + " plt.imshow(cm, interpolation='nearest', cmap=cmap)\n", + " plt.title(title)\n", + " plt.colorbar()\n", + " tick_marks = np.arange(len(classes))\n", + " plt.xticks(tick_marks, classes, rotation=45)\n", + " plt.yticks(tick_marks, classes)\n", + "\n", + " if normalize:\n", + " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", + " print(\"Normalized confusion matrix\")\n", + " else:\n", + " print('Confusion matrix, without normalization')\n", + "\n", + " thresh = cm.max() / 2.\n", + " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", + " plt.text(j, i, cm[i, j],\n", + " horizontalalignment=\"center\",\n", + " color=\"white\" if cm[i, j] > thresh else \"black\")\n", + "\n", + " plt.tight_layout()\n", + " plt.ylabel('True label')\n", + " plt.xlabel('Predicted label')" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: tensorflow in c:\\users\\ysach\\anaconda3\\lib\\site-packages (2.15.0)\n", + "Requirement already satisfied: tensorflow-intel==2.15.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow) (2.15.0)\n", + "Requirement already satisfied: opt-einsum>=2.3.2 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (3.3.0)\n", + "Requirement already satisfied: six>=1.12.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (1.16.0)\n", + "Requirement already satisfied: tensorflow-io-gcs-filesystem>=0.23.1 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (0.31.0)\n", + "Requirement already satisfied: setuptools in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (65.6.3)\n", + "Requirement already satisfied: keras<2.16,>=2.15.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (2.15.0)\n", + "Requirement already satisfied: wrapt<1.15,>=1.11.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (1.14.1)\n", + "Requirement already satisfied: gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (0.5.4)\n", + "Requirement already satisfied: libclang>=13.0.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (16.0.6)\n", + "Requirement already satisfied: packaging in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (22.0)\n", + "Requirement already satisfied: grpcio<2.0,>=1.24.3 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (1.60.0)\n", + "Requirement already satisfied: astunparse>=1.6.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (1.6.3)\n", + "Requirement already satisfied: typing-extensions>=3.6.6 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (4.4.0)\n", + "Requirement already satisfied: tensorflow-estimator<2.16,>=2.15.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (2.15.0)\n", + "Requirement already satisfied: google-pasta>=0.1.1 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (0.2.0)\n", + "Requirement already satisfied: absl-py>=1.0.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (2.0.0)\n", + "Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (4.23.4)\n", + "Requirement already satisfied: flatbuffers>=23.5.26 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (23.5.26)\n", + "Requirement already satisfied: ml-dtypes~=0.2.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (0.2.0)\n", + "Requirement already satisfied: tensorboard<2.16,>=2.15 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (2.15.1)\n", + "Requirement already satisfied: termcolor>=1.1.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (2.4.0)\n", + "Requirement already satisfied: numpy<2.0.0,>=1.23.5 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (1.23.5)\n", + "Requirement already satisfied: h5py>=2.9.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorflow-intel==2.15.0->tensorflow) (3.7.0)\n", + "Requirement already satisfied: wheel<1.0,>=0.23.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from astunparse>=1.6.0->tensorflow-intel==2.15.0->tensorflow) (0.38.4)\n", + "Requirement already satisfied: google-auth<3,>=1.6.3 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (2.25.2)\n", + "Requirement already satisfied: markdown>=2.6.8 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (3.4.1)\n", + "Requirement already satisfied: google-auth-oauthlib<2,>=0.5 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (1.2.0)\n", + "Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (0.7.2)\n", + "Requirement already satisfied: requests<3,>=2.21.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (2.28.1)\n", + "Requirement already satisfied: werkzeug>=1.0.1 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (2.2.2)\n", + "Requirement already satisfied: rsa<5,>=3.1.4 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (4.9)\n", + "Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (0.2.8)\n", + "Requirement already satisfied: cachetools<6.0,>=2.0.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (5.3.2)\n", + "Requirement already satisfied: requests-oauthlib>=0.7.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (1.3.1)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (1.26.14)\n", + "Requirement already satisfied: idna<4,>=2.5 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (3.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (2023.11.17)\n", + "Requirement already satisfied: charset-normalizer<3,>=2 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from requests<3,>=2.21.0->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (2.0.4)\n", + "Requirement already satisfied: MarkupSafe>=2.1.1 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from werkzeug>=1.0.1->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (2.1.1)\n", + "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (0.4.8)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in c:\\users\\ysach\\anaconda3\\lib\\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<2,>=0.5->tensorboard<2.16,>=2.15->tensorflow-intel==2.15.0->tensorflow) (3.2.2)\n" + ] + } + ], + "source": [ + "!pip install tensorflow" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [], + "source": [ + "import tensorflow as tf" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "import keras\n", + "from keras.models import Sequential\n", + "from keras.utils import to_categorical\n", + "from keras import metrics as metrics1\n", + "from keras.layers import LeakyReLU\n", + "from keras.layers import Dense, Embedding, GlobalAveragePooling1D, LSTM, Bidirectional" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "x_train1, x_test, y_train1, y_test = train_test_split(pad_seq, label_train, train_size=0.7)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From c:\\Users\\ysach\\anaconda3\\lib\\site-packages\\keras\\src\\backend.py:873: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.\n", + "\n", + "WARNING:tensorflow:From c:\\Users\\ysach\\anaconda3\\lib\\site-packages\\keras\\src\\optimizers\\__init__.py:309: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.\n", + "\n" + ] + } + ], + "source": [ + "classifier = Sequential()\n", + "classifier.add(Embedding(vocabulary_size, 182, input_length=input_length))\n", + "classifier.add(GlobalAveragePooling1D())\n", + "classifier.add(Dense(96, activation='relu'))\n", + "classifier.add(Dense(24, activation='relu'))\n", + "classifier.add(Dense(1, activation='sigmoid'))\n", + "\n", + "# Compile the model\n", + "classifier.compile(optimizer='adam',\n", + " loss='binary_crossentropy',\n", + " metrics=['accuracy'])" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " embedding (Embedding) (None, 12140, 182) 30222010 \n", + " \n", + " global_average_pooling1d ( (None, 182) 0 \n", + " GlobalAveragePooling1D) \n", + " \n", + " dense (Dense) (None, 96) 17568 \n", + " \n", + " dense_1 (Dense) (None, 24) 2328 \n", + " \n", + " dense_2 (Dense) (None, 1) 25 \n", + " \n", + "=================================================================\n", + "Total params: 30241931 (115.36 MB)\n", + "Trainable params: 30241931 (115.36 MB)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "classifier.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/10\n", + "WARNING:tensorflow:From c:\\Users\\ysach\\anaconda3\\lib\\site-packages\\keras\\src\\utils\\tf_utils.py:492: The name tf.ragged.RaggedTensorValue is deprecated. Please use tf.compat.v1.ragged.RaggedTensorValue instead.\n", + "\n", + "WARNING:tensorflow:From c:\\Users\\ysach\\anaconda3\\lib\\site-packages\\keras\\src\\engine\\base_layer_utils.py:384: The name tf.executing_eagerly_outside_functions is deprecated. Please use tf.compat.v1.executing_eagerly_outside_functions instead.\n", + "\n", + "455/455 [==============================] - 422s 923ms/step - loss: 0.6866 - accuracy: 0.5386 - val_loss: 0.6534 - val_accuracy: 0.5832\n", + "Epoch 2/10\n", + "455/455 [==============================] - 433s 952ms/step - loss: 0.4281 - accuracy: 0.8095 - val_loss: 0.3156 - val_accuracy: 0.8345\n", + "Epoch 3/10\n", + "455/455 [==============================] - 422s 927ms/step - loss: 0.2246 - accuracy: 0.9132 - val_loss: 0.2006 - val_accuracy: 0.9226\n", + "Epoch 4/10\n", + "455/455 [==============================] - 418s 919ms/step - loss: 0.1441 - accuracy: 0.9494 - val_loss: 0.1607 - val_accuracy: 0.9502\n", + "Epoch 5/10\n", + "455/455 [==============================] - 414s 910ms/step - loss: 0.1020 - accuracy: 0.9671 - val_loss: 0.1505 - val_accuracy: 0.9535\n", + "Epoch 6/10\n", + "455/455 [==============================] - 413s 909ms/step - loss: 0.0765 - accuracy: 0.9750 - val_loss: 0.1286 - val_accuracy: 0.9564\n", + "Epoch 7/10\n", + "455/455 [==============================] - 428s 942ms/step - loss: 0.0586 - accuracy: 0.9812 - val_loss: 0.1270 - val_accuracy: 0.9583\n", + "Epoch 8/10\n", + "455/455 [==============================] - 423s 930ms/step - loss: 0.0476 - accuracy: 0.9840 - val_loss: 0.1698 - val_accuracy: 0.9441\n", + "Epoch 9/10\n", + "455/455 [==============================] - 414s 911ms/step - loss: 0.0311 - accuracy: 0.9912 - val_loss: 0.1222 - val_accuracy: 0.9617\n", + "Epoch 10/10\n", + "455/455 [==============================] - 411s 904ms/step - loss: 0.0303 - accuracy: 0.9908 - val_loss: 0.1265 - val_accuracy: 0.9627\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "classifier.fit(x_train1,y_train1,epochs=10,validation_data=(x_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "196/196 [==============================] - 29s 148ms/step\n" + ] + } + ], + "source": [ + "Y_pred = classifier.predict(x_test)\n", + "a=[]\n", + "for x in Y_pred:\n", + " if x>=0.5:\n", + " a.append(1)\n", + " else:\n", + " a.append(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "execution": { + "iopub.execute_input": "2021-05-25T07:18:41.422338Z", + "iopub.status.busy": "2021-05-25T07:18:41.421887Z", + "iopub.status.idle": "2021-05-25T07:18:41.673492Z", + "shell.execute_reply": "2021-05-25T07:18:41.672498Z", + "shell.execute_reply.started": "2021-05-25T07:18:41.422308Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 96.27%\n", + "Confusion matrix, without normalization\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "score = accuracy_score(y_test, a)\n", + "print(f'Accuracy: {round(score*100,2)}%')\n", + "cm = confusion_matrix(y_test, a)\n", + "plot_confusion_matrix(cm, classes=['FAKE Data', 'REAL Data'])" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "from keras.layers import SimpleRNN,LSTM" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [], + "source": [ + "model = Sequential()\n", + "model.add(Embedding(vocabulary_size, 100, input_length=input_length))\n", + "model.add(SimpleRNN(units=10, return_sequences=False))\n", + "model.add(Dense(units=1))" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [], + "source": [ + "model.compile(optimizer='adam',\n", + " loss='binary_crossentropy',\n", + " metrics=['accuracy'])" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential_3\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " embedding_3 (Embedding) (None, 12140, 100) 16605500 \n", + " \n", + " simple_rnn (SimpleRNN) (None, 10) 1110 \n", + " \n", + " dense_5 (Dense) (None, 1) 11 \n", + " \n", + "=================================================================\n", + "Total params: 16606621 (63.35 MB)\n", + "Trainable params: 16606621 (63.35 MB)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "model.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/3\n", + "455/455 [==============================] - 2882s 6s/step - loss: 0.7130 - accuracy: 0.8058 - val_loss: 0.6941 - val_accuracy: 0.8763\n", + "Epoch 2/3\n", + "455/455 [==============================] - 3135s 7s/step - loss: 0.2564 - accuracy: 0.9559 - val_loss: 0.8114 - val_accuracy: 0.7906\n", + "Epoch 3/3\n", + "455/455 [==============================] - 3928s 9s/step - loss: 0.1439 - accuracy: 0.9792 - val_loss: 0.7665 - val_accuracy: 0.8503\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.fit(x_train1,y_train1,epochs=3,validation_data=(x_test, y_test))" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "196/196 [==============================] - 65s 328ms/step\n" + ] + } + ], + "source": [ + "Y_pred = model.predict(x_test)\n", + "a=[]\n", + "for x in Y_pred:\n", + " if x>=0.5:\n", + " a.append(1)\n", + " else:\n", + " a.append(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 85.03%\n", + "Confusion matrix, without normalization\n" + ] + }, + { + "data": { + "image/png": "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9fXq1avp0qULxYoVY+nSpezYsYM9e/bw3HPP2bTLiMwkK66urvTo0YO4uDhq1KhBq1atMvVeIpI+JTsi95ijoyMtWrRg3759aSYYp+fWF/7FixfTHPvrr78oXLhwjsV2KwmIj4+32f/feUEAjRo1Yv369URFRbFz506CgoIYOnQoK1assNt/oUKF7F4HkKPXkh1Lly6ldOnSrFy5kk6dOlG/fn1q166d5ueSEZlZeXXkyBHGjh1LnTp1+OWXX5gxY0am309E0lKyI5ILRo8ejcVioV+/fulO6E1MTGT9+vUANG/eHMA6wfiWPXv2cPz4cVq0aJFjcZUqVQpIvdnhv92KJT2Ojo7Uq1eP999/H4BffvnFbtsWLVqwZcsWa3Jzy6effkq+fPmoX79+FiPPWSaTCRcXF5tEJTw8PM1qLMi5qllMTAxPPfUUpUqVYuvWrQwaNIhXX32VXbt2ZbtvkQedU24HIPIgCgoKYv78+QwYMIBatWrx0ksvUbVqVRITE9m/fz8fffQR1apVo3379lSsWJH+/fszd+5cHBwcCA4O5syZM7zxxhsEBATw8ssv51hcjz76KN7e3vTt25c333wTJycnFi1axPnz523affDBB2zZsoXHHnuMEiVKEBcXxyeffAJAy5Yt7fY/btw4vv76a5o1a8bYsWPx9vZm2bJlfPPNN0yfPh2z2Zxj15Id7dq1Y/Xq1QwYMIAnn3yS8+fPM3HiRPz9/Tl58qRN28DAQMLCwli/fj3+/v54enpSsWLFTL/niy++yLlz59i9ezceHh68++677Nixg27durF//34KFCiQQ1cn8uBRsiOSS/r160fdunWZOXMm06ZNIzw8HGdnZypUqECPHj0YNGiQte38+fMpW7YsISEhvP/++5jNZtq2bcuUKVPSnaOTVV5eXoSGhjJ06FB69uxJgQIFeP755wkODub555+3tqtRowbfffcd48aNIzw8nPz581OtWjXWrVtH69at7fZfsWJFfv75Z1577TUGDhzIzZs3qVy5MgsXLkwzATs39enTh4iICD744AM++eQTypQpw6uvvsqFCxeYMGGCTdvZs2czcOBAunXrRmxsLE2aNCEsLCxT7/fxxx+zdOlSFi5cSNWqVYHUeUQrV67k4Ycfpk+fPnf1btoiRqc7KIuIiIihac6OiIiIGJqSHRERETE0JTsiIiJi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ySdJSEi4bT/vvvsuM2fOZNasWQQGBuLh4cHQoUNve56rq6vNpGsRERHgn7shZ/FcI8sTyU56Dh8+zN69ewkLC8Pb+58JddeuXaNx48YcOXKEatWqWfe7urqyevVqnnzySZo1a8b3339vczynpKSkMGfOHEqXLk3NmjWB1IpR7969efzxx4HUYbUzZ87YnOfi4mKd0HzLjz/+SMeOHenZs6e175MnT9qtTImIiNijYSz78sRqrPSEhIRQt25dGjduTLVq1axbw4YNCQoKIiQkJM05Li4ufPnllzRo0IDmzZtz+PBhm+MRERGEh4fbbImJibeNIzIykvDwcP744w/WrVtHy5Yt2b17t81qr3LlyrF69WoOHDjAwYMH6dGjBykptnfLLVWqFD/88AN//vknf//9t/W8TZs28fPPP3P8+HFeeOEFu/f9ERERuR0Hkylbm5HlyWQnISGBpUuX0rlz53SPd+7cmaVLl6Y73OPs7MyqVato3LgxzZs359ChQ9ZjFStWxN/f32bbt29fmj7+rWXLlvj7+xMYGMirr75K5cqVOXToEM2aNbO2mTlzJgULFqRBgwa0b9+eNm3a8PDDD9v08+abb3LmzBnKli1LkSJFAHjjjTd4+OGHadOmDU2bNsXPz49OnTpl9MckIiIiGWCy/PfWr3JfiY6Oxmw249pwNCYntzufIJKHXd38v9wOQSTboqOj8fUuQVRUlM3K4bv5fmazmcBpG3B0s7/A5XaS42I4POrRexbzvZZn5+yIiIhIxpnIxpydHI0k78mTw1giIiIiOUWVHREREQPQ0nP7lOyIiIgYgB4XYZ+SHREREQPQfXbs05wdERERMTRVdkRERAxAw1j2KdkRERExAE1Qtk/DWCIiImJoquyIiIgYQTYmKBv9roJKdkRERAxAc3bsU7IjIiJiANl5ermeei4iIiJyH1NlR0RExAB0U0H7lOyIiIgYgJae26dhLBERETE0JTsiIiIGkDqMZcrilrn3mjJlCnXq1MHT0xMfHx86derEiRMnbNpYLBbGjx9P0aJFcXd3p2nTphw9etSmTXx8PIMHD6Zw4cJ4eHjQoUMHLly4YNPm6tWr9OrVC7PZjNlsplevXly7di1T8SrZERERMYBbc3ayumXGtm3bGDhwIDt37mTTpk0kJSXRunVrYmJirG2mT5/OjBkzeO+999izZw9+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#For second model\n", + "score = accuracy_score(y_test, a)\n", + "print(f'Accuracy: {round(score*100,2)}%')\n", + "cm = confusion_matrix(y_test, a)\n", + "plot_confusion_matrix(cm, classes=['FAKE Data', 'REAL Data'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#The first model performed better.The second model had good training accuracy but less test accuracy hinting towards overfitting.Maybe the key reason being in fake news it is important to capture overall sentiment better than individual word sentiment." + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "def fake_news_det(news):\n", + " review = news\n", + " review = re.sub(r'[^a-zA-Z\\s]', '', review)\n", + " review = review.lower()\n", + " review = nltk.word_tokenize(review)\n", + " for y in review :\n", + " if y not in stpwrds :\n", + " corpus.append(lemmatizer.lemmatize(y)) \n", + " input_data = [' '.join(corpus)]\n", + " vectorized_input_data_pre = tokenize.texts_to_sequences(input_data)\n", + " vectorized_input_data=pad_sequences(vectorized_input_data_pre, padding=\"pre\", truncating=\"pre\")\n", + " prediction = classifier.predict(vectorized_input_data)\n", + " if prediction[0] == 1:\n", + " print(\"Prediction of the News : Looking Fake⚠ News📰 \")\n", + " else:\n", + " print(\"Prediction of the News : Looking Real News📰 \")" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 86ms/step\n", + "Prediction of the News : Looking Fake⚠ News📰 \n" + ] + } + ], + "source": [ + "fake_news_det(\"actor steven seagal live tv erupts hillary obama intense comment actor steven seagal stood america rest hollywood remains silent week rough country first democratic nominee hillary clinton collapsed memorial called million hardworking american deplorable werent enough nfl player throughout country blatantly disrespecting american flag needle say seagal enough think important job secretary state ensuring people dont get killed seagal tweeted cant email protected pneumonia going disastrous american people notohillary continued course seagal quickly became target liberal fire comment refused break particularly lost one twitter user tried argued hillary capable presidency capable capable leaving american die capable disregarding law capable disrespecting rape survivor argued went address race relation united state true role president barack obama played social evolution country obama abysmal race relation usa truth need start honest dialog wrote seagal concluded pointing irony attack receiving liberal everywhere best thing worldmaking one statement freedom getting attacked every demo hypocritical tweeted america without democrat white house safer america think seagals comment\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Fake News Detection/README.md b/Fake News Detection/README.md new file mode 100644 index 000000000..d22ba02d2 --- /dev/null +++ b/Fake News Detection/README.md @@ -0,0 +1,97 @@ +# Fake News Classification using DL + +## PROJECT TITLE + +Fake News Detection using Deep Learning + +## GOAL + +To identify whether the given news is fake or not. + +## DATASET + +The link for the dataset used in this project: https://www.kaggle.com/competitions/fake-news/data?select=train.csv + + +## DESCRIPTION + +This project aims to identify whether the given news is fake or not by extracting meaning and semantics of the given news. + +## WHAT I HAD DONE + +1. Data collection: From the link of the dataset given above. +2. Data preprocessing: Preprocessed the news by combining title and text to create a new feature and did some augementation like tokeinizing and vectorising before passing them to model training +3. Model selection: Self Designed model having a Embedding Layer followed by Global Pooling Layer and then 2 Dense layers and then output layer.Second model had a Embedding layer followed by a RNN layer and a Dense output layer. +4. Comparative analysis: Compared the accuracy score of all the models. + +## MODELS SUMMARY + +Model-1: "sequential" +_________________________________________________________________ + Layer (type) Output Shape Param # +================================================================= + embedding (Embedding) (None, 12140, 182) 30222010 + + global_average_pooling1d ( (None, 182) 0 + GlobalAveragePooling1D) + + dense (Dense) (None, 96) 17568 + + dense_1 (Dense) (None, 24) 2328 + + dense_2 (Dense) (None, 1) 25 + +================================================================= +Total params: 30241931 (115.36 MB) +Trainable params: 30241931 (115.36 MB) +Non-trainable params: 0 (0.00 Byte) + +Model-2: "sequential_3" +_________________________________________________________________ + Layer (type) Output Shape Param # +================================================================= + embedding_3 (Embedding) (None, 12140, 100) 16605500 + + simple_rnn (SimpleRNN) (None, 10) 1110 + + dense_5 (Dense) (None, 1) 11 + +================================================================= +Total params: 16606621 (63.35 MB) +Trainable params: 16606621 (63.35 MB) +Non-trainable params: 0 (0.00 Byte) + +## LIBRARIES NEEDED + +The following libraries are required to run this project: + +- nltk +- pandas +- matplotlib +- tensorflow +- keras +- sklearn + +## EVALUATION METRICS + +The evaluation metrics I used to assess the models: + +- Accuracy +- Loss + +It is shown using Confusion Matrix in the Images folder + +## RESULTS +Results on Val dataset: +For Model-1: +Accuracy:96.11% +loss: 0.1350 + +For Model-2: +Accuracy:85.03% +loss: 0.1439 + +## CONCLUSION +Based on results we can draw following conclusions: + +1.The model-1 showed high validation accuracy of 96.11% and loss of 0.1350.Thus the model-1 worked fairly well identifying 2874 fake articles from a total of 3044.The first model performed better.The second model had good training accuracy but less test accuracy hinting towards overfitting.Maybe the key reason being in fake news it is important to capture overall sentiment better than individual word sentiment.