From ec3c92cb350ec202a18be38c13fdae6f99a3f0f3 Mon Sep 17 00:00:00 2001 From: kwinkunks Date: Thu, 28 Sep 2023 19:38:16 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20scienxla?= =?UTF-8?q?b/redflag@5692f32af6ce796b1e0b6ec5d073f662d64d3d93=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .buildinfo | 2 +- .doctrees/_notebooks/Basic_usage.doctree | Bin 91373 -> 91349 bytes .doctrees/_notebooks/Tutorial.doctree | Bin 154113 -> 154115 bytes .../Using_redflag_with_Pandas.doctree | Bin 24298 -> 24304 bytes .../Using_redflag_with_sklearn.doctree | Bin 215510 -> 215510 bytes .doctrees/environment.pickle | Bin 157103 -> 157061 bytes ...c51e93f35691cfd08985926c07cc7c4c5d6806.png | Bin 26017 -> 0 bytes ...32d898e8676372639c45c8a041dfa381a9f139.png | Bin 0 -> 25888 bytes ...3779e5ef7129d75198face14a30712ac7fdac7.png | Bin 9421 -> 0 bytes ...f5b08b8a0982bd4077460bbd5ae05387500f63.png | Bin 0 -> 9500 bytes _notebooks/Basic_usage.html | 32 +++++++++--------- _notebooks/Tutorial.html | 20 +++++------ _notebooks/Using_redflag_with_Pandas.html | 16 ++++----- _notebooks/Using_redflag_with_sklearn.html | 30 ++++++++-------- authors.html | 4 +-- changelog.html | 4 +-- contributing.html | 4 +-- development.html | 4 +-- genindex.html | 4 +-- index.html | 4 +-- installation.html | 4 +-- license.html | 4 +-- py-modindex.html | 4 +-- redflag.html | 4 +-- search.html | 4 +-- searchindex.js | 2 +- 26 files changed, 73 insertions(+), 73 deletions(-) delete mode 100644 _images/189e714bdbe64f6e2b2407adf9c51e93f35691cfd08985926c07cc7c4c5d6806.png create mode 100644 _images/1ba56adc63176cf6f7dc6fa19b32d898e8676372639c45c8a041dfa381a9f139.png delete mode 100644 _images/450b80bfa0cd04cfa435ed31fc3779e5ef7129d75198face14a30712ac7fdac7.png create mode 100644 _images/e1b9bfe88314fd44507322cffef5b08b8a0982bd4077460bbd5ae05387500f63.png diff --git a/.buildinfo b/.buildinfo index 5f4b856..79a5dbd 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 5f1a99dbe6214a55564a7e8edaec4455 +config: f16f01c301077148dcfbc3870fd97172 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/_notebooks/Basic_usage.doctree b/.doctrees/_notebooks/Basic_usage.doctree index 75dbdf489f91873c4127755db1d9efd6e80fff6d..91101d2887c7f9d7fc56d06c6fe0561b17f2c792 100644 GIT binary patch delta 703 zcmb7B!D>`76zwaFQ*{(=RVbo9IxcEE4#~aAO#*@i6_@U2qZN{u7bGG&gGl4utD z{e{Ub7mN2>z1B@0S|b<13n7_8fGmVO zNXN7*hZ+se3#ODH=A4%{XA-rNj0M7C@yngr`cgDO^8d!vN-;Qm*xp?_m(0bVdyVGn zPkySb`0DNDI6AmmJB3#6pL3>qPo;c#ldRwBlnW=~0G*U|0YDn2c!g0DAp=$6@*B7& zrgqnRNjjNhzn9Dp_iiWCC(~*~C*`ZxcGjA!J8KtSoUt1l_UYpNzm4Iyd&!eyON@zf hBXtB4AcU!-N#Mo^^(PLZ;s&vbvoOK=VHt*>{tet$yFvf} delta 717 zcmbVI&r4N76z+!h)UIKYp-4C&Lghv0_soGHAzMbR+LXcEnL8M5QV@#3_m&pbW)%Mk z1L0C{Q7zgS1}$3z;eXJ75Y*gx$!l4ify4KmIX}L0z8nsIKOEeLyk%G=;tNap#4)b# z=Ck*QjWD_d=Umv@nD4Xt-NxskEDz5%9}E!9dHC6$8y!JCqmq*%kj|CK;|RkF3dFF+ z$&=9TOox~4*8g{?+nu%is)kAtUb?c9+{=oVlw)O_2P;Sg%rhZ@Snsd~Er3dkm9@%p zE1c9=){8HWX5v!XLP;frqk{|K$KKg~q`vWLYpO?;1`!h$`mCP#`1a%y7r4~8^afjp zx%GxKQ8`AuWlBN3saJ%8Q-Xl@##V%zcnw00Ro+EckA1p6o|+o|=ZM7Wop1MMhj+fZ z6UoAdr{{KWjb<}p|6nfFXek|OWDPZ2H0*WA9$qUb*E}w*3WOIJ2Sq8C2~$m!l(fNE zF$t83-Noe${ZmEv$#OP*8j%7ujaDvgueMgUSI<8mGwbW-@x?p8Ke}&jW{*x?1|dN5 mG+ijIrASHy6^b*2k`gL4!5a0HMBRU15tU4J-`~zA&-?U26B_+`?#c*wgFSXihFA|-CTs_qF#k9^C5B+1kQ6WICV?zTAGb0mABSTXY0}CB41@)r*(89vp z#N6D#zEvWgn7rTLmC4v_GGl=HWZeK=CS$|NAN-VfOce~xEiAYc V3@r>SCd>IRAXeeb&2oWfcmaSIOGN+x delta 240 zcmeycm+{qJMwSNFsrNUsoaa+cG)^@ILiH&b?6Ffa#Cn9)4fG84Qc}wdwbP+;o4@hB zG?6T-R!=ijw^A_BGcqwYurM<;HZ!v@HZif7T;L+YZ)##f7@AvHC>UB8Sa402_g_GaqM4gj I0?+UQ0H&cvj{pDw diff --git a/.doctrees/_notebooks/Using_redflag_with_sklearn.doctree b/.doctrees/_notebooks/Using_redflag_with_sklearn.doctree index f663cbf92732c0702c948429d5947384ca9320e6..e1eae1c56a8047cdba6deb2693b78ed547af8bf2 100644 GIT binary patch delta 952 zcmcaMnfKac-i9rVR~&TBjZF;6HAlTtrQIOObv`oO$;my z%`Jh1p^3$GMn^_p(zQsnPjzJ6KGl(_fLACbKPNvovm{kVp*S%wrMM(NZ@RcYlaVq) zygV^EI~61WRFhi@RsvByJ;$G^lM(~A#{@8a=H^baFf&RvO)^R~u$w+no>6A{hr3K1 z(-UHu^r!2&GO|tI9K%$HUD0-+qS=C+a09k~Y-7q`M)0Qt`9;(1k{CB{pH%{_O{Pn5r133mjx(-yTxNG(`ZRh+N~ixnX7)8chE`o2hxa_iU!sFtOBR zkk~em-`J<0n91}VCV^e?cA(<5LP%C7^nNrXXM(x6HAlTtrQIOObtv7j4h3g z3=IqnEDbF!r!zV-`jW0is(q>>6>Gi>aZ)?4pcN-kP~je_K$5$8O#X&bRfTIx?K|E=IyhJnV1=oWF9_X zlAEs3&cwg{Ko3(D<8*<8Ozhi3%9y4IAQX{n95*-2470@P|7SBbPxqe9v>GOsY6KG7 z2J##G^b<3gzQZK2E8Y%NyjBQF4bV@D+Y>G^*}}a8G!Y~?9Vl2by?z^$$L81%yBW9J zU1K^1R|7O0zsBuAjeFr?2T`s+{r>|drRfUym}bEo0I>@!A-cVGH`7HV8@2-j^%uFD-}#JO+m}3HGD-yiZ@@}C diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 77978d167cd4ed3560be33da40bdf9b7c6b63db2..a563ea951a9ddf881f8a93b2dcbaf9027cdf153a 100644 GIT binary patch literal 157061 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 literal 157103 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 diff --git a/_images/189e714bdbe64f6e2b2407adf9c51e93f35691cfd08985926c07cc7c4c5d6806.png b/_images/189e714bdbe64f6e2b2407adf9c51e93f35691cfd08985926c07cc7c4c5d6806.png deleted file mode 100644 index 8fb2def68bcd01680b78d708527ac56034ef9e30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26017 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 diff --git a/_images/1ba56adc63176cf6f7dc6fa19b32d898e8676372639c45c8a041dfa381a9f139.png b/_images/1ba56adc63176cf6f7dc6fa19b32d898e8676372639c45c8a041dfa381a9f139.png new file mode 100644 index 0000000000000000000000000000000000000000..f2faf72edc4f26c65d429acbb80f2fb6e6b3fcaa GIT binary patch literal 25888 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 ADF6Tf literal 0 HcmV?d00001 diff --git a/_images/450b80bfa0cd04cfa435ed31fc3779e5ef7129d75198face14a30712ac7fdac7.png b/_images/450b80bfa0cd04cfa435ed31fc3779e5ef7129d75198face14a30712ac7fdac7.png deleted file mode 100644 index 11161777d387a89609b49a0a2a92e2544a022746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9421 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 diff --git a/_images/e1b9bfe88314fd44507322cffef5b08b8a0982bd4077460bbd5ae05387500f63.png b/_images/e1b9bfe88314fd44507322cffef5b08b8a0982bd4077460bbd5ae05387500f63.png new file mode 100644 index 0000000000000000000000000000000000000000..75c1cf081b5cc0ef6f180e1638409514c284c09f GIT binary patch literal 9500 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 z z$hk{SI6`EjT~wo8F?J_{nA(m_OaR8A^qifYiz$wdj@K!m$PA2)$xeRy`cc3gxy|Vj zC2w0NoZ9_;IdE!Bbo6Fd4&4qzf5gO-sS$I)EP|y+b;2R4Z0+QAYg19tr z4eMKFIWRal3Z%EHKLUJl3yC)UDX#W1!7z#pEH(4jU)8~baG;K~SqFh*84{lnQ4LL)ZQEwC3VB}M zGvITPft-t196EUL>V7dgWKO+mX2=CmB0GF9Gf%DWWmeQCwYVM3{E%~h7+kq}o?L(T zDIN5|(D*l&LUVi$JX!pVUxPot|MK64mLH8Uzl|G_#mw(kk2G1}H{<V;<&7&0NM6k;l-UjbDBB!7KXv zoBzhazk(@$*)iKDd>dG!l8y?F@ndqK5z4=6JAxJdF*MP?6Mcm`1`v0U$liFC9!IMLrr#Iz&W*dGcw_{rgjsk`cR(1=h15yM>kI-Yg2~AWGS8J>XLO zaX?J7^OeR|a*dwXWYVm`^DEW4Y!ij(f3x>*vzotdBYr#6ApAB4x~86<9_!w{c~I`7 zlR+DVHawUgJMCu!t*$B^;Lm@45r_zQ6An~5f)vM?dB_y3}l}uh4gc1TkAp z$k2@2%6|o1HBfi4mOw2{oz2UG1lQmW%)mX_6`I~Y4(>RJ5SM9Jc5zGEoop!tc9*0O zUPWRGRx{Fl;^hg~yR#(lC++r~Q;h)LGprkL@a z?ECk-HXgP9nS+CzzHydG%Chi&FZHsbW#0Ya@j~NrMYl0@r$Sm8fS#TI^k7rvi12bFa1SEr6sjE$`V zN@-J4pr(0h5+6xAiunny)fd1H9i6UGCvzt9lm&DJZ3J|Bk}Wi}wT+aOL%MvvFy^Tp zH?_8Yd`K%E2bxnD^oE4}hgRUHPk0)RE92v2{TH9E2G-EVL@=H{pJ$X$gcYf?DI1?h zTJE-e`jqWAQK1H`uN=$z#SQyu{-pOr;@j~3g=uNLd1}M#FpLGIk~K5qP8*m2+lS;J zS9pxe-Z5l)WBe5RY%tkR8ePL_SXjWwGy$IPC)lM51260-?JUoA~rg5=Q)Eb8{;6 zhrD-6G9=h+SlD*kUw+x_dgtz4169?VFoPFO+$pb1%XVtVMm{gG%D~n(1Dbt$=>EV@ zBf8CvC0nqy^urf?XWfTE>P*T5en@IGIGncj$9Eviz8ILyw2bV z(rDb&%)%mnZVscBD60#j^su{Q0Vnn3X0VTKtrX?QZqTQSCGtosDt34DHjjfUhY&hI z%&}lg($XhSt%x;ZLLfIU&vP`t{4&sS?E2Cm71DEa`Se7VEqJ1G0m~({k<;u_iEFn4 zikPjNPBY&fLyPxhg*w*&*UBv_I_|RuvaO@sHRb1@f0l&LIqVRW(6_WqrhUjlrrTd1 z03@M1Zot=!e>PFArJQgsH5P$j)P93`SMGUc^o$EIX?qj0+rDaVhSZ!+!Yxpn*Y zPoJT%u0sAmrV^9o{Y+OU56j4qA^9*l8%e@qVr5uK%_(`>?- literal 0 HcmV?d00001 diff --git a/_notebooks/Basic_usage.html b/_notebooks/Basic_usage.html index 36e0b36..144f7b8 100644 --- a/_notebooks/Basic_usage.html +++ b/_notebooks/Basic_usage.html @@ -6,7 +6,7 @@ - 🚩 Basic usage - redflag documentation + 🚩 Basic usage @@ -126,7 +126,7 @@

By default it uses an isolation forest to detect the outliers at the 99% confidence level, but you can also opt to use local outlier factor, elliptic envelope, or Mahalanobis distance, setting the confidence level to choose how many outliers you will see, or (equivalently) setting the threshold to the number of standard deviations away from the mean you regard as signal.

@@ -630,7 +630,7 @@

Outliers

This truncated normal distribution has no outliers (there are only about 60, compared to the 100 we expect at this confidence level of 99% on this dataset of 10,000 records).

@@ -737,7 +737,7 @@

Clipping
<seaborn.axisgrid.FacetGrid at 0x7fa58ca48950>
+
<seaborn.axisgrid.FacetGrid at 0x7f6c2839f510>
 
../_images/cd5838a765b85cc46ad4d3822253aaa1b0e9802d751724777bec08aee732895f.png @@ -798,7 +798,7 @@

Distribution shape
<seaborn.axisgrid.FacetGrid at 0x7fa58c866d10>
+
<seaborn.axisgrid.FacetGrid at 0x7f6c28487b10>
 
../_images/9a24bafc24d9b00917a0e1f2bf75c12f68152f5e5322a8a58a83974f1943cf77.png @@ -947,7 +947,7 @@

Feature importance -
array([0.24840897, 0.34972206, 0.32817662, 0.07369235, 0.        ])
+
array([0.30766122, 0.22259071, 0.38663027, 0.08018607, 0.        ])
 
@@ -974,7 +974,7 @@

Feature importance -
array([1, 2, 0])
+
array([2, 0, 1])
 
@@ -992,7 +992,7 @@

Feature importance -
array([0.08955964, 0.35788656, 0.525743  , 0.0268108 , 0.        ])
+
array([0.08004098, 0.36424492, 0.52199477, 0.03371933, 0.        ])
 
diff --git a/_notebooks/Tutorial.html b/_notebooks/Tutorial.html index cbbfd42..e7a345b 100644 --- a/_notebooks/Tutorial.html +++ b/_notebooks/Tutorial.html @@ -6,7 +6,7 @@ - 🚩 Tutorial - redflag documentation + 🚩 Tutorial @@ -126,7 +126,7 @@
@@ -292,7 +292,7 @@

A simple ML workflow

-
array(['ss', 'ss'], dtype='<U2')
+
array(['ss', 'ms'], dtype='<U2')
 
@@ -318,7 +318,7 @@

A quick look at

-
'0.1.dev1+ga3e5e5e'
+
'0.1.dev1+g5692f32'
 
@@ -570,7 +570,7 @@

Clipping
<seaborn.axisgrid.FacetGrid at 0x7f4a91901850>
+
<seaborn.axisgrid.FacetGrid at 0x7f3c0dda1d10>
 
../_images/cd5838a765b85cc46ad4d3822253aaa1b0e9802d751724777bec08aee732895f.png @@ -623,7 +623,7 @@

Importance -
Pipeline(steps=[('detector',
-                 Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7f4a917bfce0>,
+                 Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7f3c0dc63ce0>,
                           message='are negative')),
                 ('svc', SVC())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.

The noise feature we added has negative values; the others are all positive, which is what we expect for these data.

diff --git a/_notebooks/Using_redflag_with_Pandas.html b/_notebooks/Using_redflag_with_Pandas.html index 4ab23f2..d779a3b 100644 --- a/_notebooks/Using_redflag_with_Pandas.html +++ b/_notebooks/Using_redflag_with_Pandas.html @@ -6,7 +6,7 @@ - 🚩 Using redflag with Pandas - redflag documentation + 🚩 Using redflag with Pandas @@ -126,7 +126,7 @@

@@ -234,7 +234,7 @@

🚩 Using redf

-
'0.1.dev1+ga3e5e5e'
+
'0.1.dev1+g5692f32'
 
@@ -430,8 +430,8 @@

Series accessor -
{'f1': 0.24308613668344808,
- 'roc_auc': 0.49544118310710333,
+
{'f1': 0.2531086249215408,
+ 'roc_auc': 0.4979211887477007,
  'strategy': 'stratified',
  'task': 'classification'}
 
@@ -463,9 +463,9 @@

Series accessor
Continuous data suitable for regression
-Outliers:    [  34   35  140  141  142  143  175  182  532  581  583  633  662  757
-  768  769  801 1316 1547 1744 1754 1756 1778 1779 1780 1784 1788 1808
- 1812 2884 2932 2973 2974 3004 3079 3080 3087 3094 3109]
+Outliers:    [  34   35  136  140  141  142  143  175  182  532  583  633  662  757
+  768  769  801 1316 1547 1731 1744 1754 1756 1778 1779 1780 1785 1788
+ 1808 1812 2884 2932 2973 2974 3004 3079 3080 3087 3094 3109]
 Correlated:  True
 Dummy scores:{'mean': {'mean_squared_error': 47528.78263092096, 'r2': 0.0}}
 
diff --git a/_notebooks/Using_redflag_with_sklearn.html b/_notebooks/Using_redflag_with_sklearn.html index 0148a34..1f8c138 100644 --- a/_notebooks/Using_redflag_with_sklearn.html +++ b/_notebooks/Using_redflag_with_sklearn.html @@ -6,7 +6,7 @@ - 🚩 Using redflag with sklearn - redflag documentation + 🚩 Using redflag with sklearn @@ -126,7 +126,7 @@
@@ -574,7 +574,7 @@

Using the pre-built
🚩 There are more outliers than expected in the training data (349 vs 31).
 

-
ℹ️ Dummy classifier scores: {'f1': 0.2553305717063476, 'roc_auc': 0.5040393210009199} (stratified strategy).
+
ℹ️ Dummy classifier scores: {'f1': 0.2573500590509208, 'roc_auc': 0.5025408179081148} (stratified strategy).
 
Pipeline(steps=[('standardscaler', StandardScaler()),
@@ -743,7 +743,7 @@ 

The imbalance comparator
🚩 There is a different number of minority classes (2) compared to the training data (4).
-🚩 The minority classes (sandstone, dolomite) are different from those in the training data (wackestone, sandstone, dolomite, mudstone).
+🚩 The minority classes (dolomite, sandstone) are different from those in the training data (dolomite, wackestone, mudstone, sandstone).
 
array([[  66.276     , 2359.73324716,    3.591     ],
@@ -779,12 +779,12 @@ 

Making your own smoke detector
Pipeline(steps=[('detector',
-                 Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7f9497cdb380>,
+                 Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7fb862c5b2e0>,
                           message='are NaNs')),
                 ('svc', SVC())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.

There are no NaNs.

@@ -811,30 +811,30 @@

Making your own smoke detector
Pipeline(steps=[('standardscaler', StandardScaler()),
                 ('pipeline',
                  Pipeline(steps=[('detector-1',
-                                  Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7f9497cdb6a0>,
+                                  Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7fb862c5b100>,
                                            message='fail custom func '
                                                    'has_nans()')),
                                  ('detector-2',
-                                  Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7f9497cdbe20>,
+                                  Detector(func=<function BaseRedflagDetector.__init__.<locals>.<lambda> at 0x7fb862c5bec0>,
                                            message='fail custom func '
                                                    'has_outliers()'))])),
                 ('svc', SVC())])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.

diff --git a/authors.html b/authors.html index bc855db..524792d 100644 --- a/authors.html +++ b/authors.html @@ -6,7 +6,7 @@ - Authors - redflag documentation + Authors @@ -126,7 +126,7 @@
diff --git a/changelog.html b/changelog.html index 7bcc7e2..8b7b5f1 100644 --- a/changelog.html +++ b/changelog.html @@ -6,7 +6,7 @@ - Changelog - redflag documentation + Changelog @@ -126,7 +126,7 @@
diff --git a/contributing.html b/contributing.html index 712055f..1e024f9 100644 --- a/contributing.html +++ b/contributing.html @@ -6,7 +6,7 @@ - Contributing - redflag documentation + Contributing @@ -126,7 +126,7 @@
diff --git a/development.html b/development.html index bb9b695..28306a7 100644 --- a/development.html +++ b/development.html @@ -6,7 +6,7 @@ - Development - redflag documentation + Development @@ -126,7 +126,7 @@
diff --git a/genindex.html b/genindex.html index c6bd3f8..5c65f79 100644 --- a/genindex.html +++ b/genindex.html @@ -4,7 +4,7 @@ - Index - redflag documentation + Index - @@ -124,7 +124,7 @@
diff --git a/index.html b/index.html index bf21931..5935d6a 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,7 @@ - redflag documentation + Redflag: safer ML by design @@ -126,7 +126,7 @@
diff --git a/installation.html b/installation.html index 8794d99..4621896 100644 --- a/installation.html +++ b/installation.html @@ -6,7 +6,7 @@ - 🚩 Installation - redflag documentation + 🚩 Installation @@ -126,7 +126,7 @@
diff --git a/license.html b/license.html index c2e2760..cf5cee5 100644 --- a/license.html +++ b/license.html @@ -6,7 +6,7 @@ - License - redflag documentation + License @@ -126,7 +126,7 @@
diff --git a/py-modindex.html b/py-modindex.html index b19017e..44d979a 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -4,7 +4,7 @@ - Python Module Index - redflag documentation + Python Module Index - @@ -124,7 +124,7 @@
diff --git a/redflag.html b/redflag.html index 1845cdb..9aa9543 100644 --- a/redflag.html +++ b/redflag.html @@ -6,7 +6,7 @@ - redflag package - redflag documentation + redflag package @@ -126,7 +126,7 @@
diff --git a/search.html b/search.html index 7e4ca5d..ebba764 100644 --- a/search.html +++ b/search.html @@ -4,7 +4,7 @@ - Search - redflag documentation + Search - @@ -123,7 +123,7 @@
diff --git a/searchindex.js b/searchindex.js index 1bf46b7..94c4b6e 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["_notebooks/Basic_usage", "_notebooks/Tutorial", "_notebooks/Using_redflag_with_Pandas", "_notebooks/Using_redflag_with_sklearn", "authors", "changelog", "contributing", "development", "index", "installation", "license", "redflag"], "filenames": ["_notebooks/Basic_usage.ipynb", "_notebooks/Tutorial.ipynb", "_notebooks/Using_redflag_with_Pandas.ipynb", "_notebooks/Using_redflag_with_sklearn.ipynb", "authors.md", "changelog.md", "contributing.md", "development.md", "index.rst", "installation.md", "license.md", "redflag.rst"], "titles": ["\ud83d\udea9 Basic usage", "\ud83d\udea9 Tutorial", "\ud83d\udea9 Using redflag with Pandas", "\ud83d\udea9 Using redflag with sklearn", "Authors", "Changelog", "Contributing", "Development", "Redflag: safer ML by design", "\ud83d\udea9 Installation", "License", "redflag package"], "terms": {"welcom": [0, 2], "redflag": [0, 5, 7, 9], "It": [0, 1, 5, 11], "": [0, 1, 2, 3, 5, 6, 7, 10, 11], "still": [0, 3, 5], "earli": [0, 5], "dai": 0, "thi": [0, 1, 2, 3, 5, 6, 7, 10, 11], "librari": [0, 1, 8], "ar": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11], "few": [0, 3], "thing": [0, 1, 3], "you": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "can": [0, 1, 2, 3, 5, 6, 7, 9, 11], "do": [0, 1, 5, 8, 10, 11], "detect": [0, 1, 3, 5, 11], "label": [0, 1, 3, 5, 11], "ani": [0, 1, 3, 5, 10, 11], "other": [0, 1, 3, 5, 6, 7, 10, 11], "variabl": [0, 3, 11], "rf": [0, 1, 2, 3, 8], "__version__": [0, 1, 2], "0": [0, 1, 2, 3, 10, 11], "1": [0, 1, 2, 3, 10, 11], "dev1": [0, 1, 2], "ga3e5e5": [0, 1, 2], "panda": [0, 1, 3, 5, 8], "pd": [0, 1, 2, 3, 11], "df": [0, 1, 2, 3, 8], "read_csv": [0, 1, 2, 3], "http": [0, 1, 2, 3, 10, 11], "geocomp": [0, 1, 2, 3], "s3": [0, 1, 2, 3], "amazonaw": [0, 1, 2, 3], "com": [0, 1, 2, 3, 11], "panoma_training_data": [0, 1, 2, 3], "csv": [0, 1, 2, 3], "look": [0, 2, 3, 8], "transpos": [0, 3], "summari": [0, 3], "each": [0, 3, 5, 10, 11], "column": [0, 1, 3, 5, 11], "datafram": [0, 3, 8], "i": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "row": [0, 3, 5, 11], "here": [0, 3, 6], "describ": [0, 3, 10], "t": [0, 1, 3, 5, 7, 11], "count": [0, 3, 11], "mean": [0, 1, 2, 3, 5, 10, 11], "std": [0, 3], "min": [0, 1, 3, 11], "25": [0, 3, 11], "50": [0, 3, 10], "75": [0, 3, 11], "max": [0, 1, 3, 11], "depth": [0, 1, 2, 3], "3966": [0, 3], "882": [0, 3], "674555": [0, 3], "40": [0, 3, 11], "150056": [0, 3], "784": [0, 3], "402800": [0, 3], "858": [0, 3], "012000": [0, 3], "888": [0, 3], "339600": [0, 3], "913": [0, 3], "028400": [0, 3], "963": [0, 3], "320400": [0, 3], "relpo": [0, 1, 2, 3], "524999": [0, 3], "286375": [0, 3], "010000": [0, 3], "282000": [0, 3], "531000": [0, 3], "773000": [0, 3], "000000": [0, 3], "marin": [0, 1, 2, 3], "325013": [0, 3], "589539": [0, 3], "2": [0, 1, 2, 3, 10, 11], "gr": [0, 1, 2, 3, 11], "64": [0, 1, 3], "367899": [0, 3], "28": [0, 3], "414603": [0, 3], "12": [0, 1, 2, 3, 11], "036000": [0, 3], "45": [0, 1, 2, 3, 11], "311250": [0, 3], "840000": [0, 3], "78": [0, 1, 2, 3], "809750": [0, 3], "200": [0, 3, 11], "ild": [0, 1, 2, 3], "5": [0, 1, 2, 3, 5, 11], "240308": [0, 3], "3": [0, 1, 2, 3, 11], "190416": [0, 3], "340408": [0, 3], "169567": [0, 3], "4": [0, 1, 2, 3, 11], "305266": [0, 3], "6": [0, 1, 2, 3, 11], "664234": [0, 3], "32": [0, 3], "136605": [0, 3], "deltaphi": [0, 1, 2, 3], "469088": [0, 3], "922310": [0, 3], "21": [0, 3], "832000": [0, 3], "292500": [0, 3], "124750": [0, 3], "18": [0, 3], "600000": [0, 3], "phind": [0, 1, 2, 3], "13": [0, 1, 2, 3, 11], "008807": [0, 3], "936391": [0, 3], "550000": [0, 3], "8": [0, 1, 2, 3, 11], "196250": [0, 3], "11": [0, 1, 2, 3, 11], "781500": [0, 3], "16": [0, 3], "050000": [0, 3], "52": [0, 3], "369000": [0, 3], "pe": [0, 1, 2, 3], "686427": [0, 3], "815113": [0, 3], "200000": [0, 3], "123000": [0, 3], "514500": [0, 3], "241750": [0, 3], "094000": [0, 3], "faci": [0, 1, 2, 3], "471004": [0, 3], "406180": [0, 3], "9": [0, 1, 2, 3, 10, 11], "latitud": [0, 1, 2, 3], "37": [0, 1, 2, 3], "632575": [0, 3], "299398": [0, 3], "180732": [0, 3], "356426": [0, 3], "500380": [0, 3], "910583": [0, 3], "38": [0, 3], "063373": [0, 3], "longitud": [0, 1, 2, 3], "101": [0, 3], "294895": [0, 3], "230454": [0, 3], "646452": [0, 3], "389189": [0, 3], "325130": [0, 3], "106045": [0, 3], "100": [0, 1, 2, 3, 11], "987305": [0, 1, 2, 3], "ild_log10": [0, 1, 2, 3], "648860": [0, 3], "251542": [0, 3], "468000": [0, 3], "501000": [0, 3], "634000": [0, 3], "823750": [0, 3], "507000": [0, 3], "rhob": [0, 1, 2, 3], "2288": [0, 3], "861692": [0, 3], "218": [0, 3], "038459": [0, 3], "1500": [0, 3], "2201": [0, 3], "007475": [0, 3], "2342": [0, 3], "202051": [0, 3], "2434": [0, 3], "166399": [0, 3], "2802": [0, 3], "871147": [0, 3], "fairli": 0, "easi": [0, 1], "tell": [0, 1, 11], "numer": [0, 5, 11], "harder": 0, "decid": [0, 3, 11], "we": [0, 1, 2, 3, 5, 6, 11], "us": [0, 1, 5, 7, 8, 9, 10, 11], "is_continu": [0, 5, 11], "check": [0, 1, 3, 5, 11], "target": [0, 2, 3, 5, 8], "heurist": [0, 3, 5], "definit": [0, 5, 10, 11], "foolproof": 0, "intern": 0, "sometim": [0, 11], "how": [0, 1, 3, 5, 6], "treat": 0, "col": 0, "print": [0, 2, 5, 11], "f": 0, "20": [0, 3, 11], "well": [0, 1, 2, 3, 11], "name": [0, 1, 2, 3, 5, 10, 11], "fals": [0, 1, 5, 11], "true": [0, 1, 2, 3, 5, 11], "format": [0, 1, 2, 11], "lithologi": [0, 1, 2, 3], "mineralogi": [0, 1, 2], "siliciclast": [0, 1, 2], "These": [0, 1, 5], "all": [0, 1, 3, 5, 7, 9, 10, 11], "correct": [0, 11], "first": [0, 1, 2, 3, 11], "ll": [0, 1, 3], "measur": [0, 1, 3, 5, 11], "class_imbal": [0, 5], "For": [0, 1, 2, 3, 5, 9, 10, 11], "binari": [0, 11], "imbalac": 0, "ratio": [0, 1, 11], "between": [0, 5, 11], "major": [0, 1, 11], "minor": [0, 1, 3, 11], "class": [0, 1, 5, 8, 11], "multiclass": [0, 11], "degre": [0, 1, 5, 11], "ortigosa": [0, 11], "hernandez": [0, 11], "et": [0, 11], "al": [0, 11], "2017": [0, 11], "singl": [0, 3, 5, 11], "valu": [0, 1, 3, 5, 11], "explain": [0, 3], "mani": [0, 3, 5, 11], "b": [0, 10, 11], "skew": 0, "support": [0, 1, 3, 5, 10], "imbalance_degre": [0, 1, 2, 5, 8, 11], "378593040846633": [0, 1, 2], "To": [0, 1, 3, 5, 7, 11], "interpret": [0, 1], "number": [0, 1, 3, 5, 11], "two": [0, 1, 3, 7, 11], "part": [0, 1, 3, 5, 6, 10, 11], "The": [0, 1, 2, 4, 5, 7, 8, 10, 11], "integ": [0, 1, 5, 11], "equal": [0, 1], "m": [0, 1, 3, 5, 7, 11], "where": [0, 1, 5, 10, 11], "fraction": [0, 1, 11], "378": [0, 1], "amount": [0, 1], "dataset": [0, 1, 3, 5, 11], "balanc": [0, 1], "perfectli": [0, 1], "999": [0, 1, 11], "realli": [0, 1, 5], "bad": [0, 1], "If": [0, 1, 3, 5, 6, 7, 9, 10, 11], "have": [0, 1, 2, 3, 4, 5, 10, 11], "In": [0, 1, 3, 5, 10, 11], "gener": [0, 1, 3, 5, 6, 7, 10, 11], "statist": [0, 1, 3, 11], "more": [0, 1, 2, 3, 5, 7, 8, 10, 11], "inform": [0, 1, 3, 10], "than": [0, 1, 3, 5, 11], "commonli": [0, 1], "imbalance_ratio": [0, 1, 5, 11], "which": [0, 1, 3, 5, 7, 10, 11], "maximum": [0, 1, 11], "minimum": [0, 1, 3], "regard": [0, 1, 10], "get": [0, 1, 2, 7, 11], "those": [0, 1, 3, 10], "fewer": [0, 1, 11], "sampl": [0, 1, 3, 11], "expect": [0, 1, 3, 5, 11], "return": [0, 1, 3, 5, 11], "order": [0, 1, 3, 4, 5, 11], "smallest": [0, 1], "minority_class": [0, 1, 3, 5, 11], "dolomit": [0, 1, 3], "sandston": [0, 1, 3], "mudston": [0, 1, 3], "wackeston": [0, 1, 3], "dtype": [0, 1, 3, 11], "u10": [0, 1], "empir": [0, 3, 11], "observ": [0, 5, 11], "frequenc": [0, 11], "\u03b6": [0, 11], "e": [0, 1, 3, 5, 8, 11], "empirical_distribut": [0, 11], "39989914": 0, "18582955": 0, "15834594": 0, "04790721": 0, "13691377": 0, "07110439": 0, "same": [0, 1, 3, 5, 11], "uniqu": [0, 11], "note": [0, 3, 5, 11], "differ": [0, 1, 3, 5, 10, 11], "from": [0, 1, 3, 5, 8, 10, 11], "np": [0, 1, 3, 11], "sort": [0, 11], "siltston": [0, 1, 2, 3], "limeston": [0, 1], "object": [0, 1, 2, 3, 5, 10, 11], "also": [0, 1, 3, 5, 11], "inspect": [0, 5, 11], "displai": [0, 10], "ax": [0, 3], "value_count": 0, "plot": 0, "kind": [0, 1, 3, 5, 10, 11], "bar": 0, "add": [0, 1, 3, 5, 6, 9, 10, 11], "line": [0, 9], "level": [0, 3, 11], "axhlin": 0, "len": [0, 1, 11], "c": [0, 3, 5, 9, 10, 11], "r": [0, 11], "matplotlib": 0, "line2d": 0, "0x7fa5a8b9ddd0": 0, "get_outli": [0, 3, 5, 11], "function": [0, 1, 2, 3, 5, 7, 8, 11], "indic": [0, 3, 10, 11], "point": [0, 3, 11], "301": 0, "302": 0, "303": 0, "415": 0, "416": 0, "417": 0, "418": 0, "799": 0, "896": 0, "897": 0, "898": 0, "899": [0, 3], "996": 0, "997": 0, "1843": 0, "1844": 0, "2278": 0, "2279": 0, "2280": 0, "2638": 0, "2639": 0, "2640": 0, "2641": 0, "2642": 0, "2643": 0, "2920": 0, "2921": 0, "2922": 0, "3070": 0, "3071": 0, "3074": 0, "3075": 0, "3076": 0, "3079": [0, 2], "3080": [0, 2], "3081": 0, "3580": 0, "3581": 0, "3582": 0, "3583": 0, "see": [0, 1, 2, 3, 5, 6, 7, 11], "lie": [0, 11], "seaborn": [0, 1, 3], "sn": [0, 1, 3], "kdeplot": [0, 3], "rugplot": 0, "loc": [0, 1, 3, 11], "c1": 0, "lw": 0, "alpha": 0, "is_categorical_dtyp": [0, 1, 3], "deprec": [0, 1, 3, 5, 11], "remov": [0, 1, 3, 5], "futur": [0, 1, 2, 3, 5, 9, 11], "version": [0, 1, 3, 5, 7, 10, 11], "isinst": [0, 1, 3], "categoricaldtyp": [0, 1, 3], "instead": [0, 1, 3, 5, 11], "use_inf_as_na": [0, 1, 3], "option": [0, 1, 3, 7, 8, 11], "convert": [0, 1, 3, 11], "inf": [0, 1, 3], "nan": [0, 1, 3, 11], "befor": [0, 1, 3, 11], "oper": [0, 1, 3], "xlabel": [0, 3], "ylabel": [0, 3], "densiti": [0, 5, 11], "By": [0, 6, 11], "default": [0, 3, 5, 11], "an": [0, 2, 3, 5, 6, 9, 10, 11], "isol": [0, 3, 11], "forest": [0, 3, 11], "99": [0, 3, 11], "confid": [0, 3, 11], "opt": [0, 3], "local": [0, 1, 3, 7, 11], "factor": [0, 11], "ellipt": [0, 11], "envelop": [0, 11], "mahalanobi": [0, 5, 11], "distanc": [0, 3, 5, 11], "set": [0, 3, 9, 11], "choos": [0, 10], "equival": [0, 11], "threshold": [0, 1, 3, 5, 11], "standard": [0, 1, 3, 5, 11], "deviat": [0, 3, 5, 11], "awai": [0, 3], "signal": 0, "accept": [0, 10, 11], "univari": [0, 5, 11], "multivari": [0, 3, 5, 11], "method": [0, 2, 3, 5, 11], "mah": [0, 3, 11], "jointplot": 0, "x": [0, 1, 3, 5, 8, 11], "y": [0, 1, 3, 5, 8, 11], "hue": 0, "index_to_bool": [0, 11], "n": [0, 11], "axisgrid": [0, 1], "jointgrid": 0, "0x7fa58c9b2690": 0, "A": [0, 3, 8, 10, 11], "helper": [0, 5], "comput": [0, 5, 10, 11], "given": [0, 3, 8, 11], "size": [0, 1, 11], "assum": [0, 5, 10, 11], "gaussian": [0, 3, 11], "expected_outli": [0, 3, 11], "80": [0, 3, 11], "44": 0, "so": [0, 1, 3, 5, 9], "becaus": [0, 1, 3, 5, 11], "ha": [0, 1, 2, 3, 7, 10, 11], "lot": [0, 1, 3, 5, 11], "truncat": 0, "tail": 0, "test": [0, 3, 5, 8, 9, 11], "directli": [0, 2, 3, 5, 11], "has_outli": [0, 3, 5, 11], "compar": [0, 5, 8, 11], "result": [0, 3, 5, 10, 11], "numpi": [0, 1, 3, 11], "random": [0, 1, 3, 11], "normal": [0, 1, 5, 10, 11], "10_000": [0, 11], "d": [0, 1, 3, 7, 10, 11], "p": [0, 3, 11], "displot": [0, 1, 3], "facetgrid": [0, 1], "0x7fa58c978950": 0, "onli": [0, 1, 2, 3, 5, 10, 11], "about": [0, 5, 7, 8, 11], "60": 0, "10": [0, 1, 2, 11], "000": [0, 1, 2, 11], "record": [0, 1, 3, 5, 11], "been": [0, 1, 3, 5, 10], "multipl": [0, 1, 5, 11], "instanc": [0, 1, 11], "its": [0, 1, 2, 5, 10, 11], "There": [0, 1, 3, 6, 7, 8], "legitim": [0, 1], "reason": [0, 1, 3, 5, 10], "why": [0, 1, 3, 11], "might": [0, 1, 3], "happen": [0, 1, 7], "exampl": [0, 1, 2, 3, 5, 6, 7, 10, 11], "mai": [0, 1, 2, 3, 10, 11], "natur": [0, 1, 3], "bound": [0, 1, 11], "g": [0, 1, 3, 5, 8, 11], "poros": [0, 1], "alwai": [0, 1, 5], "greater": [0, 1], "deliber": [0, 1, 10], "prepar": [0, 1, 10], "process": [0, 1], "is_clip": [0, 1, 5, 11], "0x7fa58ca48950": 0, "tri": [0, 5], "guess": [0, 5], "follow": [0, 1, 3, 4, 7, 10, 11], "scipi": [0, 11], "stat": [0, 11], "norm": [0, 11], "cosin": 0, "expon": 0, "exponpow": 0, "gamma": [0, 1], "gumbel_l": 0, "gumbel_r": 0, "powerlaw": 0, "triang": [0, 11], "trapz": 0, "uniform": [0, 11], "along": [0, 3, 10], "paramet": [0, 3, 11], "locat": [0, 3, 11], "scale": [0, 1, 3, 11], "spite": 0, "find": [0, 1, 3, 5, 11], "nearli": 0, "best_distribut": [0, 11], "36789939485628": 0, "411020184908292": 0, "contrast": 0, "andbest": 0, "model": [0, 1, 3, 5, 11], "gumbel": 0, "040572536302586": 0, "93432972751726": 0, "0x7fa58c866d10": 0, "often": [0, 1, 3], "like": [0, 1, 2, 3, 5, 7, 9, 11], "implicit": 0, "our": [0, 1, 3, 11], "across": [0, 5, 11], "variou": [0, 1, 5], "respect": [0, 6], "both": [0, 3, 5, 7, 11], "wasserstein": [0, 3, 5, 11], "facilit": 0, "calcul": [0, 11], "aka": [0, 11], "earth": [0, 3], "mover": [0, 3], "train": [0, 1, 3, 5, 11], "score": [0, 1, 2, 3, 5, 11], "substanti": 0, "w": 0, "25985545": 0, "28404634": 0, "49139232": 0, "33701782": 0, "22736457": 0, "13473663": 0, "33672956": 0, "20969657": 0, "41216725": 0, "34568777": 0, "39729747": 0, "48092099": 0, "0801856": 0, "10675027": 0, "13740318": 0, "10325295": 0, "19913347": 0, "21828753": 0, "26995735": 0, "33063277": 0, "24612402": 0, "23889923": 0, "26699721": 0, "2350674": 0, "20666445": 0, "44112543": 0, "16229232": 0, "63527036": 0, "18187639": 0, "34992043": 0, "19400917": 0, "74988182": 0, "31761526": 0, "27206283": 0, "30255291": 0, "24779581": 0, "could": [0, 3], "heatmap": 0, "yticklabel": 0, "xticklabel": 0, "show": [0, 1, 3, 5, 11], "u": [0, 1, 11], "log": [0, 1, 3], "7": [0, 3, 11], "somewhat": 0, "anomal": [0, 5, 8], "suggest": [0, 11], "cross": [0, 1, 10, 11], "h": 0, "cattl": 0, "sklearn": [0, 1, 2, 5, 8], "model_select": [0, 1], "train_test_split": [0, 1], "preprocess": [0, 1, 3], "standardscal": [0, 1, 3], "x_train": [0, 1, 3, 11], "x_": 0, "test_siz": 0, "random_st": [0, 11], "42": [0, 1, 11], "re": [0, 1, 3, 6, 11], "illustr": 0, "purpos": [0, 10], "valid": [0, 1, 3, 11], "wai": [0, 1, 2, 3, 5, 6, 8, 11], "indeped": 0, "x_val": [0, 11], "x_test": [0, 1, 3], "should": [0, 1, 3, 5, 7, 11], "scaler": [0, 1], "fit_transform": [0, 8, 11], "transform": [0, 1, 5, 8, 10, 11], "case": [0, 5, 11], "pass": [0, 3, 5, 11], "them": [0, 3, 5, 11], "list": [0, 10, 11], "tupl": [0, 11], "03860982": 0, "02506236": 0, "04321734": 0, "03437337": 0, "04402681": 0, "02528225": 0, "0385111": 0, "05694201": 0, "04388196": 0, "049464": 0, "05560379": 0, "04002712": 0, "quit": [0, 5], "low": [0, 1, 3, 5, 11], "randomli": [0, 1, 3, 11], "correl": [0, 1, 2, 3, 11], "lag": [0, 1], "shift": [0, 1, 3], "itself": [0, 1, 3, 6, 11], "sever": [0, 1, 3, 5, 6], "themselv": [0, 1, 3, 11], "is_correl": [0, 1, 11], "depend": [0, 1, 5, 8, 11], "That": [0, 1, 3, 11], "shuffl": [0, 1], "doe": [0, 1, 3, 5, 10, 11], "to_numpi": [0, 1], "copi": [0, 1, 5, 10], "know": [0, 3, 5], "most": [0, 3, 5, 7, 11], "seri": [0, 5, 8, 11], "your": [0, 5, 8, 10], "assess": [0, 11], "averag": [0, 11], "serv": [0, 5], "control": [0, 10], "let": [0, 1, 2, 3], "small": [0, 3, 5, 11], "come": [0, 2, 5, 11], "veri": [0, 1, 2, 3, 5], "close": [0, 5, 11], "zero": [0, 11], "constant": 0, "classif": [0, 2, 5, 11], "task": [0, 1, 2, 5, 11], "imagin": 0, "try": [0, 1, 2, 3, 11], "predict": [0, 1, 3, 5, 11], "feature_import": [0, 1, 5, 11], "24840897": 0, "34972206": 0, "32817662": 0, "07369235": 0, "unsurprisingli": 0, "useless": 0, "help": [0, 1, 5, 6, 7, 9], "least": [0, 1, 5, 10, 11], "least_important_featur": [0, 5, 11], "And": 0, "complementari": [0, 5], "report": [0, 2, 5, 6, 11], "most_important_featur": [0, 5, 11], "now": [0, 1, 2, 3, 5], "regress": [0, 2, 5, 11], "includ": [0, 1, 3, 5, 10, 11], "dummi": [0, 1, 2, 3, 5, 11], "08955964": 0, "35788656": 0, "525743": 0, "0268108": 0, "less": [0, 5, 11], "again": 0, "go": 1, "featur": [1, 2, 3, 5, 6, 8, 11], "problem": [1, 3, 11], "machin": [1, 8], "learn": [1, 3, 5, 8, 11], "need": [1, 5, 7, 11], "packag": [1, 3, 5, 8, 9], "run": [1, 3, 5, 7, 11], "code": [1, 5, 10, 11], "burn": 1, "ourselv": 1, "19": [1, 11], "23": 1, "35": [1, 2, 11], "59": 1, "31": [1, 3, 11], "rai": 1, "ss": 1, "svm": [1, 3, 5], "svc": [1, 3], "clf": 1, "kernel": [1, 5, 11], "linear": 1, "fit": [1, 3, 10, 11], "arrai": [1, 3, 5, 11], "u2": 1, "far": [1, 3], "good": [1, 11], "everyth": 1, "work": [1, 3, 5, 10, 11], "someon": 1, "x_scale": 1, "oop": 1, "unscal": 1, "easili": [1, 3, 5], "done": 1, "peopl": [1, 4], "stack": [1, 11], "overflow": 1, "wonder": 1, "thei": [1, 2, 3, 5, 11], "ve": 1, "someth": [1, 3, 5, 11], "even": [1, 2, 10], "easier": [1, 5], "common": [1, 5, 10, 11], "pattern": [1, 8, 11], "y_train": [1, 3, 11], "y_test": [1, 3], "x_train_scal": 1, "x_test_scal": 1, "three": [1, 3, 8, 11], "block": [1, 5], "split": [1, 3, 5, 11], "total": [1, 5, 11], "stratifi": [1, 2, 3, 5, 11], "preserv": 1, "wa": [1, 5, 10, 11], "entir": [1, 5, 11], "leak": 1, "hidden": 1, "cannot": [1, 3, 10, 11], "plenti": 1, "too": [1, 3, 5, 11], "reproduc": [1, 5, 10], "enough": [1, 3], "etc": [1, 3, 11], "error": 1, "everywher": [1, 6], "want": [1, 3, 9, 11], "chang": [1, 3, 5, 10], "sure": [1, 3, 5], "v0": 1, "otherwis": [1, 10, 11], "python": [1, 3, 5, 7, 8], "pip": [1, 7, 8, 9], "instal": [1, 2, 5, 8], "environ": [1, 3, 5, 9], "head": [1, 2], "shrimplin": [1, 2], "851": [1, 2], "3064": [1, 2], "a1": [1, 2], "sh": [1, 2], "77": [1, 2, 3], "613176": [1, 2], "915": [1, 2], "978076": [1, 2], "664": [1, 2], "2393": [1, 2], "499945": [1, 2], "4588": [1, 2], "979": [1, 2], "26": [1, 2], "581419": [1, 2], "14": [1, 2], "565": [1, 2], "661": [1, 2], "2416": [1, 2], "119814": [1, 2], "6112": [1, 2], "957": [1, 2], "79": [1, 2], "05": [1, 2, 11], "549881": [1, 2], "050": [1, 2], "658": [1, 2], "2404": [1, 2], "576056": [1, 2], "7636": [1, 2], "936": [1, 2], "86": [1, 2], "518559": [1, 2], "115": [1, 2], "655": [1, 2], "249071": [1, 2], "9160": [1, 2], "74": [1, 2], "58": [1, 2], "436086": [1, 2], "300": [1, 2], "647": [1, 2], "2382": [1, 2], "602601": [1, 2], "later": [1, 3, 11], "spuriou": 1, "rng": [1, 11], "default_rng": [1, 11], "nois": [1, 3], "algorithm": 1, "flag": [1, 3, 11], "outlier": [1, 2, 3, 5, 8], "distribut": [1, 3, 5, 8, 10], "shape": [1, 3, 8, 11], "0x7f4a91901850": 1, "But": [1, 3], "around": 1, "issu": [1, 3, 5, 6, 10, 11], "40817216": 1, "20385381": 1, "31665051": 1, "07132352": 1, "As": [1, 2, 3, 8], "hope": 1, "attribut": [1, 10, 11], "shown": 1, "possibl": [1, 3, 5, 10], "would": [1, 11], "nice": 1, "smoke": [1, 8], "alarm": [1, 5, 11], "prebuilt": 1, "won": 1, "abl": 1, "catch": 1, "howev": [1, 5, 10], "hard": [1, 5], "spot": 1, "self": [1, 3, 11], "alert": [1, 11], "user": 1, "potenti": [1, 11], "provid": [1, 3, 5, 10, 11], "wrap": [1, 5, 11], "anywai": 1, "sensibl": 1, "test_wel": [1, 3], "crawford": [1, 3], "stuart": [1, 3], "test_flag": [1, 3], "isin": [1, 3], "step": [1, 3, 11], "x27": [1, 3], "imbalancedetector": [1, 5, 8, 11], "clipdetector": [1, 5, 11], "correlationdetector": [1, 5, 11], "multimod": [1, 3, 5, 11], "multimodalitydetector": [1, 3, 5, 11], "outlierdetector": [1, 5, 11], "distributioncompar": [1, 5, 11], "importancedetector": [1, 5, 11], "dummypredictor": [1, 3, 11], "jupyt": [1, 3], "pleas": [1, 3, 6, 7, 9, 11], "rerun": [1, 3], "cell": [1, 3], "html": [1, 3, 7], "represent": [1, 3], "trust": [1, 3], "notebook": [1, 3, 5], "On": [1, 3], "github": [1, 3, 7, 8, 11], "unabl": [1, 3], "render": [1, 3], "page": [1, 3, 5, 7, 8], "nbviewer": [1, 3], "org": [1, 3, 10, 11], "pipelinepipelin": [1, 3], "imbalancedetectorimbalancedetector": [1, 3], "clipdetectorclipdetector": [1, 3], "correlationdetectorcorrelationdetector": [1, 3], "multimodalitydetectormultimodalitydetector": [1, 3], "outlierdetectoroutlierdetector": [1, 3], "distributioncomparatordistributioncompar": [1, 3], "importancedetectorimportancedetector": [1, 3], "dummypredictordummypredictor": [1, 3], "make_pipelin": [1, 3, 11], "pipe": [1, 3, 11], "standardscalerstandardscal": [1, 3], "svcsvc": [1, 3], "imbalanc": [1, 3, 11], "420": [1, 3], "400": [1, 3], "minority_classes_": [1, 3, 11], "\u2139": [1, 3], "succeed": [1, 3], "group": [1, 3, 5, 11], "316": 1, "v": [1, 3, 11], "relev": [1, 5], "classifi": [1, 3, 5], "f1": [1, 2, 3, 5, 11], "2562046792503389": 1, "roc_auc": [1, 2, 3, 11], "4937139556627474": 1, "strategi": [1, 2, 3, 5, 11], "643721188696941": 1, "detector": [1, 5, 8, 11], "def": [1, 3], "has_neg": [1, 11], "bool": [1, 3, 11], "trigger": [1, 3, 5, 11], "neg": [1, 3, 11], "negative_detector": [1, 3], "nb": 1, "func": [1, 3, 11], "lt": [1, 3], "baseredflagdetector": [1, 3, 11], "__init__": [1, 3], "gt": [1, 3], "lambda": [1, 3, 11], "0x7f4a917bfce0": 1, "messag": [1, 3, 5, 11], "detectordetector": [1, 3], "ad": [1, 5], "posit": [1, 5, 11], "what": [1, 5, 8, 11], "care": [1, 5], "basic_usag": [2, 3, 5], "ipynb": [2, 3, 5], "using_redflag_with_panda": 2, "some": [2, 3, 5, 6, 8, 11], "give": [2, 3, 5, 10], "access": [2, 5], "almost": [2, 5], "were": [2, 3, 5, 11], "best": [2, 5, 11], "idea": [2, 3], "though": 2, "import": [2, 3, 5, 6, 8, 10], "long": 2, "regist": 2, "data": [2, 3, 5, 8, 11], "time": [2, 3, 11], "being": [2, 3, 11], "call": [2, 3, 5, 11], "simplic": 2, "notic": [2, 10], "extra": 2, "insert": 2, "Or": [2, 9], "ask": 2, "new": [2, 3, 5, 6, 7], "dummy_scor": [2, 5, 11], "24308613668344808": 2, "49544118310710333": 2, "mean_squared_error": [2, 11], "47528": 2, "78263092096": 2, "r2": [2, 5, 11], "simpl": [2, 8], "continu": [2, 5, 8, 11], "suitabl": [2, 5], "34": 2, "140": 2, "141": 2, "142": 2, "143": 2, "175": 2, "182": 2, "532": 2, "581": 2, "583": 2, "633": 2, "662": 2, "757": 2, "768": 2, "769": 2, "801": 2, "1316": 2, "1547": 2, "1744": 2, "1754": 2, "1756": 2, "1778": 2, "1779": 2, "1780": 2, "1784": 2, "1788": 2, "1808": 2, "1812": 2, "2884": 2, "2932": 2, "2973": 2, "2974": 2, "3004": 2, "3087": 2, "3094": 2, "3109": 2, "experiment": [2, 5], "releas": [2, 5, 7], "feedback": 2, "soon": [2, 5], "rais": [3, 11], "red": 3, "load": [3, 8], "independ": [3, 5, 8], "furthermor": 3, "clip": [3, 5, 8, 11], "histplot": 3, "hostedtoolcach": 3, "x64": 3, "lib": 3, "python3": 3, "site": 3, "_oldcor": 3, "py": [3, 5, 11], "1498": 3, "futurewarn": 3, "api": [3, 11], "type": [3, 10, 11], "vector": [3, 11], "1119": 3, "option_context": 3, "mode": 3, "main": [3, 5, 7, 8], "subsequ": [3, 5, 10, 11], "product": [3, 5, 10], "mostli": [3, 5], "unsupervis": [3, 11], "iid": [3, 8], "particular": [3, 10], "univariateoutlierdetector": [3, 11], "consid": [3, 5, 6, 11], "separ": [3, 10, 11], "usual": 3, "probabl": [3, 5, 11], "multivariateoutlierdetector": [3, 11], "togeth": [3, 11], "dure": [3, 11], "word": [3, 5, 11], "examin": 3, "final": [3, 11], "one": [3, 5, 10, 11], "bit": [3, 5], "supervis": 3, "base": [3, 10, 11], "fulli": 3, "triger": 3, "similar": [3, 5], "seen": 3, "ordinari": 3, "rfpipelin": [3, 5, 11], "contain": [3, 5, 7, 10, 11], "out": [3, 10], "read": [3, 6, 7, 9], "compat": 3, "requir": [3, 5, 7, 10, 11], "comparison": [3, 5], "avail": [3, 10], "anoth": [3, 6, 11], "compos": 3, "multi": [3, 11], "make_rf_pipelin": [3, 5, 11], "just": [3, 5, 7, 11], "carri": [3, 8, 10], "phase": 3, "categor": [3, 5, 8, 11], "input": [3, 11], "349": 3, "2553305717063476": 3, "5040393210009199": 3, "3682141715600706": 3, "when": [3, 5, 11], "categori": [3, 11], "y_pred": 3, "30": [3, 11], "argument": [3, 5, 11], "element": [3, 11], "redflag_pipelin": 3, "compon": [3, 5, 8, 11], "yet": [3, 5], "sensit": [3, 11], "instanti": [3, 5, 11], "construct": [3, 11], "drop": 3, "leav": 3, "don": [3, 7, 11], "think": 3, "troubl": 3, "lower": [3, 11], "qualifi": 3, "rememb": 3, "longer": [3, 5], "839": 3, "626": 3, "154443705823081": 3, "higher": 3, "fail": [3, 5], "mention": 3, "whether": [3, 10, 11], "never": 3, "rfpipelinerfpipelin": 3, "imbalancecomparatorimbalancecompar": 3, "therefor": [3, 11], "infer": [3, 11], "66": 3, "276": 3, "2359": 3, "73324716": 3, "591": 3, "252": 3, "2354": 3, "54679144": 3, "341": 3, "82": 3, "2330": 3, "35783664": 3, "064": 3, "90": [3, 11], "49": [3, 11], "2193": 3, "06953439": 3, "168": 3, "975": 3, "2192": 3, "32922081": 3, "154": 3, "108": 3, "2176": 3, "62535394": 3, "125": 3, "emit": [3, 5, 11], "has_nan": [3, 5, 11], "isnan": 3, "0x7f9497cdb380": 3, "make_detector_pipelin": [3, 5, 11], "combin": [3, 10, 11], "ab": [3, 11], "custom": [3, 5, 11], "0x7f9497cdb6a0": 3, "0x7f9497cdbe20": 3, "class_count": [3, 11], "worri": 3, "concern": 3, "seem": [3, 5, 11], "lose": 3, "dynam": 3, "rang": [3, 5, 11], "daili": 3, "temperatur": [3, 11], "europ": 3, "deg": 3, "dealt": 3, "attenu": 3, "larg": [3, 6, 11], "sens": [3, 5, 11], "simpli": 3, "suspici": 3, "without": [3, 10], "perform": [3, 5, 10, 11], "awar": 3, "research": 3, "contigu": 3, "space": 3, "spatial": [3, 11], "rock": 3, "properti": [3, 11], "assumpt": [3, 8, 11], "One": 3, "big": 3, "pitfal": 3, "non": [3, 5, 10], "must": [3, 10, 11], "leakag": [3, 8], "thu": [3, 11], "over": [3, 11], "optimist": 3, "evaul": 3, "date": [3, 10], "patient": 3, "id": [3, 11], "borehol": 3, "implement": [3, 5, 11], "robust": [3, 11], "covari": [3, 11], "insensit": 3, "dimension": 3, "analog": [3, 11], "varianc": [3, 11], "certain": 3, "fall": 3, "centr": 3, "within": [3, 10, 11], "sd": [3, 11], "1000": [3, 11], "val": 3, "iso": [3, 11], "okai": 3, "keep": 3, "bin": [3, 11], "No": [3, 5, 11], "evalu": [3, 5], "turn": [3, 11], "treatment": 3, "crack": 3, "sign": 3, "violat": 3, "ident": [3, 8, 11], "current": [3, 5, 11], "visual": 3, "especi": 3, "ignor": [3, 11], "forget": 3, "appli": [3, 5, 10, 11], "domain": 3, "geograph": 3, "widget": 3, "select": 3, "unintend": 3, "classic": 3, "medic": 3, "diagnosi": 3, "encod": 3, "hand": [3, 11], "distract": 3, "improv": [3, 5, 6, 10], "desir": 3, "contribut": [4, 8, 10], "project": [4, 6, 7], "alphabet": 4, "matt": 4, "hall": 4, "agil": [4, 6], "scientif": 4, "canada": 4, "orcid": 4, "0000": 4, "0002": 4, "4054": 4, "8295": 4, "conda": [5, 7, 8, 9], "manag": [5, 10], "forg": [5, 8, 9], "warn": [5, 8, 11], "valueexcept": 5, "allow": [5, 11], "build": 5, "pipelin": [5, 8, 11], "break": 5, "is_ord": [5, 11], "markov": [5, 8], "chain": [5, 11], "analysi": 5, "chi": [5, 11], "squar": [5, 11], "transit": [5, 11], "matrix": [5, 11], "boolean": [5, 11], "perhap": 5, "below": [5, 8, 10, 11], "is_multimod": [5, 11], "present": [5, 11], "modal": 5, "partit": [5, 11], "insufficientdatadetector": [5, 11], "regressionmultimodaldetector": 5, "multimodaldetector": 5, "accessor": [5, 8, 11], "via": 5, "subject": [5, 10], "make": [5, 6, 7, 8, 10, 11], "text": [5, 10], "document": [5, 6, 7, 9, 10], "dummy_classification_scor": [5, 11], "dummy_regression_scor": [5, 11], "naiv": [5, 11], "mse": [5, 11], "roc": [5, 11], "auc": [5, 11], "addition": 5, "most_frequ": [5, 11], "emploi": 5, "suit": [5, 11], "appropri": [5, 10, 11], "move": 5, "update_p": [5, 11], "util": [5, 8], "is_imbalanc": [5, 11], "imbal": [5, 8], "up": [5, 11], "debat": 5, "has_low_distance_stdev": 5, "resembl": 5, "semant": 5, "success": 5, "1d": [5, 11], "write": [5, 6, 10], "own": [5, 8, 10], "take": [5, 11], "sequenc": [5, 11], "map": 5, "scikit": [5, 8, 11], "unimod": 5, "redefin": 5, "is_standard": [5, 11], "is_standard_norm": [5, 11], "kolmogorov": [5, 11], "smirnov": [5, 11], "reliabl": 5, "exactli": [5, 11], "roughli": 5, "slightli": 5, "exist": 5, "none": [5, 11], "eg": 5, "sinc": 5, "knn": [5, 11], "estim": [5, 11], "third": [5, 10, 11], "unstabl": 5, "caus": [5, 10], "erron": 5, "consecut": [5, 11], "tutori": [5, 6, 8], "doc": 5, "button": 5, "half": [5, 11], "high": [5, 11], "imbalancecompar": [5, 11], "throw": 5, "garden": 5, "special": [5, 10], "straight": 5, "fork": [5, 8], "claus": [5, 11], "bsd": [5, 11], "licens": [5, 8, 11], "using_redflag_with_sklearn": 5, "buggi": 5, "convers": [5, 10, 11], "discret": [5, 11], "ones": [5, 11], "test_redflag": 5, "file": [5, 7, 10], "wherea": 5, "doctest": [5, 7], "onc": 5, "pytest": [5, 7], "coverag": 5, "94": 5, "excess": [5, 11], "reorgan": 5, "modul": [5, 8], "namespac": 5, "doesn": 5, "affect": 5, "confus": 5, "either": [5, 7, 10, 11], "conveni": [5, 11], "oneclasssvm": 5, "ellipticenvelop": 5, "zscore_outli": 5, "kde_peak": [5, 11], "peak": [5, 11], "fit_kd": [5, 11], "get_kd": [5, 11], "find_large_peak": [5, 11], "bandwidth": [5, 11], "bw_silverman": [5, 11], "bw_scott": [5, 11], "overrid": 5, "fix": [5, 6], "bug": [5, 6], "using_redflag": 5, "has_monoton": [5, 11], "has_flat": [5, 11], "interpol": 5, "iter_group": [5, 11], "ecdf": [5, 11], "flatten": [5, 11], "stdev_to_proport": [5, 11], "proportion_to_stdev": [5, 11], "wrote": 5, "95": [5, 11], "has_few_sampl": [5, 11], "appear": [5, 10, 11], "z": [5, 11], "goe": 5, "ci": 5, "workflow": [5, 7, 8], "stabl": 5, "flail": 5, "auto": [5, 11], "thank": 6, "submit": [6, 10], "request": [6, 7], "propos": 6, "pull": [6, 7], "typo": 6, "fortun": 6, "profession": 6, "commun": [6, 10], "mutual": 6, "consider": 6, "scienxlab": 6, "protect": 6, "everyon": 6, "wish": 6, "identifi": [6, 11], "author": [6, 8, 10], "yourself": 6, "md": [6, 7], "agre": [6, 10], "shall": [6, 10], "govern": 6, "term": [6, 10], "unless": [6, 10], "specif": [6, 11], "agreement": [6, 10], "made": [6, 10, 11], "start": [7, 11], "dev": [7, 9], "back": [7, 11], "cov": 7, "docstr": 7, "further": 7, "folder": 7, "repo": 7, "pep": 7, "518": 7, "style": 7, "tar": 7, "gz": 7, "whl": 7, "command": [7, 9], "cd": 7, "sphinx": 7, "manual": 7, "stuff": 7, "makefil": 7, "script": 7, "updat": [7, 11], "publish": [7, 11], "action": 7, "push": 7, "upload": 7, "pypi": 7, "interfac": [7, 10, 11], "lightweight": 8, "safeti": 8, "net": 8, "ndarrai": [8, 11], "analys": 8, "threat": 8, "channel": [8, 9], "program": 8, "standalon": 8, "explor": 8, "basic": 8, "usag": 8, "metric": [8, 11], "pre": 8, "built": [8, 11], "submodul": 8, "content": [8, 10], "develop": [8, 9], "changelog": 8, "index": [8, 11], "search": [8, 11], "At": 9, "sourc": [9, 10], "config": 9, "channel_prior": 9, "strict": 9, "apach": 10, "januari": 10, "2004": 10, "www": 10, "AND": 10, "condit": [10, 11], "FOR": 10, "reproduct": 10, "defin": [10, 11], "section": 10, "through": 10, "licensor": 10, "copyright": 10, "owner": 10, "entiti": 10, "grant": 10, "legal": 10, "union": [10, 11], "act": 10, "under": [10, 11], "power": 10, "direct": [10, 11], "indirect": 10, "contract": 10, "ii": 10, "ownership": 10, "fifti": 10, "percent": 10, "outstand": 10, "share": 10, "iii": 10, "benefici": 10, "individu": 10, "exercis": 10, "permiss": 10, "form": 10, "prefer": 10, "modif": 10, "limit": 10, "softwar": 10, "configur": 10, "mechan": 10, "translat": 10, "compil": 10, "media": 10, "authorship": 10, "attach": 10, "appendix": 10, "deriv": [10, 11], "editori": 10, "revis": 10, "annot": 10, "elabor": 10, "repres": [10, 11], "whole": [10, 11], "origin": [10, 11], "remain": 10, "mere": 10, "link": 10, "bind": 10, "thereof": 10, "addit": [10, 11], "intention": 10, "inclus": 10, "behalf": 10, "electron": 10, "verbal": 10, "written": 10, "sent": 10, "mail": 10, "system": [10, 11], "track": 10, "discuss": 10, "exclud": 10, "conspicu": 10, "mark": [10, 11], "design": 10, "Not": [10, 11], "contributor": [10, 11], "whom": 10, "receiv": 10, "incorpor": 10, "herebi": 10, "perpetu": 10, "worldwid": 10, "exclus": 10, "charg": 10, "royalti": 10, "free": 10, "irrevoc": 10, "publicli": 10, "sublicens": 10, "patent": 10, "except": 10, "state": [10, 11], "offer": 10, "sell": 10, "transfer": 10, "claim": 10, "necessarili": 10, "infring": 10, "alon": 10, "institut": 10, "litig": 10, "against": [10, 11], "counterclaim": 10, "lawsuit": 10, "alleg": 10, "constitut": 10, "contributori": 10, "termin": 10, "redistribut": 10, "medium": 10, "meet": [10, 11], "recipi": 10, "modifi": 10, "promin": 10, "retain": 10, "trademark": 10, "pertain": 10, "readabl": 10, "place": 10, "wherev": 10, "parti": 10, "alongsid": 10, "addendum": 10, "constru": 10, "statement": 10, "compli": 10, "submiss": 10, "explicitli": 10, "notwithstand": 10, "abov": [10, 11], "noth": [10, 11], "herein": 10, "supersed": 10, "execut": 10, "trade": 10, "servic": 10, "customari": 10, "disclaim": 10, "warranti": 10, "applic": 10, "law": 10, "AS": 10, "basi": 10, "OR": 10, "OF": 10, "express": [10, 11], "impli": 10, "titl": 10, "merchant": 10, "sole": 10, "respons": 10, "determin": [10, 11], "risk": 10, "associ": 10, "liabil": 10, "event": [10, 11], "theori": 10, "tort": 10, "neglig": 10, "grossli": 10, "liabl": 10, "damag": 10, "incident": 10, "consequenti": 10, "charact": [10, 11], "aris": 10, "inabl": 10, "loss": 10, "goodwil": 10, "stoppag": 10, "failur": 10, "malfunct": 10, "commerci": 10, "advis": 10, "while": [10, 11], "fee": 10, "indemn": 10, "oblig": 10, "right": 10, "consist": 10, "indemnifi": 10, "defend": 10, "hold": 10, "harmless": 10, "incur": 10, "assert": 10, "end": [10, 11], "relat": 11, "understand": 11, "_supportsarrai": 11, "_nestedsequ": 11, "int": 11, "float": 11, "complex": 11, "str": 11, "byte": 11, "namedtupl": 11, "histogram": 11, "8771812708978117": 11, "5001419889107208": 11, "3286356643172673": 11, "3406453953773365": 11, "scott": 11, "6162678270732356": 11, "1e": 11, "silverman": 11, "bw": 11, "1981": 11, "investig": 11, "journal": 11, "royal": 11, "societi": 11, "vol": 11, "43": 11, "pp": 11, "97": 11, "581810759152688": 11, "cv_kde": 11, "n_bandwidth": 11, "cv": 11, "grid": 11, "optim": 11, "fold": 11, "5212113989811242": 11, "traceback": 11, "recent": 11, "last": 11, "valueerror": 11, "largest": 11, "amplitud": 11, "cut": 11, "off": 11, "smaller": 11, "x_peak": 11, "y_peak": 11, "15": 11, "kde": 11, "2124714013056916": 11, "014367259502733645": 11, "rule": 11, "thumb": 11, "354649738246933": 11, "162332012191087": 11, "per": 11, "concaten": 11, "67243035": 11, "88998226": 11, "22014721": 11, "19729456": 11, "ovr": 11, "reduc": 11, "callabl": 11, "ovo": 11, "full": 11, "axi": 11, "wasserstein_ovo": 11, "2d": 11, "latter": 11, "implicitli": 11, "reshap": 11, "97490053": 11, "1392715": 11, "11417203": 11, "69635752": 11, "22475": 11, "39754762": 11, "71161667": 11, "24495": 11, "wasserstein_multi": 11, "pairwis": 11, "squareform": 11, "match": 11, "k": 11, "55708601": 11, "39271504": 11, "83562902": 11, "wasserstein_ovr": 11, "rest": 11, "refer": 11, "jonathan": 11, "inaki": 11, "inza": 11, "jose": 11, "lozano": 11, "extent": 11, "recognit": 11, "letter": 11, "98": 11, "doi": 11, "1016": 11, "j": 11, "patrec": 11, "08": 11, "002": 11, "dict": 11, "counter": 11, "recommend": 11, "omit": 11, "encount": 11, "diverg": 11, "helling": 11, "string": 11, "euclidean": 11, "manhattan": 11, "kl": 11, "tv": 11, "actual": 11, "zeta": 11, "equat": 11, "length": 11, "discov": 11, "furthest_distribut": 11, "ir": 11, "furthest": 11, "reflect": 11, "minu": 11, "accord": 11, "eq": 11, "mathrm": 11, "frac": 11, "d_": 11, "delta": 11, "mathbf": 11, "iota": 11, "_m": 11, "l1": 11, "l2": 11, "variat": 11, "kullback": 11, "leibner": 11, "generate_data": 11, "288": 11, "round": 11, "76": 11, "629": 11, "333": 11, "511": 11, "81": 11, "61": 11, "73": 11, "65": 11, "major_minor": 11, "maj": 11, "logist": 11, "permut": 11, "lasso": 11, "cluster": 11, "highest": 11, "kept": 11, "55": 11, "85": 11, "99416839": 11, "00583161": 11, "x0": 11, "x1": 11, "x2": 11, "cutoff": 11, "01": 11, "24": 11, "int64": 11, "revers": 11, "chunk": 11, "agilescientif": 11, "striplog": 11, "markov_chain": 11, "observed_count": 11, "include_self": 11, "chi_squar": 11, "q": 11, "critic": 11, "bigger": 11, "second": 11, "reject": 11, "hypothesi": 11, "degrees_of_freedom": 11, "expected_freq": 11, "classmethod": 11, "from_sequ": 11, "strings_are_st": 11, "pars": 11, "specifi": 11, "upward": 11, "inner": 11, "token": 11, "sst": 11, "mud": 11, "lst": 11, "previou": 11, "dimens": 11, "generate_st": 11, "current_st": 11, "next": 11, "normalized_differ": 11, "observed_freq": 11, "hollow_matrix": 11, "hollow": 11, "diagon": 11, "arg": 11, "seq_of_seq": 11, "regular": 11, "plu": 11, "atleast_2d": 11, "137": 11, "contamin": 11, "approxim": 11, "lof": 11, "ee": 11, "mahanalobi": 11, "inlier": 11, "convent": 11, "four": 11, "33": 11, "multipli": 11, "rousseeuw": 11, "van": 11, "driessen": 11, "n_sampl": 11, "n_featur": 11, "6583124": 11, "1055416": 11, "5527708": 11, "01173463": 11, "67448975": 11, "33724488": 11, "mahalanobis_outli": 11, "stdev": 11, "outsid": 11, "70": 11, "89163847": 11, "million": 11, "datapoint": 11, "billion": 11, "seriesaccessor": 11, "pandas_obj": 11, "null_decor": 11, "decor": 11, "kwarg": 11, "baseestim": 11, "transformermixin": 11, "fit_param": 11, "n_output": 11, "x_new": 11, "n_features_new": 11, "sin": 11, "linspac": 11, "38077051": 11, "42977406": 11, "05260728": 11, "92571458": 11, "81188195": 11, "7482485": 11, "84147098": 11, "warn_if_zero": 11, "memori": 11, "expens": 11, "anyth": 11, "bother": 11, "min_class_diff": 11, "imbalance_": 11, "adjust": 11, "unusu": 11, "difficult": 11, "suffici": 11, "mutlivari": 11, "1_000": 11, "12573022": 11, "13210486": 11, "64042265": 11, "10490012": 11, "53566937": 11, "36159505": 11, "24972527": 11, "75063397": 11, "55581573": 11, "01881162": 11, "90942756": 11, "36922933": 11, "outliers_": 11, "beyond": 11, "covarianc": 11, "verbos": 11, "adapt": 11, "handl": 11, "prior": 11, "iter": 11, "fulfil": 11, "xt": 11, "n_transformed_featur": 11, "formatwarn": 11, "presenc": 11, "mappabl": 11, "correspond": 11, "safer": 11, "shorthand": 11, "constructor": 11, "permit": 11, "lowercas": 11, "automat": 11, "joblib": 11, "cach": 11, "path": 11, "directori": 11, "enabl": 11, "clone": 11, "named_step": 11, "advantag": 11, "consum": 11, "elaps": 11, "complet": 11, "baselin": 11, "dummyclassifi": 11, "dictionari": 11, "seed": 11, "3333333333333333": 11, "20000000000000004": 11, "35654761904761906": 11, "dummyregressor": 11, "tomorrow": 11, "rain": 11, "cloud": 11, "sun": 11, "is_binari": 11, "root": 11, "whichev": 11, "arr": 11, "randint": 11, "is_multiclass": 11, "is_multioutput": 11, "output": 11, "typeerror": 11, "top": 11, "middl": 11, "bottom": 11, "n_class": 11, "bool_to_index": 11, "cond": 11, "get_idx": 11, "_type": 11, "_array_lik": 11, "_nested_sequ": 11, "nonetyp": 11, "stepsiz": 11, "coeffici": 11, "decim": 11, "5163977794943222": 11, "instruct": 11, "param": 11, "human": 11, "friendli": 11, "migrat": 11, "add_proxi": 11, "asap": 11, "downsampl": 11, "cdf": 11, "switch": 11, "weight": 11, "mid": 11, "halfwai": 11, "formal": 11, "unbias": 11, "everi": 11, "foo": 11, "l": 11, "toler": 11, "flat": 11, "interv": 11, "monoton": 11, "idx": 11, "is_numer": 11, "atol": 11, "001": 11, "faster": 11, "isclos": 11, "\u03bc": 11, "\u03c3": 11, "allclos": 11, "absolut": 11, "yield": 11, "mask": 11, "ordered_uniqu": 11, "item": 11, "unord": 11, "fast": 11, "reli": 11, "job": 11, "slow": 11, "1000000000": 11, "invers": 11, "magnif": 11, "hyperellipsoid": 11, "sdhe": 11, "proport": 11, "2816": 11, "tabl": 11, "1371": 11, "pone": 11, "0118537": 11, "decent": 11, "precis": 11, "1e9": 11, "575829302496098": 11, "039137525465009": 11, "8000000000000003": 11, "split_and_standard": 11, "y_val": 11, "whose": 11, "68": 11, "27": 11, "39": 11, "signific": 11, "figur": 11, "beta": 11, "paper": 11, "poseidon": 11, "csd": 11, "auth": 11, "pdf": 11, "ververidis08a": 11, "exact": 11, "6826894921370859": 11, "6826894916531445": 11, "9973002039367398": 11, "9973002039633309": 11, "39346933952920327": 11, "9946544947734935": 11, "bayesian": 11, "rate": 11, "posterior": 11, "4999999999999998": 11, "zscore": 11, "54919334": 11, "161895": 11, "77459667": 11, "38729833": 11}, "objects": {"": [[11, 0, 0, "-", "redflag"]], "redflag": [[11, 0, 0, "-", "distributions"], [11, 0, 0, "-", "imbalance"], [11, 0, 0, "-", "importance"], [11, 0, 0, "-", "independence"], [11, 0, 0, "-", "markov"], [11, 0, 0, "-", "outliers"], [11, 0, 0, "-", "pandas"], [11, 0, 0, "-", "sklearn"], [11, 0, 0, "-", "target"], [11, 0, 0, "-", "utils"]], "redflag.distributions": [[11, 1, 1, "", "best_distribution"], [11, 1, 1, "", "bw_scott"], [11, 1, 1, "", "bw_silverman"], [11, 1, 1, "", "cv_kde"], [11, 1, 1, "", "find_large_peaks"], [11, 1, 1, "", "fit_kde"], [11, 1, 1, "", "get_kde"], [11, 1, 1, "", "is_multimodal"], [11, 1, 1, "", "kde_peaks"], [11, 1, 1, "", "wasserstein"], [11, 1, 1, "", "wasserstein_multi"], [11, 1, 1, "", "wasserstein_ovo"], [11, 1, 1, "", "wasserstein_ovr"]], "redflag.imbalance": [[11, 1, 1, "", "class_counts"], [11, 1, 1, "", "divergence"], [11, 1, 1, "", "empirical_distribution"], [11, 1, 1, "", "furthest_distribution"], [11, 1, 1, "", "imbalance_degree"], [11, 1, 1, "", "imbalance_ratio"], [11, 1, 1, "", "is_imbalanced"], [11, 1, 1, "", "major_minor"], [11, 1, 1, "", "minority_classes"]], "redflag.importance": [[11, 1, 1, "", "feature_importances"], [11, 1, 1, "", "least_important_features"], [11, 1, 1, "", "most_important_features"]], "redflag.independence": [[11, 1, 1, "", "is_correlated"]], "redflag.markov": [[11, 2, 1, "", "Markov_chain"], [11, 1, 1, "", "hollow_matrix"], [11, 1, 1, "", "observations"], [11, 1, 1, "", "regularize"]], "redflag.markov.Markov_chain": [[11, 3, 1, "", "chi_squared"], [11, 4, 1, "", "degrees_of_freedom"], [11, 4, 1, "", "expected_freqs"], [11, 3, 1, "", "from_sequence"], [11, 3, 1, "", "generate_states"], [11, 4, 1, "", "normalized_difference"], [11, 4, 1, "", "observed_freqs"]], "redflag.outliers": [[11, 1, 1, "", "expected_outliers"], [11, 1, 1, "", "get_outliers"], [11, 1, 1, "", "has_outliers"], [11, 1, 1, "", "mahalanobis"], [11, 1, 1, "", "mahalanobis_outliers"]], "redflag.pandas": [[11, 2, 1, "", "SeriesAccessor"], [11, 1, 1, "", "null_decorator"]], "redflag.pandas.SeriesAccessor": [[11, 3, 1, "", "dummy_scores"], [11, 3, 1, "", "imbalance_degree"], [11, 3, 1, "", "is_ordered"], [11, 3, 1, "", "minority_classes"], [11, 3, 1, "", "report"]], "redflag.sklearn": [[11, 2, 1, "", "BaseRedflagDetector"], [11, 2, 1, "", "ClipDetector"], [11, 2, 1, "", "CorrelationDetector"], [11, 2, 1, "", "Detector"], [11, 2, 1, "", "DistributionComparator"], [11, 2, 1, "", "DummyPredictor"], [11, 2, 1, "", "ImbalanceComparator"], [11, 2, 1, "", "ImbalanceDetector"], [11, 2, 1, "", "ImportanceDetector"], [11, 2, 1, "", "InsufficientDataDetector"], [11, 2, 1, "", "MultimodalityDetector"], [11, 2, 1, "", "MultivariateOutlierDetector"], [11, 2, 1, "", "OutlierDetector"], [11, 2, 1, "", "RfPipeline"], [11, 2, 1, "", "UnivariateOutlierDetector"], [11, 1, 1, "", "formatwarning"], [11, 1, 1, "", "make_detector_pipeline"], [11, 1, 1, "", "make_rf_pipeline"]], "redflag.sklearn.BaseRedflagDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.DistributionComparator": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.DummyPredictor": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.ImbalanceComparator": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.ImbalanceDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.ImportanceDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.InsufficientDataDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.MultimodalityDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.MultivariateOutlierDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.OutlierDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.RfPipeline": [[11, 3, 1, "", "transform"]], "redflag.target": [[11, 1, 1, "", "dummy_classification_scores"], [11, 1, 1, "", "dummy_regression_scores"], [11, 1, 1, "", "dummy_scores"], [11, 1, 1, "", "is_binary"], [11, 1, 1, "", "is_continuous"], [11, 1, 1, "", "is_multiclass"], [11, 1, 1, "", "is_multioutput"], [11, 1, 1, "", "is_ordered"], [11, 1, 1, "", "n_classes"]], "redflag.utils": [[11, 1, 1, "", "bool_to_index"], [11, 1, 1, "", "clipped"], [11, 1, 1, "", "consecutive"], [11, 1, 1, "", "cv"], [11, 1, 1, "", "deprecated"], [11, 1, 1, "", "ecdf"], [11, 1, 1, "", "flatten"], [11, 1, 1, "", "generate_data"], [11, 1, 1, "", "get_idx"], [11, 1, 1, "", "has_few_samples"], [11, 1, 1, "", "has_flat"], [11, 1, 1, "", "has_monotonic"], [11, 1, 1, "", "has_nans"], [11, 1, 1, "", "index_to_bool"], [11, 1, 1, "", "is_clipped"], [11, 1, 1, "", "is_numeric"], [11, 1, 1, "", "is_standard_normal"], [11, 1, 1, "", "is_standardized"], [11, 1, 1, "", "iter_groups"], [11, 1, 1, "", "ordered_unique"], [11, 1, 1, "", "proportion_to_stdev"], [11, 1, 1, "", "split_and_standardize"], [11, 1, 1, "", "stdev_to_proportion"], [11, 1, 1, "", "update_p"], [11, 1, 1, "", "zscore"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"]}, "titleterms": {"basic": 0, "usag": 0, "load": [0, 1], "some": [0, 1], "data": [0, 1], "categor": 0, "continu": [0, 7], "imbal": [0, 1, 3, 11], "metric": [0, 1], "outlier": [0, 11], "clip": [0, 1], "distribut": [0, 11], "shape": 0, "ident": 0, "assumpt": [0, 1], "alreadi": 0, "split": 0, "out": 0, "group": 0, "arrai": 0, "independ": [0, 1, 11], "featur": 0, "import": [0, 1, 11], "tutori": 1, "A": 1, "simpl": 1, "ml": [1, 8], "workflow": 1, "quick": [1, 8], "look": 1, "redflag": [1, 2, 3, 8, 11], "pipelin": [1, 3], "make": [1, 3], "your": [1, 3], "own": [1, 3], "test": [1, 7], "us": [2, 3], "panda": [2, 11], "seri": 2, "accessor": 2, "datafram": 2, "sklearn": [3, 11], "The": 3, "detector": 3, "class": 3, "pre": 3, "built": 3, "transform": 3, "compar": 3, "smoke": 3, "what": 3, "do": 3, "about": 3, "warn": 3, "imbalancedetector": 3, "imbalancecompar": 3, "clipdetector": 3, "correlationdetector": 3, "outlierdetector": 3, "distributioncompar": 3, "importancedetector": 3, "author": 4, "changelog": 5, "0": 5, "4": 5, "28": 5, "septemb": 5, "2023": 5, "3": 5, "21": 5, "2": 5, "1": 5, "10": 5, "novemb": 5, "2022": 5, "9": 5, "25": 5, "august": 5, "8": 5, "juli": 5, "7": 5, "11": 5, "februari": 5, "31": 5, "januari": 5, "30": 5, "contribut": [6, 7], "code": 6, "conduct": 6, "authorship": 6, "licens": [6, 10], "develop": 7, "instal": [7, 9], "build": 7, "packag": [7, 11], "doc": 7, "integr": 7, "safer": 8, "design": 8, "start": 8, "user": 8, "guid": 8, "api": 8, "refer": 8, "other": 8, "resourc": 8, "indic": 8, "tabl": 8, "option": 9, "depend": 9, "submodul": 11, "modul": 11, "markov": 11, "target": 11, "util": 11, "content": 11}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"\ud83d\udea9 Basic usage": [[0, "basic-usage"]], "Load some data": [[0, "load-some-data"], [1, "load-some-data"]], "Categorical or continuous?": [[0, "categorical-or-continuous"]], "Imbalance metrics": [[0, "imbalance-metrics"], [1, "imbalance-metrics"]], "Outliers": [[0, "outliers"]], "Clipping": [[0, "clipping"], [1, "clipping"]], "Distribution shape": [[0, "distribution-shape"]], "Identical distribution assumption": [[0, "identical-distribution-assumption"]], "Already split out group arrays": [[0, "already-split-out-group-arrays"]], "Independence assumption": [[0, "independence-assumption"], [1, "independence-assumption"]], "Feature importance": [[0, "feature-importance"]], "\ud83d\udea9 Tutorial": [[1, "tutorial"]], "A simple ML workflow": [[1, "a-simple-ml-workflow"]], "A quick look at redflag": [[1, "a-quick-look-at-redflag"]], "Importance": [[1, "importance"]], "Pipelines": [[1, "pipelines"]], "Making your own tests": [[1, "making-your-own-tests"]], "\ud83d\udea9 Using redflag with Pandas": [[2, "using-redflag-with-pandas"]], "Series accessor": [[2, "series-accessor"]], "DataFrame accessor": [[2, "dataframe-accessor"]], "\ud83d\udea9 Using redflag with sklearn": [[3, "using-redflag-with-sklearn"]], "The redflag detector classes": [[3, "the-redflag-detector-classes"]], "Using the pre-built redflag pipeline": [[3, "using-the-pre-built-redflag-pipeline"]], "Using the \u2018detector\u2019 transformers": [[3, "using-the-detector-transformers"]], "The imbalance comparator": [[3, "the-imbalance-comparator"]], "Making your own smoke detector": [[3, "making-your-own-smoke-detector"]], "What to do about the warnings": [[3, "what-to-do-about-the-warnings"]], "ImbalanceDetector and ImbalanceComparator": [[3, "imbalancedetector-and-imbalancecomparator"]], "ClipDetector": [[3, "clipdetector"]], "CorrelationDetector": [[3, "correlationdetector"]], "OutlierDetector": [[3, "outlierdetector"]], "DistributionComparator": [[3, "distributioncomparator"]], "ImportanceDetector": [[3, "importancedetector"]], "Authors": [[4, "authors"]], "Changelog": [[5, "changelog"]], "0.4.0, 28 September 2023": [[5, "september-2023"]], "0.3.0, 21 September 2023": [[5, "id1"]], "0.2.0, 4 September 2023": [[5, "id2"]], "0.1.10, 21 November 2022": [[5, "november-2022"]], "0.1.9, 25 August 2022": [[5, "august-2022"]], "0.1.8, 8 July 2022": [[5, "july-2022"]], "0.1.3 to 0.1.7, 9\u201311 February 2022": [[5, "to-0-1-7-911-february-2022"]], "0.1.2, 1 February 2022": [[5, "february-2022"]], "0.1.1, 31 January 2022": [[5, "january-2022"]], "0.1.0, 30 January 2022": [[5, "id3"]], "Contributing": [[6, "contributing"], [7, "contributing"]], "Code of conduct": [[6, "code-of-conduct"]], "Authorship": [[6, "authorship"]], "License": [[6, "license"], [10, "license"]], "Development": [[7, "development"]], "Installation": [[7, "installation"]], "Testing": [[7, "testing"]], "Building the package": [[7, "building-the-package"]], "Building the docs": [[7, "building-the-docs"]], "Continuous integration": [[7, "continuous-integration"]], "Redflag: safer ML by design": [[8, "redflag-safer-ml-by-design"]], "Quick start": [[8, "quick-start"]], "User guide": [[8, "user-guide"], [8, null]], "API reference": [[8, "api-reference"], [8, null]], "Other resources": [[8, "other-resources"], [8, null]], "Indices and tables": [[8, "indices-and-tables"]], "\ud83d\udea9 Installation": [[9, "installation"]], "Optional dependencies": [[9, "optional-dependencies"]], "redflag package": [[11, "redflag-package"]], "Submodules": [[11, "submodules"]], "redflag.distributions module": [[11, "module-redflag.distributions"]], "redflag.imbalance module": [[11, "module-redflag.imbalance"]], "redflag.importance module": [[11, "module-redflag.importance"]], "redflag.independence module": [[11, "module-redflag.independence"]], "redflag.markov module": [[11, "module-redflag.markov"]], "redflag.outliers module": [[11, "module-redflag.outliers"]], "redflag.pandas module": [[11, "module-redflag.pandas"]], "redflag.sklearn module": [[11, "module-redflag.sklearn"]], "redflag.target module": [[11, "module-redflag.target"]], "redflag.utils module": [[11, "module-redflag.utils"]], "Module contents": [[11, "module-redflag"]]}, "indexentries": {"baseredflagdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.BaseRedflagDetector"]], "clipdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.ClipDetector"]], "correlationdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.CorrelationDetector"]], "detector (class in redflag.sklearn)": [[11, "redflag.sklearn.Detector"]], "distributioncomparator (class in redflag.sklearn)": [[11, "redflag.sklearn.DistributionComparator"]], "dummypredictor (class in redflag.sklearn)": [[11, "redflag.sklearn.DummyPredictor"]], "imbalancecomparator (class in redflag.sklearn)": [[11, "redflag.sklearn.ImbalanceComparator"]], "imbalancedetector (class in redflag.sklearn)": [[11, "redflag.sklearn.ImbalanceDetector"]], "importancedetector (class in redflag.sklearn)": [[11, "redflag.sklearn.ImportanceDetector"]], "insufficientdatadetector (class in redflag.sklearn)": [[11, "redflag.sklearn.InsufficientDataDetector"]], "markov_chain (class in redflag.markov)": [[11, "redflag.markov.Markov_chain"]], "multimodalitydetector (class in redflag.sklearn)": [[11, "redflag.sklearn.MultimodalityDetector"]], "multivariateoutlierdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.MultivariateOutlierDetector"]], "outlierdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.OutlierDetector"]], "rfpipeline (class in redflag.sklearn)": [[11, "redflag.sklearn.RfPipeline"]], "seriesaccessor (class in redflag.pandas)": [[11, "redflag.pandas.SeriesAccessor"]], "univariateoutlierdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.UnivariateOutlierDetector"]], "best_distribution() (in module redflag.distributions)": [[11, "redflag.distributions.best_distribution"]], "bool_to_index() (in module redflag.utils)": [[11, "redflag.utils.bool_to_index"]], "bw_scott() (in module redflag.distributions)": [[11, "redflag.distributions.bw_scott"]], "bw_silverman() (in module redflag.distributions)": [[11, "redflag.distributions.bw_silverman"]], "chi_squared() (redflag.markov.markov_chain method)": [[11, "redflag.markov.Markov_chain.chi_squared"]], "class_counts() (in module redflag.imbalance)": [[11, "redflag.imbalance.class_counts"]], "clipped() (in module redflag.utils)": [[11, "redflag.utils.clipped"]], "consecutive() (in module redflag.utils)": [[11, "redflag.utils.consecutive"]], "cv() (in module redflag.utils)": [[11, "redflag.utils.cv"]], "cv_kde() (in module redflag.distributions)": [[11, "redflag.distributions.cv_kde"]], "degrees_of_freedom (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.degrees_of_freedom"]], "deprecated() (in module redflag.utils)": [[11, "redflag.utils.deprecated"]], "divergence() (in module redflag.imbalance)": [[11, "redflag.imbalance.divergence"]], "dummy_classification_scores() (in module redflag.target)": [[11, "redflag.target.dummy_classification_scores"]], "dummy_regression_scores() (in module redflag.target)": [[11, "redflag.target.dummy_regression_scores"]], "dummy_scores() (in module redflag.target)": [[11, "redflag.target.dummy_scores"]], "dummy_scores() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.dummy_scores"]], "ecdf() (in module redflag.utils)": [[11, "redflag.utils.ecdf"]], "empirical_distribution() (in module redflag.imbalance)": [[11, "redflag.imbalance.empirical_distribution"]], "expected_freqs (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.expected_freqs"]], "expected_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.expected_outliers"]], "feature_importances() (in module redflag.importance)": [[11, "redflag.importance.feature_importances"]], "find_large_peaks() (in module redflag.distributions)": [[11, "redflag.distributions.find_large_peaks"]], "fit() (redflag.sklearn.baseredflagdetector method)": [[11, "redflag.sklearn.BaseRedflagDetector.fit"]], "fit() (redflag.sklearn.distributioncomparator method)": [[11, "redflag.sklearn.DistributionComparator.fit"]], "fit() (redflag.sklearn.dummypredictor method)": [[11, "redflag.sklearn.DummyPredictor.fit"]], "fit() (redflag.sklearn.imbalancecomparator method)": [[11, "redflag.sklearn.ImbalanceComparator.fit"]], "fit() (redflag.sklearn.imbalancedetector method)": [[11, "redflag.sklearn.ImbalanceDetector.fit"]], "fit() (redflag.sklearn.importancedetector method)": [[11, "redflag.sklearn.ImportanceDetector.fit"]], "fit() (redflag.sklearn.insufficientdatadetector method)": [[11, "redflag.sklearn.InsufficientDataDetector.fit"]], "fit() (redflag.sklearn.multimodalitydetector method)": [[11, "redflag.sklearn.MultimodalityDetector.fit"]], "fit() (redflag.sklearn.multivariateoutlierdetector method)": [[11, "redflag.sklearn.MultivariateOutlierDetector.fit"]], "fit() (redflag.sklearn.outlierdetector method)": [[11, "redflag.sklearn.OutlierDetector.fit"]], "fit_kde() (in module redflag.distributions)": [[11, "redflag.distributions.fit_kde"]], "fit_transform() (redflag.sklearn.baseredflagdetector method)": [[11, "redflag.sklearn.BaseRedflagDetector.fit_transform"]], "fit_transform() (redflag.sklearn.distributioncomparator method)": [[11, "redflag.sklearn.DistributionComparator.fit_transform"]], "fit_transform() (redflag.sklearn.imbalancecomparator method)": [[11, "redflag.sklearn.ImbalanceComparator.fit_transform"]], "fit_transform() (redflag.sklearn.insufficientdatadetector method)": [[11, "redflag.sklearn.InsufficientDataDetector.fit_transform"]], "fit_transform() (redflag.sklearn.multivariateoutlierdetector method)": [[11, "redflag.sklearn.MultivariateOutlierDetector.fit_transform"]], "fit_transform() (redflag.sklearn.outlierdetector method)": [[11, "redflag.sklearn.OutlierDetector.fit_transform"]], "flatten() (in module redflag.utils)": [[11, "redflag.utils.flatten"]], "formatwarning() (in module redflag.sklearn)": [[11, "redflag.sklearn.formatwarning"]], "from_sequence() (redflag.markov.markov_chain class method)": [[11, "redflag.markov.Markov_chain.from_sequence"]], "furthest_distribution() (in module redflag.imbalance)": [[11, "redflag.imbalance.furthest_distribution"]], "generate_data() (in module redflag.utils)": [[11, "redflag.utils.generate_data"]], "generate_states() (redflag.markov.markov_chain method)": [[11, "redflag.markov.Markov_chain.generate_states"]], "get_idx() (in module redflag.utils)": [[11, "redflag.utils.get_idx"]], "get_kde() (in module redflag.distributions)": [[11, "redflag.distributions.get_kde"]], "get_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.get_outliers"]], "has_few_samples() (in module redflag.utils)": [[11, "redflag.utils.has_few_samples"]], "has_flat() (in module redflag.utils)": [[11, "redflag.utils.has_flat"]], "has_monotonic() (in module redflag.utils)": [[11, "redflag.utils.has_monotonic"]], "has_nans() (in module redflag.utils)": [[11, "redflag.utils.has_nans"]], "has_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.has_outliers"]], "hollow_matrix() (in module redflag.markov)": [[11, "redflag.markov.hollow_matrix"]], "imbalance_degree() (in module redflag.imbalance)": [[11, "redflag.imbalance.imbalance_degree"]], "imbalance_degree() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.imbalance_degree"]], "imbalance_ratio() (in module redflag.imbalance)": [[11, "redflag.imbalance.imbalance_ratio"]], "index_to_bool() (in module redflag.utils)": [[11, "redflag.utils.index_to_bool"]], "is_binary() (in module redflag.target)": [[11, "redflag.target.is_binary"]], "is_clipped() (in module redflag.utils)": [[11, "redflag.utils.is_clipped"]], "is_continuous() (in module redflag.target)": [[11, "redflag.target.is_continuous"]], "is_correlated() (in module redflag.independence)": [[11, "redflag.independence.is_correlated"]], "is_imbalanced() (in module redflag.imbalance)": [[11, "redflag.imbalance.is_imbalanced"]], "is_multiclass() (in module redflag.target)": [[11, "redflag.target.is_multiclass"]], "is_multimodal() (in module redflag.distributions)": [[11, "redflag.distributions.is_multimodal"]], "is_multioutput() (in module redflag.target)": [[11, "redflag.target.is_multioutput"]], "is_numeric() (in module redflag.utils)": [[11, "redflag.utils.is_numeric"]], "is_ordered() (in module redflag.target)": [[11, "redflag.target.is_ordered"]], "is_ordered() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.is_ordered"]], "is_standard_normal() (in module redflag.utils)": [[11, "redflag.utils.is_standard_normal"]], "is_standardized() (in module redflag.utils)": [[11, "redflag.utils.is_standardized"]], "iter_groups() (in module redflag.utils)": [[11, "redflag.utils.iter_groups"]], "kde_peaks() (in module redflag.distributions)": [[11, "redflag.distributions.kde_peaks"]], "least_important_features() (in module redflag.importance)": [[11, "redflag.importance.least_important_features"]], "mahalanobis() (in module redflag.outliers)": [[11, "redflag.outliers.mahalanobis"]], "mahalanobis_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.mahalanobis_outliers"]], "major_minor() (in module redflag.imbalance)": [[11, "redflag.imbalance.major_minor"]], "make_detector_pipeline() (in module redflag.sklearn)": [[11, "redflag.sklearn.make_detector_pipeline"]], "make_rf_pipeline() (in module redflag.sklearn)": [[11, "redflag.sklearn.make_rf_pipeline"]], "minority_classes() (in module redflag.imbalance)": [[11, "redflag.imbalance.minority_classes"]], "minority_classes() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.minority_classes"]], "module": [[11, "module-redflag"], [11, "module-redflag.distributions"], [11, "module-redflag.imbalance"], [11, "module-redflag.importance"], [11, "module-redflag.independence"], [11, "module-redflag.markov"], [11, "module-redflag.outliers"], [11, "module-redflag.pandas"], [11, "module-redflag.sklearn"], [11, "module-redflag.target"], [11, "module-redflag.utils"]], "most_important_features() (in module redflag.importance)": [[11, "redflag.importance.most_important_features"]], "n_classes() (in module redflag.target)": [[11, "redflag.target.n_classes"]], "normalized_difference (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.normalized_difference"]], "null_decorator() (in module redflag.pandas)": [[11, "redflag.pandas.null_decorator"]], "observations() (in module redflag.markov)": [[11, "redflag.markov.observations"]], "observed_freqs (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.observed_freqs"]], "ordered_unique() (in module redflag.utils)": [[11, "redflag.utils.ordered_unique"]], "proportion_to_stdev() (in module redflag.utils)": [[11, "redflag.utils.proportion_to_stdev"]], "redflag": [[11, "module-redflag"]], "redflag.distributions": [[11, "module-redflag.distributions"]], "redflag.imbalance": [[11, "module-redflag.imbalance"]], "redflag.importance": [[11, "module-redflag.importance"]], "redflag.independence": [[11, "module-redflag.independence"]], "redflag.markov": [[11, "module-redflag.markov"]], "redflag.outliers": [[11, "module-redflag.outliers"]], "redflag.pandas": [[11, "module-redflag.pandas"]], "redflag.sklearn": [[11, "module-redflag.sklearn"]], "redflag.target": [[11, "module-redflag.target"]], "redflag.utils": [[11, "module-redflag.utils"]], "regularize() (in module redflag.markov)": [[11, "redflag.markov.regularize"]], "report() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.report"]], "split_and_standardize() (in module redflag.utils)": [[11, "redflag.utils.split_and_standardize"]], "stdev_to_proportion() (in module redflag.utils)": [[11, "redflag.utils.stdev_to_proportion"]], "transform() (redflag.sklearn.baseredflagdetector method)": [[11, "redflag.sklearn.BaseRedflagDetector.transform"]], "transform() (redflag.sklearn.distributioncomparator method)": [[11, "redflag.sklearn.DistributionComparator.transform"]], "transform() (redflag.sklearn.dummypredictor method)": [[11, "redflag.sklearn.DummyPredictor.transform"]], "transform() (redflag.sklearn.imbalancecomparator method)": [[11, "redflag.sklearn.ImbalanceComparator.transform"]], "transform() (redflag.sklearn.imbalancedetector method)": [[11, "redflag.sklearn.ImbalanceDetector.transform"]], "transform() (redflag.sklearn.importancedetector method)": [[11, "redflag.sklearn.ImportanceDetector.transform"]], "transform() (redflag.sklearn.insufficientdatadetector method)": [[11, "redflag.sklearn.InsufficientDataDetector.transform"]], "transform() (redflag.sklearn.multimodalitydetector method)": [[11, "redflag.sklearn.MultimodalityDetector.transform"]], "transform() (redflag.sklearn.multivariateoutlierdetector method)": [[11, "redflag.sklearn.MultivariateOutlierDetector.transform"]], "transform() (redflag.sklearn.outlierdetector method)": [[11, "redflag.sklearn.OutlierDetector.transform"]], "transform() (redflag.sklearn.rfpipeline method)": [[11, "redflag.sklearn.RfPipeline.transform"]], "update_p() (in module redflag.utils)": [[11, "redflag.utils.update_p"]], "wasserstein() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein"]], "wasserstein_multi() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein_multi"]], "wasserstein_ovo() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein_ovo"]], "wasserstein_ovr() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein_ovr"]], "zscore() (in module redflag.utils)": [[11, "redflag.utils.zscore"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["_notebooks/Basic_usage", "_notebooks/Tutorial", "_notebooks/Using_redflag_with_Pandas", "_notebooks/Using_redflag_with_sklearn", "authors", "changelog", "contributing", "development", "index", "installation", "license", "redflag"], "filenames": ["_notebooks/Basic_usage.ipynb", "_notebooks/Tutorial.ipynb", "_notebooks/Using_redflag_with_Pandas.ipynb", "_notebooks/Using_redflag_with_sklearn.ipynb", "authors.md", "changelog.md", "contributing.md", "development.md", "index.rst", "installation.md", "license.md", "redflag.rst"], "titles": ["\ud83d\udea9 Basic usage", "\ud83d\udea9 Tutorial", "\ud83d\udea9 Using redflag with Pandas", "\ud83d\udea9 Using redflag with sklearn", "Authors", "Changelog", "Contributing", "Development", "Redflag: safer ML by design", "\ud83d\udea9 Installation", "License", "redflag package"], "terms": {"welcom": [0, 2], "redflag": [0, 5, 7, 9], "It": [0, 1, 5, 11], "": [0, 1, 2, 3, 5, 6, 7, 10, 11], "still": [0, 3, 5], "earli": [0, 5], "dai": 0, "thi": [0, 1, 2, 3, 5, 6, 7, 10, 11], "librari": [0, 1, 8], "ar": [0, 1, 2, 3, 5, 6, 7, 8, 10, 11], "few": [0, 3], "thing": [0, 1, 3], "you": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "can": [0, 1, 2, 3, 5, 6, 7, 9, 11], "do": [0, 1, 5, 8, 10, 11], "detect": [0, 1, 3, 5, 11], "label": [0, 1, 3, 5, 11], "ani": [0, 1, 3, 5, 10, 11], "other": [0, 1, 3, 5, 6, 7, 10, 11], "variabl": [0, 3, 11], "rf": [0, 1, 2, 3, 8], "__version__": [0, 1, 2], "0": [0, 1, 2, 3, 10, 11], "1": [0, 1, 2, 3, 10, 11], "dev1": [0, 1, 2], "g5692f32": [0, 1, 2], "panda": [0, 1, 3, 5, 8], "pd": [0, 1, 2, 3, 11], "df": [0, 1, 2, 3, 8], "read_csv": [0, 1, 2, 3], "http": [0, 1, 2, 3, 10, 11], "geocomp": [0, 1, 2, 3], "s3": [0, 1, 2, 3], "amazonaw": [0, 1, 2, 3], "com": [0, 1, 2, 3, 11], "panoma_training_data": [0, 1, 2, 3], "csv": [0, 1, 2, 3], "look": [0, 2, 3, 8], "transpos": [0, 3], "summari": [0, 3], "each": [0, 3, 5, 10, 11], "column": [0, 1, 3, 5, 11], "datafram": [0, 3, 8], "i": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "row": [0, 3, 5, 11], "here": [0, 3, 6], "describ": [0, 3, 10], "t": [0, 1, 3, 5, 7, 11], "count": [0, 3, 11], "mean": [0, 1, 2, 3, 5, 10, 11], "std": [0, 3], "min": [0, 1, 3, 11], "25": [0, 3, 11], "50": [0, 3, 10], "75": [0, 3, 11], "max": [0, 1, 3, 11], "depth": [0, 1, 2, 3], "3966": [0, 3], "882": [0, 3], "674555": [0, 3], "40": [0, 3, 11], "150056": [0, 3], "784": [0, 3], "402800": [0, 3], "858": [0, 3], "012000": [0, 3], "888": [0, 3], "339600": [0, 3], "913": [0, 3], "028400": [0, 3], "963": [0, 3], "320400": [0, 3], "relpo": [0, 1, 2, 3], "524999": [0, 3], "286375": [0, 3], "010000": [0, 3], "282000": [0, 3], "531000": [0, 3], "773000": [0, 3], "000000": [0, 3], "marin": [0, 1, 2, 3], "325013": [0, 3], "589539": [0, 3], "2": [0, 1, 2, 3, 10, 11], "gr": [0, 1, 2, 3, 11], "64": [0, 1, 3], "367899": [0, 3], "28": [0, 3], "414603": [0, 3], "12": [0, 1, 2, 3, 11], "036000": [0, 3], "45": [0, 1, 2, 3, 11], "311250": [0, 3], "840000": [0, 3], "78": [0, 1, 2, 3], "809750": [0, 3], "200": [0, 3, 11], "ild": [0, 1, 2, 3], "5": [0, 1, 2, 3, 5, 11], "240308": [0, 3], "3": [0, 1, 2, 3, 11], "190416": [0, 3], "340408": [0, 3], "169567": [0, 3], "4": [0, 1, 2, 3, 11], "305266": [0, 3], "6": [0, 1, 2, 3, 11], "664234": [0, 3], "32": [0, 3], "136605": [0, 3], "deltaphi": [0, 1, 2, 3], "469088": [0, 3], "922310": [0, 3], "21": [0, 3], "832000": [0, 3], "292500": [0, 3], "124750": [0, 3], "18": [0, 3], "600000": [0, 3], "phind": [0, 1, 2, 3], "13": [0, 1, 2, 3, 11], "008807": [0, 3], "936391": [0, 3], "550000": [0, 3], "8": [0, 1, 2, 3, 11], "196250": [0, 3], "11": [0, 1, 2, 3, 11], "781500": [0, 3], "16": [0, 3], "050000": [0, 3], "52": [0, 3], "369000": [0, 3], "pe": [0, 1, 2, 3], "686427": [0, 3], "815113": [0, 3], "200000": [0, 3], "123000": [0, 3], "514500": [0, 3], "241750": [0, 3], "094000": [0, 3], "faci": [0, 1, 2, 3], "471004": [0, 3], "406180": [0, 3], "9": [0, 1, 2, 3, 10, 11], "latitud": [0, 1, 2, 3], "37": [0, 1, 2, 3], "632575": [0, 3], "299398": [0, 3], "180732": [0, 3], "356426": [0, 3], "500380": [0, 3], "910583": [0, 3], "38": [0, 3], "063373": [0, 3], "longitud": [0, 1, 2, 3], "101": [0, 3], "294895": [0, 3], "230454": [0, 3], "646452": [0, 3], "389189": [0, 3], "325130": [0, 3], "106045": [0, 3], "100": [0, 1, 2, 3, 11], "987305": [0, 1, 2, 3], "ild_log10": [0, 1, 2, 3], "648860": [0, 3], "251542": [0, 3], "468000": [0, 3], "501000": [0, 3], "634000": [0, 3], "823750": [0, 3], "507000": [0, 3], "rhob": [0, 1, 2, 3], "2288": [0, 3], "861692": [0, 3], "218": [0, 3], "038459": [0, 3], "1500": [0, 3], "2201": [0, 3], "007475": [0, 3], "2342": [0, 3], "202051": [0, 3], "2434": [0, 3], "166399": [0, 3], "2802": [0, 3], "871147": [0, 3], "fairli": 0, "easi": [0, 1], "tell": [0, 1, 11], "numer": [0, 5, 11], "harder": 0, "decid": [0, 3, 11], "we": [0, 1, 2, 3, 5, 6, 11], "us": [0, 1, 5, 7, 8, 9, 10, 11], "is_continu": [0, 5, 11], "check": [0, 1, 3, 5, 11], "target": [0, 2, 3, 5, 8], "heurist": [0, 3, 5], "definit": [0, 5, 10, 11], "foolproof": 0, "intern": 0, "sometim": [0, 11], "how": [0, 1, 3, 5, 6], "treat": 0, "col": 0, "print": [0, 2, 5, 11], "f": 0, "20": [0, 3, 11], "well": [0, 1, 2, 3, 11], "name": [0, 1, 2, 3, 5, 10, 11], "fals": [0, 1, 5, 11], "true": [0, 1, 2, 3, 5, 11], "format": [0, 1, 2, 11], "lithologi": [0, 1, 2, 3], "mineralogi": [0, 1, 2], "siliciclast": [0, 1, 2], "These": [0, 1, 5], "all": [0, 1, 3, 5, 7, 9, 10, 11], "correct": [0, 11], "first": [0, 1, 2, 3, 11], "ll": [0, 1, 3], "measur": [0, 1, 3, 5, 11], "class_imbal": [0, 5], "For": [0, 1, 2, 3, 5, 9, 10, 11], "binari": [0, 11], "imbalac": 0, "ratio": [0, 1, 11], "between": [0, 5, 11], "major": [0, 1, 11], "minor": [0, 1, 3, 11], "class": [0, 1, 5, 8, 11], "multiclass": [0, 11], "degre": [0, 1, 5, 11], "ortigosa": [0, 11], "hernandez": [0, 11], "et": [0, 11], "al": [0, 11], "2017": [0, 11], "singl": [0, 3, 5, 11], "valu": [0, 1, 3, 5, 11], "explain": [0, 3], "mani": [0, 3, 5, 11], "b": [0, 10, 11], "skew": 0, "support": [0, 1, 3, 5, 10], "imbalance_degre": [0, 1, 2, 5, 8, 11], "378593040846633": [0, 1, 2], "To": [0, 1, 3, 5, 7, 11], "interpret": [0, 1], "number": [0, 1, 3, 5, 11], "two": [0, 1, 3, 7, 11], "part": [0, 1, 3, 5, 6, 10, 11], "The": [0, 1, 2, 4, 5, 7, 8, 10, 11], "integ": [0, 1, 5, 11], "equal": [0, 1], "m": [0, 1, 3, 5, 7, 11], "where": [0, 1, 5, 10, 11], "fraction": [0, 1, 11], "378": [0, 1], "amount": [0, 1], "dataset": [0, 1, 3, 5, 11], "balanc": [0, 1], "perfectli": [0, 1], "999": [0, 1, 11], "realli": [0, 1, 5], "bad": [0, 1], "If": [0, 1, 3, 5, 6, 7, 9, 10, 11], "have": [0, 1, 2, 3, 4, 5, 10, 11], "In": [0, 1, 3, 5, 10, 11], "gener": [0, 1, 3, 5, 6, 7, 10, 11], "statist": [0, 1, 3, 11], "more": [0, 1, 2, 3, 5, 7, 8, 10, 11], "inform": [0, 1, 3, 10], "than": [0, 1, 3, 5, 11], "commonli": [0, 1], "imbalance_ratio": [0, 1, 5, 11], "which": [0, 1, 3, 5, 7, 10, 11], "maximum": [0, 1, 11], "minimum": [0, 1, 3], "regard": [0, 1, 10], "get": [0, 1, 2, 7, 11], "those": [0, 1, 3, 10], "fewer": [0, 1, 11], "sampl": [0, 1, 3, 11], "expect": [0, 1, 3, 5, 11], "return": [0, 1, 3, 5, 11], "order": [0, 1, 3, 4, 5, 11], "smallest": [0, 1], "minority_class": [0, 1, 3, 5, 11], "dolomit": [0, 1, 3], "sandston": [0, 1, 3], "mudston": [0, 1, 3], "wackeston": [0, 1, 3], "dtype": [0, 1, 3, 11], "u10": [0, 1], "empir": [0, 3, 11], "observ": [0, 5, 11], "frequenc": [0, 11], "\u03b6": [0, 11], "e": [0, 1, 3, 5, 8, 11], "empirical_distribut": [0, 11], "39989914": 0, "18582955": 0, "15834594": 0, "04790721": 0, "13691377": 0, "07110439": 0, "same": [0, 1, 3, 5, 11], "uniqu": [0, 11], "note": [0, 3, 5, 11], "differ": [0, 1, 3, 5, 10, 11], "from": [0, 1, 3, 5, 8, 10, 11], "np": [0, 1, 3, 11], "sort": [0, 11], "siltston": [0, 1, 2, 3], "limeston": [0, 1], "object": [0, 1, 2, 3, 5, 10, 11], "also": [0, 1, 3, 5, 11], "inspect": [0, 5, 11], "displai": [0, 10], "ax": [0, 3], "value_count": 0, "plot": 0, "kind": [0, 1, 3, 5, 10, 11], "bar": 0, "add": [0, 1, 3, 5, 6, 9, 10, 11], "line": [0, 9], "level": [0, 3, 11], "axhlin": 0, "len": [0, 1, 11], "c": [0, 3, 5, 9, 10, 11], "r": [0, 11], "matplotlib": 0, "line2d": 0, "0x7f6c2d202690": 0, "get_outli": [0, 3, 5, 11], "function": [0, 1, 2, 3, 5, 7, 8, 11], "indic": [0, 3, 10, 11], "point": [0, 3, 11], "301": 0, "302": 0, "303": 0, "415": 0, "416": 0, "417": 0, "418": 0, "799": 0, "896": 0, "897": 0, "898": 0, "899": [0, 3], "996": 0, "997": 0, "1843": 0, "2278": 0, "2279": 0, "2280": 0, "2638": 0, "2639": 0, "2640": 0, "2641": 0, "2642": 0, "2643": 0, "2920": 0, "2921": 0, "2922": 0, "3070": 0, "3071": 0, "3074": 0, "3075": 0, "3076": 0, "3079": [0, 2], "3080": [0, 2], "3580": 0, "3581": 0, "3582": 0, "3583": 0, "see": [0, 1, 2, 3, 5, 6, 7, 11], "lie": [0, 11], "seaborn": [0, 1, 3], "sn": [0, 1, 3], "kdeplot": [0, 3], "rugplot": 0, "loc": [0, 1, 3, 11], "c1": 0, "lw": 0, "alpha": 0, "is_categorical_dtyp": [0, 1, 3], "deprec": [0, 1, 3, 5, 11], "remov": [0, 1, 3, 5], "futur": [0, 1, 2, 3, 5, 9, 11], "version": [0, 1, 3, 5, 7, 10, 11], "isinst": [0, 1, 3], "categoricaldtyp": [0, 1, 3], "instead": [0, 1, 3, 5, 11], "use_inf_as_na": [0, 1, 3], "option": [0, 1, 3, 7, 8, 11], "convert": [0, 1, 3, 11], "inf": [0, 1, 3], "nan": [0, 1, 3, 11], "befor": [0, 1, 3, 11], "oper": [0, 1, 3], "xlabel": [0, 3], "ylabel": [0, 3], "densiti": [0, 5, 11], "By": [0, 6, 11], "default": [0, 3, 5, 11], "an": [0, 2, 3, 5, 6, 9, 10, 11], "isol": [0, 3, 11], "forest": [0, 3, 11], "99": [0, 3, 11], "confid": [0, 3, 11], "opt": [0, 3], "local": [0, 1, 3, 7, 11], "factor": [0, 11], "ellipt": [0, 11], "envelop": [0, 11], "mahalanobi": [0, 5, 11], "distanc": [0, 3, 5, 11], "set": [0, 3, 9, 11], "choos": [0, 10], "equival": [0, 11], "threshold": [0, 1, 3, 5, 11], "standard": [0, 1, 3, 5, 11], "deviat": [0, 3, 5, 11], "awai": [0, 3], "signal": 0, "accept": [0, 10, 11], "univari": [0, 5, 11], "multivari": [0, 3, 5, 11], "method": [0, 2, 3, 5, 11], "mah": [0, 3, 11], "jointplot": 0, "x": [0, 1, 3, 5, 8, 11], "y": [0, 1, 3, 5, 8, 11], "hue": 0, "index_to_bool": [0, 11], "n": [0, 11], "axisgrid": [0, 1], "jointgrid": 0, "0x7f6c2865ec50": 0, "A": [0, 3, 8, 10, 11], "helper": [0, 5], "comput": [0, 5, 10, 11], "given": [0, 3, 8, 11], "size": [0, 1, 11], "assum": [0, 5, 10, 11], "gaussian": [0, 3, 11], "expected_outli": [0, 3, 11], "80": [0, 3, 11], "44": 0, "so": [0, 1, 3, 5, 9], "becaus": [0, 1, 3, 5, 11], "ha": [0, 1, 2, 3, 7, 10, 11], "lot": [0, 1, 3, 5, 11], "truncat": 0, "tail": 0, "test": [0, 3, 5, 8, 9, 11], "directli": [0, 2, 3, 5, 11], "has_outli": [0, 3, 5, 11], "compar": [0, 5, 8, 11], "result": [0, 3, 5, 10, 11], "numpi": [0, 1, 3, 11], "random": [0, 1, 3, 11], "normal": [0, 1, 5, 10, 11], "10_000": [0, 11], "d": [0, 1, 3, 7, 10, 11], "p": [0, 3, 11], "displot": [0, 1, 3], "facetgrid": [0, 1], "0x7f6c2858f1d0": 0, "onli": [0, 1, 2, 3, 5, 10, 11], "about": [0, 5, 7, 8, 11], "60": 0, "10": [0, 1, 2, 11], "000": [0, 1, 2, 11], "record": [0, 1, 3, 5, 11], "been": [0, 1, 3, 5, 10], "multipl": [0, 1, 5, 11], "instanc": [0, 1, 11], "its": [0, 1, 2, 5, 10, 11], "There": [0, 1, 3, 6, 7, 8], "legitim": [0, 1], "reason": [0, 1, 3, 5, 10], "why": [0, 1, 3, 11], "might": [0, 1, 3], "happen": [0, 1, 7], "exampl": [0, 1, 2, 3, 5, 6, 7, 10, 11], "mai": [0, 1, 2, 3, 10, 11], "natur": [0, 1, 3], "bound": [0, 1, 11], "g": [0, 1, 3, 5, 8, 11], "poros": [0, 1], "alwai": [0, 1, 5], "greater": [0, 1], "deliber": [0, 1, 10], "prepar": [0, 1, 10], "process": [0, 1], "is_clip": [0, 1, 5, 11], "0x7f6c2839f510": 0, "tri": [0, 5], "guess": [0, 5], "follow": [0, 1, 3, 4, 7, 10, 11], "scipi": [0, 11], "stat": [0, 11], "norm": [0, 11], "cosin": 0, "expon": 0, "exponpow": 0, "gamma": [0, 1], "gumbel_l": 0, "gumbel_r": 0, "powerlaw": 0, "triang": [0, 11], "trapz": 0, "uniform": [0, 11], "along": [0, 3, 10], "paramet": [0, 3, 11], "locat": [0, 3, 11], "scale": [0, 1, 3, 11], "spite": 0, "find": [0, 1, 3, 5, 11], "nearli": 0, "best_distribut": [0, 11], "36789939485628": 0, "411020184908292": 0, "contrast": 0, "andbest": 0, "model": [0, 1, 3, 5, 11], "gumbel": 0, "040572536302586": 0, "93432972751726": 0, "0x7f6c28487b10": 0, "often": [0, 1, 3], "like": [0, 1, 2, 3, 5, 7, 9, 11], "implicit": 0, "our": [0, 1, 3, 11], "across": [0, 5, 11], "variou": [0, 1, 5], "respect": [0, 6], "both": [0, 3, 5, 7, 11], "wasserstein": [0, 3, 5, 11], "facilit": 0, "calcul": [0, 11], "aka": [0, 11], "earth": [0, 3], "mover": [0, 3], "train": [0, 1, 3, 5, 11], "score": [0, 1, 2, 3, 5, 11], "substanti": 0, "w": 0, "25985545": 0, "28404634": 0, "49139232": 0, "33701782": 0, "22736457": 0, "13473663": 0, "33672956": 0, "20969657": 0, "41216725": 0, "34568777": 0, "39729747": 0, "48092099": 0, "0801856": 0, "10675027": 0, "13740318": 0, "10325295": 0, "19913347": 0, "21828753": 0, "26995735": 0, "33063277": 0, "24612402": 0, "23889923": 0, "26699721": 0, "2350674": 0, "20666445": 0, "44112543": 0, "16229232": 0, "63527036": 0, "18187639": 0, "34992043": 0, "19400917": 0, "74988182": 0, "31761526": 0, "27206283": 0, "30255291": 0, "24779581": 0, "could": [0, 3], "heatmap": 0, "yticklabel": 0, "xticklabel": 0, "show": [0, 1, 3, 5, 11], "u": [0, 1, 11], "log": [0, 1, 3], "7": [0, 3, 11], "somewhat": 0, "anomal": [0, 5, 8], "suggest": [0, 11], "cross": [0, 1, 10, 11], "h": 0, "cattl": 0, "sklearn": [0, 1, 2, 5, 8], "model_select": [0, 1], "train_test_split": [0, 1], "preprocess": [0, 1, 3], "standardscal": [0, 1, 3], "x_train": [0, 1, 3, 11], "x_": 0, "test_siz": 0, "random_st": [0, 11], "42": [0, 1, 11], "re": [0, 1, 3, 6, 11], "illustr": 0, "purpos": [0, 10], "valid": [0, 1, 3, 11], "wai": [0, 1, 2, 3, 5, 6, 8, 11], "indeped": 0, "x_val": [0, 11], "x_test": [0, 1, 3], "should": [0, 1, 3, 5, 7, 11], "scaler": [0, 1], "fit_transform": [0, 8, 11], "transform": [0, 1, 5, 8, 10, 11], "case": [0, 5, 11], "pass": [0, 3, 5, 11], "them": [0, 3, 5, 11], "list": [0, 10, 11], "tupl": [0, 11], "03860982": 0, "02506236": 0, "04321734": 0, "03437337": 0, "04402681": 0, "02528225": 0, "0385111": 0, "05694201": 0, "04388196": 0, "049464": 0, "05560379": 0, "04002712": 0, "quit": [0, 5], "low": [0, 1, 3, 5, 11], "randomli": [0, 1, 3, 11], "correl": [0, 1, 2, 3, 11], "lag": [0, 1], "shift": [0, 1, 3], "itself": [0, 1, 3, 6, 11], "sever": [0, 1, 3, 5, 6], "themselv": [0, 1, 3, 11], "is_correl": [0, 1, 11], "depend": [0, 1, 5, 8, 11], "That": [0, 1, 3, 11], "shuffl": [0, 1], "doe": [0, 1, 3, 5, 10, 11], "to_numpi": [0, 1], "copi": [0, 1, 5, 10], "know": [0, 3, 5], "most": [0, 3, 5, 7, 11], "seri": [0, 5, 8, 11], "your": [0, 5, 8, 10], "assess": [0, 11], "averag": [0, 11], "serv": [0, 5], "control": [0, 10], "let": [0, 1, 2, 3], "small": [0, 3, 5, 11], "come": [0, 2, 5, 11], "veri": [0, 1, 2, 3, 5], "close": [0, 5, 11], "zero": [0, 11], "constant": 0, "classif": [0, 2, 5, 11], "task": [0, 1, 2, 5, 11], "imagin": 0, "try": [0, 1, 2, 3, 11], "predict": [0, 1, 3, 5, 11], "feature_import": [0, 1, 5, 11], "30766122": 0, "22259071": 0, "38663027": 0, "08018607": 0, "unsurprisingli": 0, "useless": 0, "help": [0, 1, 5, 6, 7, 9], "least": [0, 1, 5, 10, 11], "least_important_featur": [0, 5, 11], "And": 0, "complementari": [0, 5], "report": [0, 2, 5, 6, 11], "most_important_featur": [0, 5, 11], "now": [0, 1, 2, 3, 5], "regress": [0, 2, 5, 11], "includ": [0, 1, 3, 5, 10, 11], "dummi": [0, 1, 2, 3, 5, 11], "08004098": 0, "36424492": 0, "52199477": 0, "03371933": 0, "less": [0, 5, 11], "again": 0, "go": 1, "featur": [1, 2, 3, 5, 6, 8, 11], "problem": [1, 3, 11], "machin": [1, 8], "learn": [1, 3, 5, 8, 11], "need": [1, 5, 7, 11], "packag": [1, 3, 5, 8, 9], "run": [1, 3, 5, 7, 11], "code": [1, 5, 10, 11], "burn": 1, "ourselv": 1, "19": [1, 11], "23": 1, "35": [1, 2, 11], "59": 1, "31": [1, 3, 11], "rai": 1, "ss": 1, "svm": [1, 3, 5], "svc": [1, 3], "clf": 1, "kernel": [1, 5, 11], "linear": 1, "fit": [1, 3, 10, 11], "arrai": [1, 3, 5, 11], "u2": 1, "far": [1, 3], "good": [1, 11], "everyth": 1, "work": [1, 3, 5, 10, 11], "someon": 1, "x_scale": 1, "oop": 1, "unscal": 1, "easili": [1, 3, 5], "done": 1, "peopl": [1, 4], "stack": [1, 11], "overflow": 1, "wonder": 1, "thei": [1, 2, 3, 5, 11], "ve": 1, "someth": [1, 3, 5, 11], "even": [1, 2, 10], "easier": [1, 5], "common": [1, 5, 10, 11], "pattern": [1, 8, 11], "y_train": [1, 3, 11], "y_test": [1, 3], "x_train_scal": 1, "x_test_scal": 1, "three": [1, 3, 8, 11], "block": [1, 5], "split": [1, 3, 5, 11], "total": [1, 5, 11], "stratifi": [1, 2, 3, 5, 11], "preserv": 1, "wa": [1, 5, 10, 11], "entir": [1, 5, 11], "leak": 1, "hidden": 1, "cannot": [1, 3, 10, 11], "plenti": 1, "too": [1, 3, 5, 11], "reproduc": [1, 5, 10], "enough": [1, 3], "etc": [1, 3, 11], "error": 1, "everywher": [1, 6], "want": [1, 3, 9, 11], "chang": [1, 3, 5, 10], "sure": [1, 3, 5], "v0": 1, "otherwis": [1, 10, 11], "python": [1, 3, 5, 7, 8], "pip": [1, 7, 8, 9], "instal": [1, 2, 5, 8], "environ": [1, 3, 5, 9], "head": [1, 2], "shrimplin": [1, 2], "851": [1, 2], "3064": [1, 2], "a1": [1, 2], "sh": [1, 2], "77": [1, 2, 3], "613176": [1, 2], "915": [1, 2], "978076": [1, 2], "664": [1, 2], "2393": [1, 2], "499945": [1, 2], "4588": [1, 2], "979": [1, 2], "26": [1, 2], "581419": [1, 2], "14": [1, 2], "565": [1, 2], "661": [1, 2], "2416": [1, 2], "119814": [1, 2], "6112": [1, 2], "957": [1, 2], "79": [1, 2], "05": [1, 2, 11], "549881": [1, 2], "050": [1, 2], "658": [1, 2], "2404": [1, 2], "576056": [1, 2], "7636": [1, 2], "936": [1, 2], "86": [1, 2], "518559": [1, 2], "115": [1, 2], "655": [1, 2], "249071": [1, 2], "9160": [1, 2], "74": [1, 2], "58": [1, 2], "436086": [1, 2], "300": [1, 2], "647": [1, 2], "2382": [1, 2], "602601": [1, 2], "later": [1, 3, 11], "spuriou": 1, "rng": [1, 11], "default_rng": [1, 11], "nois": [1, 3], "algorithm": 1, "flag": [1, 3, 11], "outlier": [1, 2, 3, 5, 8], "distribut": [1, 3, 5, 8, 10], "shape": [1, 3, 8, 11], "0x7f3c0dda1d10": 1, "But": [1, 3], "around": 1, "issu": [1, 3, 5, 6, 10, 11], "40748158": 1, "20717811": 1, "31682316": 1, "06851715": 1, "As": [1, 2, 3, 8], "hope": 1, "attribut": [1, 10, 11], "shown": 1, "possibl": [1, 3, 5, 10], "would": [1, 11], "nice": 1, "smoke": [1, 8], "alarm": [1, 5, 11], "prebuilt": 1, "won": 1, "abl": 1, "catch": 1, "howev": [1, 5, 10], "hard": [1, 5], "spot": 1, "self": [1, 3, 11], "alert": [1, 11], "user": 1, "potenti": [1, 11], "provid": [1, 3, 5, 10, 11], "wrap": [1, 5, 11], "anywai": 1, "sensibl": 1, "test_wel": [1, 3], "crawford": [1, 3], "stuart": [1, 3], "test_flag": [1, 3], "isin": [1, 3], "step": [1, 3, 11], "x27": [1, 3], "imbalancedetector": [1, 5, 8, 11], "clipdetector": [1, 5, 11], "correlationdetector": [1, 5, 11], "multimod": [1, 3, 5, 11], "multimodalitydetector": [1, 3, 5, 11], "outlierdetector": [1, 5, 11], "distributioncompar": [1, 5, 11], "importancedetector": [1, 5, 11], "dummypredictor": [1, 3, 11], "jupyt": [1, 3], "pleas": [1, 3, 6, 7, 9, 11], "rerun": [1, 3], "cell": [1, 3], "html": [1, 3, 7], "represent": [1, 3], "trust": [1, 3], "notebook": [1, 3, 5], "On": [1, 3], "github": [1, 3, 7, 8, 11], "unabl": [1, 3], "render": [1, 3], "page": [1, 3, 5, 7, 8], "nbviewer": [1, 3], "org": [1, 3, 10, 11], "pipelinepipelin": [1, 3], "imbalancedetectorimbalancedetector": [1, 3], "clipdetectorclipdetector": [1, 3], "correlationdetectorcorrelationdetector": [1, 3], "multimodalitydetectormultimodalitydetector": [1, 3], "outlierdetectoroutlierdetector": [1, 3], "distributioncomparatordistributioncompar": [1, 3], "importancedetectorimportancedetector": [1, 3], "dummypredictordummypredictor": [1, 3], "make_pipelin": [1, 3, 11], "pipe": [1, 3, 11], "standardscalerstandardscal": [1, 3], "svcsvc": [1, 3], "imbalanc": [1, 3, 11], "420": [1, 3], "400": [1, 3], "minority_classes_": [1, 3, 11], "\u2139": [1, 3], "succeed": [1, 3], "group": [1, 3, 5, 11], "316": 1, "v": [1, 3, 11], "relev": [1, 5], "classifi": [1, 3, 5], "f1": [1, 2, 3, 5, 11], "27481682904196963": 1, "roc_auc": [1, 2, 3, 11], "5014605857836049": 1, "strategi": [1, 2, 3, 5, 11], "643721188696941": 1, "detector": [1, 5, 8, 11], "def": [1, 3], "has_neg": [1, 11], "bool": [1, 3, 11], "trigger": [1, 3, 5, 11], "neg": [1, 3, 11], "negative_detector": [1, 3], "nb": 1, "func": [1, 3, 11], "lt": [1, 3], "baseredflagdetector": [1, 3, 11], "__init__": [1, 3], "gt": [1, 3], "lambda": [1, 3, 11], "0x7f3c0dc63ce0": 1, "messag": [1, 3, 5, 11], "detectordetector": [1, 3], "ad": [1, 5], "posit": [1, 5, 11], "what": [1, 5, 8, 11], "care": [1, 5], "basic_usag": [2, 3, 5], "ipynb": [2, 3, 5], "using_redflag_with_panda": 2, "some": [2, 3, 5, 6, 8, 11], "give": [2, 3, 5, 10], "access": [2, 5], "almost": [2, 5], "were": [2, 3, 5, 11], "best": [2, 5, 11], "idea": [2, 3], "though": 2, "import": [2, 3, 5, 6, 8, 10], "long": 2, "regist": 2, "data": [2, 3, 5, 8, 11], "time": [2, 3, 11], "being": [2, 3, 11], "call": [2, 3, 5, 11], "simplic": 2, "notic": [2, 10], "extra": 2, "insert": 2, "Or": [2, 9], "ask": 2, "new": [2, 3, 5, 6, 7], "dummy_scor": [2, 5, 11], "2531086249215408": 2, "4979211887477007": 2, "mean_squared_error": [2, 11], "47528": 2, "78263092096": 2, "r2": [2, 5, 11], "simpl": [2, 8], "continu": [2, 5, 8, 11], "suitabl": [2, 5], "34": 2, "136": 2, "140": 2, "141": 2, "142": 2, "143": 2, "175": 2, "182": 2, "532": 2, "583": 2, "633": 2, "662": 2, "757": 2, "768": 2, "769": 2, "801": 2, "1316": 2, "1547": 2, "1731": 2, "1744": 2, "1754": 2, "1756": 2, "1778": 2, "1779": 2, "1780": 2, "1785": 2, "1788": 2, "1808": 2, "1812": 2, "2884": 2, "2932": 2, "2973": 2, "2974": 2, "3004": 2, "3087": 2, "3094": 2, "3109": 2, "experiment": [2, 5], "releas": [2, 5, 7], "feedback": 2, "soon": [2, 5], "rais": [3, 11], "red": 3, "load": [3, 8], "independ": [3, 5, 8], "furthermor": 3, "clip": [3, 5, 8, 11], "histplot": 3, "hostedtoolcach": 3, "x64": 3, "lib": 3, "python3": 3, "site": 3, "_oldcor": 3, "py": [3, 5, 11], "1498": 3, "futurewarn": 3, "api": [3, 11], "type": [3, 10, 11], "vector": [3, 11], "1119": 3, "option_context": 3, "mode": 3, "main": [3, 5, 7, 8], "subsequ": [3, 5, 10, 11], "product": [3, 5, 10], "mostli": [3, 5], "unsupervis": [3, 11], "iid": [3, 8], "particular": [3, 10], "univariateoutlierdetector": [3, 11], "consid": [3, 5, 6, 11], "separ": [3, 10, 11], "usual": 3, "probabl": [3, 5, 11], "multivariateoutlierdetector": [3, 11], "togeth": [3, 11], "dure": [3, 11], "word": [3, 5, 11], "examin": 3, "final": [3, 11], "one": [3, 5, 10, 11], "bit": [3, 5], "supervis": 3, "base": [3, 10, 11], "fulli": 3, "triger": 3, "similar": [3, 5], "seen": 3, "ordinari": 3, "rfpipelin": [3, 5, 11], "contain": [3, 5, 7, 10, 11], "out": [3, 10], "read": [3, 6, 7, 9], "compat": 3, "requir": [3, 5, 7, 10, 11], "comparison": [3, 5], "avail": [3, 10], "anoth": [3, 6, 11], "compos": 3, "multi": [3, 11], "make_rf_pipelin": [3, 5, 11], "just": [3, 5, 7, 11], "carri": [3, 8, 10], "phase": 3, "categor": [3, 5, 8, 11], "input": [3, 11], "349": 3, "2573500590509208": 3, "5025408179081148": 3, "3682141715600706": 3, "when": [3, 5, 11], "categori": [3, 11], "y_pred": 3, "30": [3, 11], "argument": [3, 5, 11], "element": [3, 11], "redflag_pipelin": 3, "compon": [3, 5, 8, 11], "yet": [3, 5], "sensit": [3, 11], "instanti": [3, 5, 11], "construct": [3, 11], "drop": 3, "leav": 3, "don": [3, 7, 11], "think": 3, "troubl": 3, "lower": [3, 11], "qualifi": 3, "rememb": 3, "longer": [3, 5], "839": 3, "626": 3, "154443705823081": 3, "higher": 3, "fail": [3, 5], "mention": 3, "whether": [3, 10, 11], "never": 3, "rfpipelinerfpipelin": 3, "imbalancecomparatorimbalancecompar": 3, "therefor": [3, 11], "infer": [3, 11], "66": 3, "276": 3, "2359": 3, "73324716": 3, "591": 3, "252": 3, "2354": 3, "54679144": 3, "341": 3, "82": 3, "2330": 3, "35783664": 3, "064": 3, "90": [3, 11], "49": [3, 11], "2193": 3, "06953439": 3, "168": 3, "975": 3, "2192": 3, "32922081": 3, "154": 3, "108": 3, "2176": 3, "62535394": 3, "125": 3, "emit": [3, 5, 11], "has_nan": [3, 5, 11], "isnan": 3, "0x7fb862c5b2e0": 3, "make_detector_pipelin": [3, 5, 11], "combin": [3, 10, 11], "ab": [3, 11], "custom": [3, 5, 11], "0x7fb862c5b100": 3, "0x7fb862c5bec0": 3, "class_count": [3, 11], "worri": 3, "concern": 3, "seem": [3, 5, 11], "lose": 3, "dynam": 3, "rang": [3, 5, 11], "daili": 3, "temperatur": [3, 11], "europ": 3, "deg": 3, "dealt": 3, "attenu": 3, "larg": [3, 6, 11], "sens": [3, 5, 11], "simpli": 3, "suspici": 3, "without": [3, 10], "perform": [3, 5, 10, 11], "awar": 3, "research": 3, "contigu": 3, "space": 3, "spatial": [3, 11], "rock": 3, "properti": [3, 11], "assumpt": [3, 8, 11], "One": 3, "big": 3, "pitfal": 3, "non": [3, 5, 10], "must": [3, 10, 11], "leakag": [3, 8], "thu": [3, 11], "over": [3, 11], "optimist": 3, "evaul": 3, "date": [3, 10], "patient": 3, "id": [3, 11], "borehol": 3, "implement": [3, 5, 11], "robust": [3, 11], "covari": [3, 11], "insensit": 3, "dimension": 3, "analog": [3, 11], "varianc": [3, 11], "certain": 3, "fall": 3, "centr": 3, "within": [3, 10, 11], "sd": [3, 11], "1000": [3, 11], "val": 3, "iso": [3, 11], "okai": 3, "keep": 3, "bin": [3, 11], "No": [3, 5, 11], "evalu": [3, 5], "turn": [3, 11], "treatment": 3, "crack": 3, "sign": 3, "violat": 3, "ident": [3, 8, 11], "current": [3, 5, 11], "visual": 3, "especi": 3, "ignor": [3, 11], "forget": 3, "appli": [3, 5, 10, 11], "domain": 3, "geograph": 3, "widget": 3, "select": 3, "unintend": 3, "classic": 3, "medic": 3, "diagnosi": 3, "encod": 3, "hand": [3, 11], "distract": 3, "improv": [3, 5, 6, 10], "desir": 3, "contribut": [4, 8, 10], "project": [4, 6, 7], "alphabet": 4, "matt": 4, "hall": 4, "agil": [4, 6], "scientif": 4, "canada": 4, "orcid": 4, "0000": 4, "0002": 4, "4054": 4, "8295": 4, "conda": [5, 7, 8, 9], "manag": [5, 10], "forg": [5, 8, 9], "warn": [5, 8, 11], "valueexcept": 5, "allow": [5, 11], "build": 5, "pipelin": [5, 8, 11], "break": 5, "is_ord": [5, 11], "markov": [5, 8], "chain": [5, 11], "analysi": 5, "chi": [5, 11], "squar": [5, 11], "transit": [5, 11], "matrix": [5, 11], "boolean": [5, 11], "perhap": 5, "below": [5, 8, 10, 11], "is_multimod": [5, 11], "present": [5, 11], "modal": 5, "partit": [5, 11], "insufficientdatadetector": [5, 11], "regressionmultimodaldetector": 5, "multimodaldetector": 5, "accessor": [5, 8, 11], "via": 5, "subject": [5, 10], "make": [5, 6, 7, 8, 10, 11], "text": [5, 10], "document": [5, 6, 7, 9, 10], "dummy_classification_scor": [5, 11], "dummy_regression_scor": [5, 11], "naiv": [5, 11], "mse": [5, 11], "roc": [5, 11], "auc": [5, 11], "addition": 5, "most_frequ": [5, 11], "emploi": 5, "suit": [5, 11], "appropri": [5, 10, 11], "move": 5, "update_p": [5, 11], "util": [5, 8], "is_imbalanc": [5, 11], "imbal": [5, 8], "up": [5, 11], "debat": 5, "has_low_distance_stdev": 5, "resembl": 5, "semant": 5, "success": 5, "1d": [5, 11], "write": [5, 6, 10], "own": [5, 8, 10], "take": [5, 11], "sequenc": [5, 11], "map": 5, "scikit": [5, 8, 11], "unimod": 5, "redefin": 5, "is_standard": [5, 11], "is_standard_norm": [5, 11], "kolmogorov": [5, 11], "smirnov": [5, 11], "reliabl": 5, "exactli": [5, 11], "roughli": 5, "slightli": 5, "exist": 5, "none": [5, 11], "eg": 5, "sinc": 5, "knn": [5, 11], "estim": [5, 11], "third": [5, 10, 11], "unstabl": 5, "caus": [5, 10], "erron": 5, "consecut": [5, 11], "tutori": [5, 6, 8], "doc": 5, "button": 5, "half": [5, 11], "high": [5, 11], "imbalancecompar": [5, 11], "throw": 5, "garden": 5, "special": [5, 10], "straight": 5, "fork": [5, 8], "claus": [5, 11], "bsd": [5, 11], "licens": [5, 8, 11], "using_redflag_with_sklearn": 5, "buggi": 5, "convers": [5, 10, 11], "discret": [5, 11], "ones": [5, 11], "test_redflag": 5, "file": [5, 7, 10], "wherea": 5, "doctest": [5, 7], "onc": 5, "pytest": [5, 7], "coverag": 5, "94": 5, "excess": [5, 11], "reorgan": 5, "modul": [5, 8], "namespac": 5, "doesn": 5, "affect": 5, "confus": 5, "either": [5, 7, 10, 11], "conveni": [5, 11], "oneclasssvm": 5, "ellipticenvelop": 5, "zscore_outli": 5, "kde_peak": [5, 11], "peak": [5, 11], "fit_kd": [5, 11], "get_kd": [5, 11], "find_large_peak": [5, 11], "bandwidth": [5, 11], "bw_silverman": [5, 11], "bw_scott": [5, 11], "overrid": 5, "fix": [5, 6], "bug": [5, 6], "using_redflag": 5, "has_monoton": [5, 11], "has_flat": [5, 11], "interpol": 5, "iter_group": [5, 11], "ecdf": [5, 11], "flatten": [5, 11], "stdev_to_proport": [5, 11], "proportion_to_stdev": [5, 11], "wrote": 5, "95": [5, 11], "has_few_sampl": [5, 11], "appear": [5, 10, 11], "z": [5, 11], "goe": 5, "ci": 5, "workflow": [5, 7, 8], "stabl": 5, "flail": 5, "auto": [5, 11], "thank": 6, "submit": [6, 10], "request": [6, 7], "propos": 6, "pull": [6, 7], "typo": 6, "fortun": 6, "profession": 6, "commun": [6, 10], "mutual": 6, "consider": 6, "scienxlab": 6, "protect": 6, "everyon": 6, "wish": 6, "identifi": [6, 11], "author": [6, 8, 10], "yourself": 6, "md": [6, 7], "agre": [6, 10], "shall": [6, 10], "govern": 6, "term": [6, 10], "unless": [6, 10], "specif": [6, 11], "agreement": [6, 10], "made": [6, 10, 11], "start": [7, 11], "dev": [7, 9], "back": [7, 11], "cov": 7, "docstr": 7, "further": 7, "folder": 7, "repo": 7, "pep": 7, "518": 7, "style": 7, "tar": 7, "gz": 7, "whl": 7, "command": [7, 9], "cd": 7, "sphinx": 7, "manual": 7, "stuff": 7, "makefil": 7, "script": 7, "updat": [7, 11], "publish": [7, 11], "action": 7, "push": 7, "upload": 7, "pypi": 7, "interfac": [7, 10, 11], "lightweight": 8, "safeti": 8, "net": 8, "ndarrai": [8, 11], "analys": 8, "threat": 8, "channel": [8, 9], "program": 8, "standalon": 8, "explor": 8, "basic": 8, "usag": 8, "metric": [8, 11], "pre": 8, "built": [8, 11], "submodul": 8, "content": [8, 10], "develop": [8, 9], "changelog": 8, "index": [8, 11], "search": [8, 11], "At": 9, "sourc": [9, 10], "config": 9, "channel_prior": 9, "strict": 9, "apach": 10, "januari": 10, "2004": 10, "www": 10, "AND": 10, "condit": [10, 11], "FOR": 10, "reproduct": 10, "defin": [10, 11], "section": 10, "through": 10, "licensor": 10, "copyright": 10, "owner": 10, "entiti": 10, "grant": 10, "legal": 10, "union": [10, 11], "act": 10, "under": [10, 11], "power": 10, "direct": [10, 11], "indirect": 10, "contract": 10, "ii": 10, "ownership": 10, "fifti": 10, "percent": 10, "outstand": 10, "share": 10, "iii": 10, "benefici": 10, "individu": 10, "exercis": 10, "permiss": 10, "form": 10, "prefer": 10, "modif": 10, "limit": 10, "softwar": 10, "configur": 10, "mechan": 10, "translat": 10, "compil": 10, "media": 10, "authorship": 10, "attach": 10, "appendix": 10, "deriv": [10, 11], "editori": 10, "revis": 10, "annot": 10, "elabor": 10, "repres": [10, 11], "whole": [10, 11], "origin": [10, 11], "remain": 10, "mere": 10, "link": 10, "bind": 10, "thereof": 10, "addit": [10, 11], "intention": 10, "inclus": 10, "behalf": 10, "electron": 10, "verbal": 10, "written": 10, "sent": 10, "mail": 10, "system": [10, 11], "track": 10, "discuss": 10, "exclud": 10, "conspicu": 10, "mark": [10, 11], "design": 10, "Not": [10, 11], "contributor": [10, 11], "whom": 10, "receiv": 10, "incorpor": 10, "herebi": 10, "perpetu": 10, "worldwid": 10, "exclus": 10, "charg": 10, "royalti": 10, "free": 10, "irrevoc": 10, "publicli": 10, "sublicens": 10, "patent": 10, "except": 10, "state": [10, 11], "offer": 10, "sell": 10, "transfer": 10, "claim": 10, "necessarili": 10, "infring": 10, "alon": 10, "institut": 10, "litig": 10, "against": [10, 11], "counterclaim": 10, "lawsuit": 10, "alleg": 10, "constitut": 10, "contributori": 10, "termin": 10, "redistribut": 10, "medium": 10, "meet": [10, 11], "recipi": 10, "modifi": 10, "promin": 10, "retain": 10, "trademark": 10, "pertain": 10, "readabl": 10, "place": 10, "wherev": 10, "parti": 10, "alongsid": 10, "addendum": 10, "constru": 10, "statement": 10, "compli": 10, "submiss": 10, "explicitli": 10, "notwithstand": 10, "abov": [10, 11], "noth": [10, 11], "herein": 10, "supersed": 10, "execut": 10, "trade": 10, "servic": 10, "customari": 10, "disclaim": 10, "warranti": 10, "applic": 10, "law": 10, "AS": 10, "basi": 10, "OR": 10, "OF": 10, "express": [10, 11], "impli": 10, "titl": 10, "merchant": 10, "sole": 10, "respons": 10, "determin": [10, 11], "risk": 10, "associ": 10, "liabil": 10, "event": [10, 11], "theori": 10, "tort": 10, "neglig": 10, "grossli": 10, "liabl": 10, "damag": 10, "incident": 10, "consequenti": 10, "charact": [10, 11], "aris": 10, "inabl": 10, "loss": 10, "goodwil": 10, "stoppag": 10, "failur": 10, "malfunct": 10, "commerci": 10, "advis": 10, "while": [10, 11], "fee": 10, "indemn": 10, "oblig": 10, "right": 10, "consist": 10, "indemnifi": 10, "defend": 10, "hold": 10, "harmless": 10, "incur": 10, "assert": 10, "end": [10, 11], "relat": 11, "understand": 11, "_supportsarrai": 11, "_nestedsequ": 11, "int": 11, "float": 11, "complex": 11, "str": 11, "byte": 11, "namedtupl": 11, "histogram": 11, "8771812708978117": 11, "5001419889107208": 11, "3286356643172673": 11, "3406453953773365": 11, "scott": 11, "6162678270732356": 11, "1e": 11, "silverman": 11, "bw": 11, "1981": 11, "investig": 11, "journal": 11, "royal": 11, "societi": 11, "vol": 11, "43": 11, "pp": 11, "97": 11, "581810759152688": 11, "cv_kde": 11, "n_bandwidth": 11, "cv": 11, "grid": 11, "optim": 11, "fold": 11, "5212113989811242": 11, "traceback": 11, "recent": 11, "last": 11, "valueerror": 11, "largest": 11, "amplitud": 11, "cut": 11, "off": 11, "smaller": 11, "x_peak": 11, "y_peak": 11, "15": 11, "kde": 11, "2124714013056916": 11, "014367259502733645": 11, "rule": 11, "thumb": 11, "354649738246933": 11, "162332012191087": 11, "per": 11, "concaten": 11, "67243035": 11, "88998226": 11, "22014721": 11, "19729456": 11, "ovr": 11, "reduc": 11, "callabl": 11, "ovo": 11, "full": 11, "axi": 11, "wasserstein_ovo": 11, "2d": 11, "latter": 11, "implicitli": 11, "reshap": 11, "97490053": 11, "1392715": 11, "11417203": 11, "69635752": 11, "22475": 11, "39754762": 11, "71161667": 11, "24495": 11, "wasserstein_multi": 11, "pairwis": 11, "squareform": 11, "match": 11, "k": 11, "55708601": 11, "39271504": 11, "83562902": 11, "wasserstein_ovr": 11, "rest": 11, "refer": 11, "jonathan": 11, "inaki": 11, "inza": 11, "jose": 11, "lozano": 11, "extent": 11, "recognit": 11, "letter": 11, "98": 11, "doi": 11, "1016": 11, "j": 11, "patrec": 11, "08": 11, "002": 11, "dict": 11, "counter": 11, "recommend": 11, "omit": 11, "encount": 11, "diverg": 11, "helling": 11, "string": 11, "euclidean": 11, "manhattan": 11, "kl": 11, "tv": 11, "actual": 11, "zeta": 11, "equat": 11, "length": 11, "discov": 11, "furthest_distribut": 11, "ir": 11, "furthest": 11, "reflect": 11, "minu": 11, "accord": 11, "eq": 11, "mathrm": 11, "frac": 11, "d_": 11, "delta": 11, "mathbf": 11, "iota": 11, "_m": 11, "l1": 11, "l2": 11, "variat": 11, "kullback": 11, "leibner": 11, "generate_data": 11, "288": 11, "round": 11, "76": 11, "629": 11, "333": 11, "511": 11, "81": 11, "61": 11, "73": 11, "65": 11, "major_minor": 11, "maj": 11, "logist": 11, "permut": 11, "lasso": 11, "cluster": 11, "highest": 11, "kept": 11, "55": 11, "85": 11, "99416839": 11, "00583161": 11, "x0": 11, "x1": 11, "x2": 11, "cutoff": 11, "01": 11, "24": 11, "int64": 11, "revers": 11, "chunk": 11, "agilescientif": 11, "striplog": 11, "markov_chain": 11, "observed_count": 11, "include_self": 11, "chi_squar": 11, "q": 11, "critic": 11, "bigger": 11, "second": 11, "reject": 11, "hypothesi": 11, "degrees_of_freedom": 11, "expected_freq": 11, "classmethod": 11, "from_sequ": 11, "strings_are_st": 11, "pars": 11, "specifi": 11, "upward": 11, "inner": 11, "token": 11, "sst": 11, "mud": 11, "lst": 11, "previou": 11, "dimens": 11, "generate_st": 11, "current_st": 11, "next": 11, "normalized_differ": 11, "observed_freq": 11, "hollow_matrix": 11, "hollow": 11, "diagon": 11, "arg": 11, "seq_of_seq": 11, "regular": 11, "plu": 11, "atleast_2d": 11, "137": 11, "contamin": 11, "approxim": 11, "lof": 11, "ee": 11, "mahanalobi": 11, "inlier": 11, "convent": 11, "four": 11, "33": 11, "multipli": 11, "rousseeuw": 11, "van": 11, "driessen": 11, "n_sampl": 11, "n_featur": 11, "6583124": 11, "1055416": 11, "5527708": 11, "01173463": 11, "67448975": 11, "33724488": 11, "mahalanobis_outli": 11, "stdev": 11, "outsid": 11, "70": 11, "89163847": 11, "million": 11, "datapoint": 11, "billion": 11, "seriesaccessor": 11, "pandas_obj": 11, "null_decor": 11, "decor": 11, "kwarg": 11, "baseestim": 11, "transformermixin": 11, "fit_param": 11, "n_output": 11, "x_new": 11, "n_features_new": 11, "sin": 11, "linspac": 11, "38077051": 11, "42977406": 11, "05260728": 11, "92571458": 11, "81188195": 11, "7482485": 11, "84147098": 11, "warn_if_zero": 11, "memori": 11, "expens": 11, "anyth": 11, "bother": 11, "min_class_diff": 11, "imbalance_": 11, "adjust": 11, "unusu": 11, "difficult": 11, "suffici": 11, "mutlivari": 11, "1_000": 11, "12573022": 11, "13210486": 11, "64042265": 11, "10490012": 11, "53566937": 11, "36159505": 11, "24972527": 11, "75063397": 11, "55581573": 11, "01881162": 11, "90942756": 11, "36922933": 11, "outliers_": 11, "beyond": 11, "covarianc": 11, "verbos": 11, "adapt": 11, "handl": 11, "prior": 11, "iter": 11, "fulfil": 11, "xt": 11, "n_transformed_featur": 11, "formatwarn": 11, "presenc": 11, "mappabl": 11, "correspond": 11, "safer": 11, "shorthand": 11, "constructor": 11, "permit": 11, "lowercas": 11, "automat": 11, "joblib": 11, "cach": 11, "path": 11, "directori": 11, "enabl": 11, "clone": 11, "named_step": 11, "advantag": 11, "consum": 11, "elaps": 11, "complet": 11, "baselin": 11, "dummyclassifi": 11, "dictionari": 11, "seed": 11, "3333333333333333": 11, "20000000000000004": 11, "35654761904761906": 11, "dummyregressor": 11, "tomorrow": 11, "rain": 11, "cloud": 11, "sun": 11, "is_binari": 11, "root": 11, "whichev": 11, "arr": 11, "randint": 11, "is_multiclass": 11, "is_multioutput": 11, "output": 11, "typeerror": 11, "top": 11, "middl": 11, "bottom": 11, "n_class": 11, "bool_to_index": 11, "cond": 11, "get_idx": 11, "_type": 11, "_array_lik": 11, "_nested_sequ": 11, "nonetyp": 11, "stepsiz": 11, "coeffici": 11, "decim": 11, "5163977794943222": 11, "instruct": 11, "param": 11, "human": 11, "friendli": 11, "migrat": 11, "add_proxi": 11, "asap": 11, "downsampl": 11, "cdf": 11, "switch": 11, "weight": 11, "mid": 11, "halfwai": 11, "formal": 11, "unbias": 11, "everi": 11, "foo": 11, "l": 11, "toler": 11, "flat": 11, "interv": 11, "monoton": 11, "idx": 11, "is_numer": 11, "atol": 11, "001": 11, "faster": 11, "isclos": 11, "\u03bc": 11, "\u03c3": 11, "allclos": 11, "absolut": 11, "yield": 11, "mask": 11, "ordered_uniqu": 11, "item": 11, "unord": 11, "fast": 11, "reli": 11, "job": 11, "slow": 11, "1000000000": 11, "invers": 11, "magnif": 11, "hyperellipsoid": 11, "sdhe": 11, "proport": 11, "2816": 11, "tabl": 11, "1371": 11, "pone": 11, "0118537": 11, "decent": 11, "precis": 11, "1e9": 11, "575829302496098": 11, "039137525465009": 11, "8000000000000003": 11, "split_and_standard": 11, "y_val": 11, "whose": 11, "68": 11, "27": 11, "39": 11, "signific": 11, "figur": 11, "beta": 11, "paper": 11, "poseidon": 11, "csd": 11, "auth": 11, "pdf": 11, "ververidis08a": 11, "exact": 11, "6826894921370859": 11, "6826894916531445": 11, "9973002039367398": 11, "9973002039633309": 11, "39346933952920327": 11, "9946544947734935": 11, "bayesian": 11, "rate": 11, "posterior": 11, "4999999999999998": 11, "zscore": 11, "54919334": 11, "161895": 11, "77459667": 11, "38729833": 11}, "objects": {"": [[11, 0, 0, "-", "redflag"]], "redflag": [[11, 0, 0, "-", "distributions"], [11, 0, 0, "-", "imbalance"], [11, 0, 0, "-", "importance"], [11, 0, 0, "-", "independence"], [11, 0, 0, "-", "markov"], [11, 0, 0, "-", "outliers"], [11, 0, 0, "-", "pandas"], [11, 0, 0, "-", "sklearn"], [11, 0, 0, "-", "target"], [11, 0, 0, "-", "utils"]], "redflag.distributions": [[11, 1, 1, "", "best_distribution"], [11, 1, 1, "", "bw_scott"], [11, 1, 1, "", "bw_silverman"], [11, 1, 1, "", "cv_kde"], [11, 1, 1, "", "find_large_peaks"], [11, 1, 1, "", "fit_kde"], [11, 1, 1, "", "get_kde"], [11, 1, 1, "", "is_multimodal"], [11, 1, 1, "", "kde_peaks"], [11, 1, 1, "", "wasserstein"], [11, 1, 1, "", "wasserstein_multi"], [11, 1, 1, "", "wasserstein_ovo"], [11, 1, 1, "", "wasserstein_ovr"]], "redflag.imbalance": [[11, 1, 1, "", "class_counts"], [11, 1, 1, "", "divergence"], [11, 1, 1, "", "empirical_distribution"], [11, 1, 1, "", "furthest_distribution"], [11, 1, 1, "", "imbalance_degree"], [11, 1, 1, "", "imbalance_ratio"], [11, 1, 1, "", "is_imbalanced"], [11, 1, 1, "", "major_minor"], [11, 1, 1, "", "minority_classes"]], "redflag.importance": [[11, 1, 1, "", "feature_importances"], [11, 1, 1, "", "least_important_features"], [11, 1, 1, "", "most_important_features"]], "redflag.independence": [[11, 1, 1, "", "is_correlated"]], "redflag.markov": [[11, 2, 1, "", "Markov_chain"], [11, 1, 1, "", "hollow_matrix"], [11, 1, 1, "", "observations"], [11, 1, 1, "", "regularize"]], "redflag.markov.Markov_chain": [[11, 3, 1, "", "chi_squared"], [11, 4, 1, "", "degrees_of_freedom"], [11, 4, 1, "", "expected_freqs"], [11, 3, 1, "", "from_sequence"], [11, 3, 1, "", "generate_states"], [11, 4, 1, "", "normalized_difference"], [11, 4, 1, "", "observed_freqs"]], "redflag.outliers": [[11, 1, 1, "", "expected_outliers"], [11, 1, 1, "", "get_outliers"], [11, 1, 1, "", "has_outliers"], [11, 1, 1, "", "mahalanobis"], [11, 1, 1, "", "mahalanobis_outliers"]], "redflag.pandas": [[11, 2, 1, "", "SeriesAccessor"], [11, 1, 1, "", "null_decorator"]], "redflag.pandas.SeriesAccessor": [[11, 3, 1, "", "dummy_scores"], [11, 3, 1, "", "imbalance_degree"], [11, 3, 1, "", "is_ordered"], [11, 3, 1, "", "minority_classes"], [11, 3, 1, "", "report"]], "redflag.sklearn": [[11, 2, 1, "", "BaseRedflagDetector"], [11, 2, 1, "", "ClipDetector"], [11, 2, 1, "", "CorrelationDetector"], [11, 2, 1, "", "Detector"], [11, 2, 1, "", "DistributionComparator"], [11, 2, 1, "", "DummyPredictor"], [11, 2, 1, "", "ImbalanceComparator"], [11, 2, 1, "", "ImbalanceDetector"], [11, 2, 1, "", "ImportanceDetector"], [11, 2, 1, "", "InsufficientDataDetector"], [11, 2, 1, "", "MultimodalityDetector"], [11, 2, 1, "", "MultivariateOutlierDetector"], [11, 2, 1, "", "OutlierDetector"], [11, 2, 1, "", "RfPipeline"], [11, 2, 1, "", "UnivariateOutlierDetector"], [11, 1, 1, "", "formatwarning"], [11, 1, 1, "", "make_detector_pipeline"], [11, 1, 1, "", "make_rf_pipeline"]], "redflag.sklearn.BaseRedflagDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.DistributionComparator": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.DummyPredictor": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.ImbalanceComparator": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.ImbalanceDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.ImportanceDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.InsufficientDataDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.MultimodalityDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "transform"]], "redflag.sklearn.MultivariateOutlierDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.OutlierDetector": [[11, 3, 1, "", "fit"], [11, 3, 1, "", "fit_transform"], [11, 3, 1, "", "transform"]], "redflag.sklearn.RfPipeline": [[11, 3, 1, "", "transform"]], "redflag.target": [[11, 1, 1, "", "dummy_classification_scores"], [11, 1, 1, "", "dummy_regression_scores"], [11, 1, 1, "", "dummy_scores"], [11, 1, 1, "", "is_binary"], [11, 1, 1, "", "is_continuous"], [11, 1, 1, "", "is_multiclass"], [11, 1, 1, "", "is_multioutput"], [11, 1, 1, "", "is_ordered"], [11, 1, 1, "", "n_classes"]], "redflag.utils": [[11, 1, 1, "", "bool_to_index"], [11, 1, 1, "", "clipped"], [11, 1, 1, "", "consecutive"], [11, 1, 1, "", "cv"], [11, 1, 1, "", "deprecated"], [11, 1, 1, "", "ecdf"], [11, 1, 1, "", "flatten"], [11, 1, 1, "", "generate_data"], [11, 1, 1, "", "get_idx"], [11, 1, 1, "", "has_few_samples"], [11, 1, 1, "", "has_flat"], [11, 1, 1, "", "has_monotonic"], [11, 1, 1, "", "has_nans"], [11, 1, 1, "", "index_to_bool"], [11, 1, 1, "", "is_clipped"], [11, 1, 1, "", "is_numeric"], [11, 1, 1, "", "is_standard_normal"], [11, 1, 1, "", "is_standardized"], [11, 1, 1, "", "iter_groups"], [11, 1, 1, "", "ordered_unique"], [11, 1, 1, "", "proportion_to_stdev"], [11, 1, 1, "", "split_and_standardize"], [11, 1, 1, "", "stdev_to_proportion"], [11, 1, 1, "", "update_p"], [11, 1, 1, "", "zscore"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:property"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"]}, "titleterms": {"basic": 0, "usag": 0, "load": [0, 1], "some": [0, 1], "data": [0, 1], "categor": 0, "continu": [0, 7], "imbal": [0, 1, 3, 11], "metric": [0, 1], "outlier": [0, 11], "clip": [0, 1], "distribut": [0, 11], "shape": 0, "ident": 0, "assumpt": [0, 1], "alreadi": 0, "split": 0, "out": 0, "group": 0, "arrai": 0, "independ": [0, 1, 11], "featur": 0, "import": [0, 1, 11], "tutori": 1, "A": 1, "simpl": 1, "ml": [1, 8], "workflow": 1, "quick": [1, 8], "look": 1, "redflag": [1, 2, 3, 8, 11], "pipelin": [1, 3], "make": [1, 3], "your": [1, 3], "own": [1, 3], "test": [1, 7], "us": [2, 3], "panda": [2, 11], "seri": 2, "accessor": 2, "datafram": 2, "sklearn": [3, 11], "The": 3, "detector": 3, "class": 3, "pre": 3, "built": 3, "transform": 3, "compar": 3, "smoke": 3, "what": 3, "do": 3, "about": 3, "warn": 3, "imbalancedetector": 3, "imbalancecompar": 3, "clipdetector": 3, "correlationdetector": 3, "outlierdetector": 3, "distributioncompar": 3, "importancedetector": 3, "author": 4, "changelog": 5, "0": 5, "4": 5, "28": 5, "septemb": 5, "2023": 5, "3": 5, "21": 5, "2": 5, "1": 5, "10": 5, "novemb": 5, "2022": 5, "9": 5, "25": 5, "august": 5, "8": 5, "juli": 5, "7": 5, "11": 5, "februari": 5, "31": 5, "januari": 5, "30": 5, "contribut": [6, 7], "code": 6, "conduct": 6, "authorship": 6, "licens": [6, 10], "develop": 7, "instal": [7, 9], "build": 7, "packag": [7, 11], "doc": 7, "integr": 7, "safer": 8, "design": 8, "start": 8, "user": 8, "guid": 8, "api": 8, "refer": 8, "other": 8, "resourc": 8, "indic": 8, "tabl": 8, "option": 9, "depend": 9, "submodul": 11, "modul": 11, "markov": 11, "target": 11, "util": 11, "content": 11}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"\ud83d\udea9 Basic usage": [[0, "basic-usage"]], "Load some data": [[0, "load-some-data"], [1, "load-some-data"]], "Categorical or continuous?": [[0, "categorical-or-continuous"]], "Imbalance metrics": [[0, "imbalance-metrics"], [1, "imbalance-metrics"]], "Outliers": [[0, "outliers"]], "Clipping": [[0, "clipping"], [1, "clipping"]], "Distribution shape": [[0, "distribution-shape"]], "Identical distribution assumption": [[0, "identical-distribution-assumption"]], "Already split out group arrays": [[0, "already-split-out-group-arrays"]], "Independence assumption": [[0, "independence-assumption"], [1, "independence-assumption"]], "Feature importance": [[0, "feature-importance"]], "\ud83d\udea9 Tutorial": [[1, "tutorial"]], "A simple ML workflow": [[1, "a-simple-ml-workflow"]], "A quick look at redflag": [[1, "a-quick-look-at-redflag"]], "Importance": [[1, "importance"]], "Pipelines": [[1, "pipelines"]], "Making your own tests": [[1, "making-your-own-tests"]], "\ud83d\udea9 Using redflag with Pandas": [[2, "using-redflag-with-pandas"]], "Series accessor": [[2, "series-accessor"]], "DataFrame accessor": [[2, "dataframe-accessor"]], "\ud83d\udea9 Using redflag with sklearn": [[3, "using-redflag-with-sklearn"]], "The redflag detector classes": [[3, "the-redflag-detector-classes"]], "Using the pre-built redflag pipeline": [[3, "using-the-pre-built-redflag-pipeline"]], "Using the \u2018detector\u2019 transformers": [[3, "using-the-detector-transformers"]], "The imbalance comparator": [[3, "the-imbalance-comparator"]], "Making your own smoke detector": [[3, "making-your-own-smoke-detector"]], "What to do about the warnings": [[3, "what-to-do-about-the-warnings"]], "ImbalanceDetector and ImbalanceComparator": [[3, "imbalancedetector-and-imbalancecomparator"]], "ClipDetector": [[3, "clipdetector"]], "CorrelationDetector": [[3, "correlationdetector"]], "OutlierDetector": [[3, "outlierdetector"]], "DistributionComparator": [[3, "distributioncomparator"]], "ImportanceDetector": [[3, "importancedetector"]], "Authors": [[4, "authors"]], "Changelog": [[5, "changelog"]], "0.4.0, 28 September 2023": [[5, "september-2023"]], "0.3.0, 21 September 2023": [[5, "id1"]], "0.2.0, 4 September 2023": [[5, "id2"]], "0.1.10, 21 November 2022": [[5, "november-2022"]], "0.1.9, 25 August 2022": [[5, "august-2022"]], "0.1.8, 8 July 2022": [[5, "july-2022"]], "0.1.3 to 0.1.7, 9\u201311 February 2022": [[5, "to-0-1-7-911-february-2022"]], "0.1.2, 1 February 2022": [[5, "february-2022"]], "0.1.1, 31 January 2022": [[5, "january-2022"]], "0.1.0, 30 January 2022": [[5, "id3"]], "Contributing": [[6, "contributing"], [7, "contributing"]], "Code of conduct": [[6, "code-of-conduct"]], "Authorship": [[6, "authorship"]], "License": [[6, "license"], [10, "license"]], "Development": [[7, "development"]], "Installation": [[7, "installation"]], "Testing": [[7, "testing"]], "Building the package": [[7, "building-the-package"]], "Building the docs": [[7, "building-the-docs"]], "Continuous integration": [[7, "continuous-integration"]], "Redflag: safer ML by design": [[8, "redflag-safer-ml-by-design"]], "Quick start": [[8, "quick-start"]], "User guide": [[8, "user-guide"], [8, null]], "API reference": [[8, "api-reference"], [8, null]], "Other resources": [[8, "other-resources"], [8, null]], "Indices and tables": [[8, "indices-and-tables"]], "\ud83d\udea9 Installation": [[9, "installation"]], "Optional dependencies": [[9, "optional-dependencies"]], "redflag package": [[11, "redflag-package"]], "Submodules": [[11, "submodules"]], "redflag.distributions module": [[11, "module-redflag.distributions"]], "redflag.imbalance module": [[11, "module-redflag.imbalance"]], "redflag.importance module": [[11, "module-redflag.importance"]], "redflag.independence module": [[11, "module-redflag.independence"]], "redflag.markov module": [[11, "module-redflag.markov"]], "redflag.outliers module": [[11, "module-redflag.outliers"]], "redflag.pandas module": [[11, "module-redflag.pandas"]], "redflag.sklearn module": [[11, "module-redflag.sklearn"]], "redflag.target module": [[11, "module-redflag.target"]], "redflag.utils module": [[11, "module-redflag.utils"]], "Module contents": [[11, "module-redflag"]]}, "indexentries": {"baseredflagdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.BaseRedflagDetector"]], "clipdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.ClipDetector"]], "correlationdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.CorrelationDetector"]], "detector (class in redflag.sklearn)": [[11, "redflag.sklearn.Detector"]], "distributioncomparator (class in redflag.sklearn)": [[11, "redflag.sklearn.DistributionComparator"]], "dummypredictor (class in redflag.sklearn)": [[11, "redflag.sklearn.DummyPredictor"]], "imbalancecomparator (class in redflag.sklearn)": [[11, "redflag.sklearn.ImbalanceComparator"]], "imbalancedetector (class in redflag.sklearn)": [[11, "redflag.sklearn.ImbalanceDetector"]], "importancedetector (class in redflag.sklearn)": [[11, "redflag.sklearn.ImportanceDetector"]], "insufficientdatadetector (class in redflag.sklearn)": [[11, "redflag.sklearn.InsufficientDataDetector"]], "markov_chain (class in redflag.markov)": [[11, "redflag.markov.Markov_chain"]], "multimodalitydetector (class in redflag.sklearn)": [[11, "redflag.sklearn.MultimodalityDetector"]], "multivariateoutlierdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.MultivariateOutlierDetector"]], "outlierdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.OutlierDetector"]], "rfpipeline (class in redflag.sklearn)": [[11, "redflag.sklearn.RfPipeline"]], "seriesaccessor (class in redflag.pandas)": [[11, "redflag.pandas.SeriesAccessor"]], "univariateoutlierdetector (class in redflag.sklearn)": [[11, "redflag.sklearn.UnivariateOutlierDetector"]], "best_distribution() (in module redflag.distributions)": [[11, "redflag.distributions.best_distribution"]], "bool_to_index() (in module redflag.utils)": [[11, "redflag.utils.bool_to_index"]], "bw_scott() (in module redflag.distributions)": [[11, "redflag.distributions.bw_scott"]], "bw_silverman() (in module redflag.distributions)": [[11, "redflag.distributions.bw_silverman"]], "chi_squared() (redflag.markov.markov_chain method)": [[11, "redflag.markov.Markov_chain.chi_squared"]], "class_counts() (in module redflag.imbalance)": [[11, "redflag.imbalance.class_counts"]], "clipped() (in module redflag.utils)": [[11, "redflag.utils.clipped"]], "consecutive() (in module redflag.utils)": [[11, "redflag.utils.consecutive"]], "cv() (in module redflag.utils)": [[11, "redflag.utils.cv"]], "cv_kde() (in module redflag.distributions)": [[11, "redflag.distributions.cv_kde"]], "degrees_of_freedom (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.degrees_of_freedom"]], "deprecated() (in module redflag.utils)": [[11, "redflag.utils.deprecated"]], "divergence() (in module redflag.imbalance)": [[11, "redflag.imbalance.divergence"]], "dummy_classification_scores() (in module redflag.target)": [[11, "redflag.target.dummy_classification_scores"]], "dummy_regression_scores() (in module redflag.target)": [[11, "redflag.target.dummy_regression_scores"]], "dummy_scores() (in module redflag.target)": [[11, "redflag.target.dummy_scores"]], "dummy_scores() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.dummy_scores"]], "ecdf() (in module redflag.utils)": [[11, "redflag.utils.ecdf"]], "empirical_distribution() (in module redflag.imbalance)": [[11, "redflag.imbalance.empirical_distribution"]], "expected_freqs (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.expected_freqs"]], "expected_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.expected_outliers"]], "feature_importances() (in module redflag.importance)": [[11, "redflag.importance.feature_importances"]], "find_large_peaks() (in module redflag.distributions)": [[11, "redflag.distributions.find_large_peaks"]], "fit() (redflag.sklearn.baseredflagdetector method)": [[11, "redflag.sklearn.BaseRedflagDetector.fit"]], "fit() (redflag.sklearn.distributioncomparator method)": [[11, "redflag.sklearn.DistributionComparator.fit"]], "fit() (redflag.sklearn.dummypredictor method)": [[11, "redflag.sklearn.DummyPredictor.fit"]], "fit() (redflag.sklearn.imbalancecomparator method)": [[11, "redflag.sklearn.ImbalanceComparator.fit"]], "fit() (redflag.sklearn.imbalancedetector method)": [[11, "redflag.sklearn.ImbalanceDetector.fit"]], "fit() (redflag.sklearn.importancedetector method)": [[11, "redflag.sklearn.ImportanceDetector.fit"]], "fit() (redflag.sklearn.insufficientdatadetector method)": [[11, "redflag.sklearn.InsufficientDataDetector.fit"]], "fit() (redflag.sklearn.multimodalitydetector method)": [[11, "redflag.sklearn.MultimodalityDetector.fit"]], "fit() (redflag.sklearn.multivariateoutlierdetector method)": [[11, "redflag.sklearn.MultivariateOutlierDetector.fit"]], "fit() (redflag.sklearn.outlierdetector method)": [[11, "redflag.sklearn.OutlierDetector.fit"]], "fit_kde() (in module redflag.distributions)": [[11, "redflag.distributions.fit_kde"]], "fit_transform() (redflag.sklearn.baseredflagdetector method)": [[11, "redflag.sklearn.BaseRedflagDetector.fit_transform"]], "fit_transform() (redflag.sklearn.distributioncomparator method)": [[11, "redflag.sklearn.DistributionComparator.fit_transform"]], "fit_transform() (redflag.sklearn.imbalancecomparator method)": [[11, "redflag.sklearn.ImbalanceComparator.fit_transform"]], "fit_transform() (redflag.sklearn.insufficientdatadetector method)": [[11, "redflag.sklearn.InsufficientDataDetector.fit_transform"]], "fit_transform() (redflag.sklearn.multivariateoutlierdetector method)": [[11, "redflag.sklearn.MultivariateOutlierDetector.fit_transform"]], "fit_transform() (redflag.sklearn.outlierdetector method)": [[11, "redflag.sklearn.OutlierDetector.fit_transform"]], "flatten() (in module redflag.utils)": [[11, "redflag.utils.flatten"]], "formatwarning() (in module redflag.sklearn)": [[11, "redflag.sklearn.formatwarning"]], "from_sequence() (redflag.markov.markov_chain class method)": [[11, "redflag.markov.Markov_chain.from_sequence"]], "furthest_distribution() (in module redflag.imbalance)": [[11, "redflag.imbalance.furthest_distribution"]], "generate_data() (in module redflag.utils)": [[11, "redflag.utils.generate_data"]], "generate_states() (redflag.markov.markov_chain method)": [[11, "redflag.markov.Markov_chain.generate_states"]], "get_idx() (in module redflag.utils)": [[11, "redflag.utils.get_idx"]], "get_kde() (in module redflag.distributions)": [[11, "redflag.distributions.get_kde"]], "get_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.get_outliers"]], "has_few_samples() (in module redflag.utils)": [[11, "redflag.utils.has_few_samples"]], "has_flat() (in module redflag.utils)": [[11, "redflag.utils.has_flat"]], "has_monotonic() (in module redflag.utils)": [[11, "redflag.utils.has_monotonic"]], "has_nans() (in module redflag.utils)": [[11, "redflag.utils.has_nans"]], "has_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.has_outliers"]], "hollow_matrix() (in module redflag.markov)": [[11, "redflag.markov.hollow_matrix"]], "imbalance_degree() (in module redflag.imbalance)": [[11, "redflag.imbalance.imbalance_degree"]], "imbalance_degree() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.imbalance_degree"]], "imbalance_ratio() (in module redflag.imbalance)": [[11, "redflag.imbalance.imbalance_ratio"]], "index_to_bool() (in module redflag.utils)": [[11, "redflag.utils.index_to_bool"]], "is_binary() (in module redflag.target)": [[11, "redflag.target.is_binary"]], "is_clipped() (in module redflag.utils)": [[11, "redflag.utils.is_clipped"]], "is_continuous() (in module redflag.target)": [[11, "redflag.target.is_continuous"]], "is_correlated() (in module redflag.independence)": [[11, "redflag.independence.is_correlated"]], "is_imbalanced() (in module redflag.imbalance)": [[11, "redflag.imbalance.is_imbalanced"]], "is_multiclass() (in module redflag.target)": [[11, "redflag.target.is_multiclass"]], "is_multimodal() (in module redflag.distributions)": [[11, "redflag.distributions.is_multimodal"]], "is_multioutput() (in module redflag.target)": [[11, "redflag.target.is_multioutput"]], "is_numeric() (in module redflag.utils)": [[11, "redflag.utils.is_numeric"]], "is_ordered() (in module redflag.target)": [[11, "redflag.target.is_ordered"]], "is_ordered() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.is_ordered"]], "is_standard_normal() (in module redflag.utils)": [[11, "redflag.utils.is_standard_normal"]], "is_standardized() (in module redflag.utils)": [[11, "redflag.utils.is_standardized"]], "iter_groups() (in module redflag.utils)": [[11, "redflag.utils.iter_groups"]], "kde_peaks() (in module redflag.distributions)": [[11, "redflag.distributions.kde_peaks"]], "least_important_features() (in module redflag.importance)": [[11, "redflag.importance.least_important_features"]], "mahalanobis() (in module redflag.outliers)": [[11, "redflag.outliers.mahalanobis"]], "mahalanobis_outliers() (in module redflag.outliers)": [[11, "redflag.outliers.mahalanobis_outliers"]], "major_minor() (in module redflag.imbalance)": [[11, "redflag.imbalance.major_minor"]], "make_detector_pipeline() (in module redflag.sklearn)": [[11, "redflag.sklearn.make_detector_pipeline"]], "make_rf_pipeline() (in module redflag.sklearn)": [[11, "redflag.sklearn.make_rf_pipeline"]], "minority_classes() (in module redflag.imbalance)": [[11, "redflag.imbalance.minority_classes"]], "minority_classes() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.minority_classes"]], "module": [[11, "module-redflag"], [11, "module-redflag.distributions"], [11, "module-redflag.imbalance"], [11, "module-redflag.importance"], [11, "module-redflag.independence"], [11, "module-redflag.markov"], [11, "module-redflag.outliers"], [11, "module-redflag.pandas"], [11, "module-redflag.sklearn"], [11, "module-redflag.target"], [11, "module-redflag.utils"]], "most_important_features() (in module redflag.importance)": [[11, "redflag.importance.most_important_features"]], "n_classes() (in module redflag.target)": [[11, "redflag.target.n_classes"]], "normalized_difference (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.normalized_difference"]], "null_decorator() (in module redflag.pandas)": [[11, "redflag.pandas.null_decorator"]], "observations() (in module redflag.markov)": [[11, "redflag.markov.observations"]], "observed_freqs (redflag.markov.markov_chain property)": [[11, "redflag.markov.Markov_chain.observed_freqs"]], "ordered_unique() (in module redflag.utils)": [[11, "redflag.utils.ordered_unique"]], "proportion_to_stdev() (in module redflag.utils)": [[11, "redflag.utils.proportion_to_stdev"]], "redflag": [[11, "module-redflag"]], "redflag.distributions": [[11, "module-redflag.distributions"]], "redflag.imbalance": [[11, "module-redflag.imbalance"]], "redflag.importance": [[11, "module-redflag.importance"]], "redflag.independence": [[11, "module-redflag.independence"]], "redflag.markov": [[11, "module-redflag.markov"]], "redflag.outliers": [[11, "module-redflag.outliers"]], "redflag.pandas": [[11, "module-redflag.pandas"]], "redflag.sklearn": [[11, "module-redflag.sklearn"]], "redflag.target": [[11, "module-redflag.target"]], "redflag.utils": [[11, "module-redflag.utils"]], "regularize() (in module redflag.markov)": [[11, "redflag.markov.regularize"]], "report() (redflag.pandas.seriesaccessor method)": [[11, "redflag.pandas.SeriesAccessor.report"]], "split_and_standardize() (in module redflag.utils)": [[11, "redflag.utils.split_and_standardize"]], "stdev_to_proportion() (in module redflag.utils)": [[11, "redflag.utils.stdev_to_proportion"]], "transform() (redflag.sklearn.baseredflagdetector method)": [[11, "redflag.sklearn.BaseRedflagDetector.transform"]], "transform() (redflag.sklearn.distributioncomparator method)": [[11, "redflag.sklearn.DistributionComparator.transform"]], "transform() (redflag.sklearn.dummypredictor method)": [[11, "redflag.sklearn.DummyPredictor.transform"]], "transform() (redflag.sklearn.imbalancecomparator method)": [[11, "redflag.sklearn.ImbalanceComparator.transform"]], "transform() (redflag.sklearn.imbalancedetector method)": [[11, "redflag.sklearn.ImbalanceDetector.transform"]], "transform() (redflag.sklearn.importancedetector method)": [[11, "redflag.sklearn.ImportanceDetector.transform"]], "transform() (redflag.sklearn.insufficientdatadetector method)": [[11, "redflag.sklearn.InsufficientDataDetector.transform"]], "transform() (redflag.sklearn.multimodalitydetector method)": [[11, "redflag.sklearn.MultimodalityDetector.transform"]], "transform() (redflag.sklearn.multivariateoutlierdetector method)": [[11, "redflag.sklearn.MultivariateOutlierDetector.transform"]], "transform() (redflag.sklearn.outlierdetector method)": [[11, "redflag.sklearn.OutlierDetector.transform"]], "transform() (redflag.sklearn.rfpipeline method)": [[11, "redflag.sklearn.RfPipeline.transform"]], "update_p() (in module redflag.utils)": [[11, "redflag.utils.update_p"]], "wasserstein() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein"]], "wasserstein_multi() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein_multi"]], "wasserstein_ovo() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein_ovo"]], "wasserstein_ovr() (in module redflag.distributions)": [[11, "redflag.distributions.wasserstein_ovr"]], "zscore() (in module redflag.utils)": [[11, "redflag.utils.zscore"]]}}) \ No newline at end of file