From 46b263d16014b023ec447087a047e6cd0aeba94c Mon Sep 17 00:00:00 2001 From: amol120586 Date: Mon, 1 Oct 2018 08:02:40 +0000 Subject: [PATCH 1/4] Done --- __pycache__/__init__.cpython-36.pyc | Bin 159 -> 154 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 170 -> 174 bytes .../__pycache__/build.cpython-36.pyc | Bin 655 -> 562 bytes q01_outlier_removal/build.py | 16 ++++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 185 -> 180 bytes .../test_q01_outlier_removal.cpython-36.pyc | Bin 1835 -> 1834 bytes 6 files changed, 16 insertions(+) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index 2e5da7da778c48a9c58d7d055bbdb642fcb66418..ebc743a03ed67b09d6d23d4cbb25f2ae5fa374af 100644 GIT binary patch delta 52 zcmbQwIE#_Pn3tF9*u{;}6FJNk-1Rf^b5r#bbMtcyjSNgJ%=E+ai?WLg5|dN)lk-zj IC#F~f0I|jqGXMYp delta 57 zcmbQmIG>Tjn3tDpxuj9lL=JORAN|nc)S_bj#H5VO;*8Yn;?ks|#N5QZ%)~tXywvje Mw9K5;;)(Ir0Qch)egFUf diff --git a/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc index 2f9a42a105b2b26ec10c60ac4d11fa03f7624d22..639ca7d0c4173d8a9a2e9ce590caa6f31f490875 100644 GIT binary patch delta 52 zcmZ3*xQ>y-n3tF9*u{;}6FJNkqV+TKb5r#bbMtcyjSNgJ%=E+ai?WLg5|dN)lk-zj ICr0}N0J^9VaR2}S delta 48 zcmZ3-xQda(n3tF9Mtoz`L=JPAaQ%$@+*JLbf zz)w)}E0o((UBd^^z^to?k>>5J-aO6Q*(dY)?C;MX@4s=zez7|dQT>Y29TNZpu2{~; zQ{)lyItH=jd4fqjfe7NQ$P-9l@|ERN;BVP-x+5Js|MD1QCo^TFE?SFFm0e|Y(d$y7 z)Ch;AyY|zwK)*TNkqK4?2oW4iC|^^$GlGHDyt_Y-Yg@!(xdVSE?1sc-3doM^B$W%Px$)a;+>eD-9qm zVO_bdDhrEii_V2bwAR#EcG>1=RhYh06ll`6t?3ecRlsEGM>c5b_@-O6#-SdR6-RJOj#l~&m2yDwre|8i^6pL1ZH;r z50h7>F8u*aJcofR5_aCFJb&+dFYh_e=kwVQ`K`Xo2>D5N7Q^?~X#NQT5TJ_GRM0Mi zY)fkJXNo@C@iX-E9iIg{&>W9aM-{;~i z^?I~1y$&vQy2|79vPZ2{A{N$39byj7*jPvn;u`tAae8Tvk>Yb6Y5SeHIf{S1uRdbI ziYswlod|ysjIG`}(}^~C9Qs=NAlt@?wG-Z_!P`G%b@}vJWBQ<^a7b^=6<5`HFBKfx zo4ELg*-JNYfI#TMxcBL!ak~Yct;$$hu7UfQS%_07I5c>zF3H>^K?)l`cn2QfS)9Ju T80eLFiN783CBihD(f#~4xYMeW diff --git a/q01_outlier_removal/build.py b/q01_outlier_removal/build.py index ec278ba..5fa66f3 100644 --- a/q01_outlier_removal/build.py +++ b/q01_outlier_removal/build.py @@ -1,8 +1,24 @@ +# %load q01_outlier_removal/build.py # Default imports import pandas as pd +import numpy as np loan_data = pd.read_csv('data/loan_prediction_uncleaned.csv') loan_data = loan_data.drop('Loan_ID', 1) # Write your Solution here: +def outlier_removal(data): + df1=data.quantile(0.95) #df1=Series + for i in range(0,len(df1)-2): #len(df1)-2 = 'taking only numeric values and dynamic not static values + data=data.drop(data[(data[df1.index[i]]>df1[i])].index) + return data + +df1=loan_data.quantile(0.95) +df1.index[0] +df1[0] +df1 + + + + diff --git a/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc index 5a057ffb73694628cef3ed87e03ee3a17f7410bc..e9564ec0eeb703989a3dfb2533564005e39d65df 100644 GIT binary patch delta 52 zcmdnVxP_6!n3tF9>&1=H6FJNk67@6kb5r#bbMtcyjSNgJ%=E+ai?WLg5|dN)lk-zj IC#Hk~0LQNp$^ZZW delta 57 zcmdnOxRa5?n3tDpxuj9lL=JP+H2u)x)S_bj#H5VO;*8Yn;?ks|#N5QZ%)~tXywvje Mw9K5;;)(I000(>%<^TWy diff --git a/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc b/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc index 4c0b6c7431c6a14108ba9d55dd44059612f144a5..d47256da45e0f5d0a1ec59bb074909526b57df24 100644 GIT binary patch delta 68 zcmZ3@w~CL`n3tF9>&1=HCns{Q;^0e9ElDfQ$=SHwg;AkUKO;XkRX;H|KgZC>z|_J_ YKRmxEySN}RIaNP7KP7du0uwhY08BF%YXATM delta 69 zcmZ3*x0;XBn3tE!Sjs4B??ld3EL`cSB^!6UFshd6hZd(673(J^Wn>m-q-GbFCKV;- ZCgx=(=IQ69mdB@M=A;&HmS^H-1po|o7gYcN From 16b094cde5d3342504982bd195c9939d5a5ee822 Mon Sep 17 00:00:00 2001 From: amol120586 Date: Mon, 1 Oct 2018 10:43:00 +0000 Subject: [PATCH 2/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 176 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1442 bytes q02_data_cleaning_all/build.py | 31 ++++++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 182 bytes .../test_q02_data_cleaning.cpython-36.pyc | Bin 0 -> 3404 bytes 5 files changed, 31 insertions(+) create mode 100644 q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all/__pycache__/build.cpython-36.pyc create mode 100644 q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc diff --git a/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..499e0a5fa2e62e7477c833f55388c7ce90428982 GIT binary patch literal 176 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 aEV+M$#g4!P=;#en{%W8dvINP$Mg9X5r=B$c literal 0 HcmV?d00001 From 806d40b5813ee9d504cd622a7243b0732e31f127 Mon Sep 17 00:00:00 2001 From: amol120586 Date: Mon, 1 Oct 2018 11:27:15 +0000 Subject: [PATCH 3/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 178 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 884 bytes q02_data_cleaning_all_2/build.py | 11 +++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 184 bytes .../q02_test_data_cleaning_2.cpython-36.pyc | Bin 0 -> 4759 bytes 5 files changed, 11 insertions(+) create mode 100644 q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc diff --git a/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f15ec33b26e36ddd760814d8215bf13247062020 GIT binary patch literal 178 zcmXr!<>fkdabq+C5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzvA^X@^e%56La%( z42=v-EzI=8^NX^J3lfu4^^@~cQuTB4(=&@pGLz$rQqzl4i;FY!^WqDN^0QKtOY{p3 zjN(%gOA_Ogb5axYGV{{o6LWInjr8N=GxIV_;^XxSDsOSv8 BFu?!- literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..43158eeb6eeeed2a076b64b84608b3ec78499236 GIT binary patch literal 884 zcma)4&2AGh5VrR}Y0|V%UVvLJ**5%$142dRf`objiON*6oV6Rgc-M=)TPY|#g#(v9 z2v;7*S5AEePK;LtwFn`+^2~UCznPr}+ZJ|o4l%yC5TxLAlU@{Pca>!$zYyyx|G3a%%=cftTA|o;;+hjs^c*?WS zi0pFw8chdRPzxPTu^V&NGFm9XYFRHqG0|PCq%hQoN}n_J>Av^Km1Z?c#TACMMdXviiLdVwaC-=3jY{ZmiFt5|OI!vUbP=^-8LiPe;vtVN z!wb~E@$WYV8(s(N@GJt{@v%$vq7+37NK*+IIxgN!1D6(BbyaQMkQ?35Gihu)josJ^ z1B znSPw+?{y_|R%vxG-+%PvasF1D54K^2$P3K{3~dROWC62W8ey#;Tw}DypMTt+(_6Er zOes3g7oAjm)~wv*wspP(C9UrO;XS+qpScI}^o~m!R&!>}2%avky9$DXx^YKPbH!R+ zDY=;a1Ip~LP-Z<46ZoXh|3A|K{bPTw^T5_4ml?r0^$RoT_sMtYBLBx6K5=+uw!zCx pJn`L{T~BZLc|l;SXfvLAsNh#%hL z^P4{%4hN6teXnxfoqj2DS!bk|Wz|-Vip@>MZvN{-aNveOH|!@>Ia|zO$MGbsHUx$( zf#=#uat0&SkwhE^Y$G4ZBsiB9TAef+Pdd0zqxK#vNF+%B(FKtwx GWYibfKQk!+ literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc b/q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..63215890fc7c8569746a0aed86eccaf270eeb01d GIT binary patch literal 4759 zcmd5=U9;0f7*5hOO+U}~fdc{&1+0TDErN*Pa0ZZJ#;K0zz(i(3=a zq`#%aPXqlH-26`vL?W^)nKG1$t8`LkN|s29sIJ;cn`zJ`l6JLD#>_;z=IWiSnT_;} zo9pDwyev_4T8uzakUE9R=XX0DqX<|a+kHM&kW=;lCu ztWIjzNPb6ZZw(}Ko34?uazUAcC(`p{=T@UGpY)uvA<%v{UifzyO3ZZXO^&R&=KZRkk# z`K7uwWfGR{x>mg!04qFtirRrD^-8xVPS1K^O@_4rUE??mDW%K(`V5vU^8uzN0fC}P zI1Ng265=U9XPywAY7A4*s{iSPYeM(z&F=QD%RAY@+5hv9JJN!Rv>%?3=EXnj>op)A3KKPI0`f( zb^^p941RDF1`+suz(`VfV_6Cj>@DT6caTG&K@@c;7utiUd_5*d@Z~qcTnmD z^{;)C42exY#LP^5$QJvlf{t@{lt+xX5#$QY5JGh!$BJy^zgD!4T0GcAxUuOBA#`AftHC$K zjUI(>=-DC6oSzroM*{*!y`JFZ`l5k-A7)ur7_x#n>kYAz9kX(n!ORUb`{SwIOz^UB zkV)XoCI%CC9Aw%GQ4`@M-5CCYPK0a5{-vq#!k^i&5StraV8wYEUSt>tMj?j11G-2@ zFCStl<$0D8y@+cmOy0KuYwScf7d4hCq{V6Z8NMA2Y$;mM{ikTz!ip;(4k2ak>S!_) zaG+>uJ&L&t2bLsIqr4(?%kp3mY*`{_SskB*F6sr#!rff_gsoxEaihdeqBw=(T@>%3 zxPanA6qqU*1{`)3#WfWBi|9zhtq9A4ScjYAs!^A94X$)_X?kjWMXkywO)XyYN9kSY zq2~l>JPgM#(oaLjCDAU_ybXKCo*nod*Lhl*vz4sO+)7qrq%@$KyGKW=SqF|KMmV_q z7a7OHbBQ3@q?tOLDG&?KAhOXB1@30yv;dAAg#1Xzy~u4?WF)wGWM{D}h1jp-6wc0L pJ+A23M<{A2kjq&l3;jkso1cSoOB^9}xiG$z9B8_{DQ{0|{sjo*BM$%o literal 0 HcmV?d00001 From 9aec7f4d2a0dea06fe52fbe3149d2b1488c30724 Mon Sep 17 00:00:00 2001 From: amol120586 Date: Mon, 1 Oct 2018 11:33:59 +0000 Subject: [PATCH 4/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 178 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1164 bytes q03_logistic_regression/build.py | 12 ++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 184 bytes .../test_q03_logistic_regression.cpython-36.pyc | Bin 0 -> 2298 bytes 5 files changed, 12 insertions(+) create mode 100644 q03_logistic_regression/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_logistic_regression/__pycache__/build.cpython-36.pyc create mode 100644 q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc diff --git a/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc b/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1da206a27f7ebb1a0e433199eae85b62d843c9f6 GIT binary patch literal 178 zcmXr!<>fkdabq+C5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzvA^X@^e%56La%( z42=v-EzI=8^NX^J3lfu4^^@~cQuTB4(=&@pGLz$rQqzl4i;FY!^WqDN^0QKtOY{p3 kjN`G$>&M4u=4F<|$LkeT-r}&y%}*)KNwou6Tnxkv0IL%*T>t<8 literal 0 HcmV?d00001 diff --git a/q03_logistic_regression/__pycache__/build.cpython-36.pyc b/q03_logistic_regression/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c0bbc20d0181322c7fb2827675b6ad4d843baf2a GIT binary patch literal 1164 zcmbtTO>Yx15Vbe^m89F0=7XNO<&w0iKpYSPwH%PD9_WF}R9bDGhXWpqCTThx@|I|mw!;x$6A4K$VtBev<0U2?)|qb5 zCT%S}z)jY1T-&}+Lh^`gk}m0yJ{hotby<(~*Dm`W9#edThRF?NiVla^ ztRGcbNi#){@{BVD%;teSFLYJp@7TFwS{Jeeb|aVN+1!4lBCAyK3Am1&SG-^tjf}yv#c!2a~pGyNGG44SYpg&R;Dw>XpvV|b6&dNFgnWhm5C0l`|bV>hAeX^ zw|io+4cL3I^*)#iEzz}KVX#5%PrVu~F-8tyhk|LNMzy!}fDNX84eWJT1$Cnim)><$ zM^FlUI1H5sYRYPxXykDY0 zDo1c{I5oFJP@cOYk>1M3ixOf|0qJsAI?`FW1cL#|wJVo-4HsBsl@z=<9X*iQ>RzME z?Va?mff~6xsQ^+md;hL8N$(F`#`&$1{im8Y|D}{pZnYw-6)Tp})Xr?vjkG=3_*BW6 z!N&$KR02_I-I|Uywgs-_ZV>L6J~&ML0?Ik(?4=z=y#*$QHvL(iZCZ?bc;Np6N;p-f literal 0 HcmV?d00001 diff --git a/q03_logistic_regression/build.py b/q03_logistic_regression/build.py index cdbd506..59caf70 100644 --- a/q03_logistic_regression/build.py +++ b/q03_logistic_regression/build.py @@ -1,3 +1,4 @@ +# %load q03_logistic_regression/build.py # Default Imports import pandas as pd from sklearn.preprocessing import StandardScaler @@ -15,4 +16,15 @@ # Write your solution code here: +def logistic_regression(X_train,X_test,y_train,y_test): + scaler=StandardScaler() + lr = LogisticRegression() + scaler.fit_transform(X_train) + scaler.fit_transform(X_test) + lr.fit(X_train,y_train) + y_pred=lr.predict(X_test) + cm=confusion_matrix(y_test,y_pred) + return cm + + diff --git a/q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc b/q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..597b1751a7b296b5a31238ccf48865d6413e9f5f GIT binary patch literal 184 zcmXr!<>fkdabq+C5IhDEFu(|8H~?`m3y?@*2xib^^jpbL1QJFNzf$!x@^e%56La%( z42=v-EzI=8^NX^J3lfu4^^@~cQuTB4(=&@pGLz$rQqzl4i;FY!^WqDN^0QKtOY{p3 qjN`G$>zAY!mlW&A$7kkcmc+;F6;$5hu*uC&Da}c>16f}T#0&uP;xokn literal 0 HcmV?d00001 diff --git a/q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc b/q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e7f81a8c7c92e32cd0822a8f5571d44aaa32a734 GIT binary patch literal 2298 zcmbtVL2uhO6c!~}Rvg<&+ca5*VbcQSU?8xQ6fM?a8(L&R5g^EA16FXwR90kMd6eXk zR8Sk;$^A1s?l0`H%TBxMx>NqbPJ2&E96L?Wb(O%!r$_3M?|UB~@3mTuKmPjd$3H#G z`rDd$;M;lxP5%ypTbxLXlCrm{4ZSU$#HB95F-O)Ck9wu<%6j5cztn4TA!*PC=pL`j z#iU7_rQMgUq)pqz5@fK%7bb)*i{-&B-r$Q98}x=)E^Qw6&pdjY-k~e>E?uQ-!WS#z zu2>ao6Ze@rwKgxU^rI&hZ}Qd~i?@V3ap*cH-&vjZ8N^{7bx7fVFSOZXT7cf-%&;($ zf~9fV2gA~wA>2h%mKzxh6)KTrr%ayN;0Ww@WY&+hi6a>3E1`9qrC@INg*ncpWU8-+ zA{uX?$DYhs8V;4eDLiV0oM_3^y0y_9zoMvAVir0fS+*t zjYS>qa2I-)*SH6Ljn}yky~h_I;6|~AfgZlS$p}}$2c7%S_Mquq5XLfOLVh8yt$}Tv z*MyUGYXXbGLNnjT_Np~;Fq5#1d!*3anG0h4+5RgC*$5s$^m!suqk~Pp6+DSgMG9KS zRk)t2gD4i6) zO*vDFjh=4>qbvvJit~w35rR$KsTIo=QxEh(strpcQP@#Z)XKkU{rvaB#dSKQg6;}x zof}cB_7s+72OVI18l$yHgV<#J_`UJF>TwRoDYI6mI1cOyl=pc?{RE@qohgiS!0`-7 zg^a4WG&=@NLjEXpUN{MRbpsrm?}DSG?gn_#Sfea5{`&vIPnJc6GyE@eiibcoK%k>*cp z779O4V}lVZ42JH(WietVOJw|_drfh=C|=!@?cItO7xz=hr0l-PW62dBdAk2Wp2FR8 zU&smi_`mzw39sCU=YDD!Y^~Z~S>fw(idUd1%M10DU_8X@ZlSylk@9eNsccw~rv(|& z`qR)T7N^t$1>mCf(S-pN#1DB@!hBs;3jeDrt=}Nb8j}a9A