From 6bedb5a38477a14c0b992f84bd7441969aef3107 Mon Sep 17 00:00:00 2001 From: victorvicpal Date: Fri, 23 Nov 2018 12:59:55 +0000 Subject: [PATCH] classic bip FS --- docs/guide.md | 16 +++++++++++++++- docs/img/class_fs.png | Bin 0 -> 16637 bytes 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 docs/img/class_fs.png diff --git a/docs/guide.md b/docs/guide.md index 5ff480b..76cdfcd 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -56,4 +56,18 @@ bip_classic = biplot.Classic(X, dim = 40, alpha = 1, method = 1) bip_classic.plot() ``` -![class_bip](img/class_bip.png) \ No newline at end of file +![class_bip](img/class_bip.png) + +#### Feature Selection +``` +T_classic = feature.selection(bip_classic, target, thr_dis = 50, thr_corr = 0.9) +print(T_classic.var_sel) +``` + +['F3S', 'F4S', 'F7R', 'F7S', 'F8R', 'F8S', 'F12R', 'F12S', 'F13R', 'F13S', 'F15R', 'F15S', 'F16R', 'F16S', 'F18R', 'F18S', 'F20R', 'F20S', 'F21R', 'F21S', 'F22R', 'F22S'] + +``` +T_classic.Disc.loc[T_classic.var_sel,'0-1'].sort_values().plot(kind='barh', figsize= (5,10), title = 'Importance'); +``` + +![class_fs](img/class_fs.png) diff --git a/docs/img/class_fs.png b/docs/img/class_fs.png new file mode 100644 index 0000000000000000000000000000000000000000..8a8b683e407d5aea0978044eee6b0303f99c9486 GIT binary patch literal 16637 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 literal 0 HcmV?d00001