Master status: [![Master Build Status](https://travis-ci.org/EpistasisLab/ReBATE.svg?branch=master)](https://travis-ci.org/EpistasisLab/ReBATE)
[![Master Coverage Status](https://coveralls.io/repos/github/EpistasisLab/ReBATE/badge.svg?branch=master)](https://coveralls.io/github/EpistasisLab/ReBATE?branch=master)
Development status: [![Development Build Status](https://travis-ci.org/EpistasisLab/ReBATE.svg?branch=development)](https://travis-ci.org/EpistasisLab/ReBATE)
[![Development Coverage Status](https://coveralls.io/repos/github/EpistasisLab/ReBATE/badge.svg?branch=development&service=github)](https://coveralls.io/github/EpistasisLab/ReBATE?branch=development)
Package information: ![Python 2.7](https://img.shields.io/badge/python-2.7-blue.svg)
![Python 3.5](https://img.shields.io/badge/python-3.6-blue.svg)
![License](https://img.shields.io/badge/license-MIT%20License-blue.svg)
# ReBATE (Relief-based Algorithm Training Environment)
This package includes stand-alone Python code to run any of the included/available [Relief-Based algorithms (RBAs)](https://en.wikipedia.org/wiki/Relief_(feature_selection))
designed for feature weighting/selection as part of a machine learning pipeline (supervised learning). Presently this includes the following core RBAs: ReliefF, SURF, SURF\*, MultiSURF\* and MultiSURF. Additionally, an implementation of the iterative TuRF mechanism is included. **It is still under active development** and we encourage you to check back on this repository regularly for updates.
These algorithms offer a computationally efficient way to perform feature selection that is sensitive to feature interactions as well as simple univariate associations, unlike most currently available filter-based feature selection methods. The main benefit of Relief algorithms is that they identify feature interactions without having to exhaustively check every pairwise interaction, thus taking significantly less time than exhaustive pairwise search.
Each core algorithm outputs an ordered set of feature names along with respective feature scores (i.e. weights). Certain algorithms require user specified run parameters (e.g. ReliefF requires the user to specify some 'k' number of nearest neighbors).
Relief algorithms are commonly applied to genetic analyses, where epistasis (i.e., feature interactions) is common. However, the algorithms implemented in this package can be applied to almost any supervised classification data set and supports:
* Feature sets that are discrete/categorical, continuous-valued or a mix of both
* Data with missing values
* Binary endpoints (i.e., classification)
* Multi-class endpoints (i.e., classification)
* Continuous endpoints (i.e., regression)
Built into this code, is a strategy to 'automatically' detect from the loaded data, these relevant characteristics.
Of our two initial ReBATE software releases, this stand-alone version primarily focuses on improving run-time with the use of Cython.
This code is most appropriate for more experienced users or those primarily interested in reducing analysis run time.
We recommend that scikit-learn users, Windows operating system users, beginners, or those looking for the most recent ReBATE developments to instead use our alternate [scikit-rebate](https://github.com/EpistasisLab/scikit-rebate) implementation. ReBATE can be run on Windows with some additional installation steps and possible troubleshooting outlined below.
## License
Please see the [repository license](https://github.com/EpistasisLab/ReBATE/blob/master/LICENSE) for the licensing and usage information for ReBATE.
Generally, we have licensed ReBATE to make it as widely usable as possible.
## Cython (Important Notice)
NOTICE: As is, this code will not run on your local platform! Portions of this code have been optimized with Cython routines for code speedup. As a result, before being able to use
ReBATE on a given operating system (i.e. Linux, Mac, or Windows), critical binary files must be compiled as a one time step (or any time the underlying source code is modified, or
any time an updated version of ReBATE is downloaded to your system. Compiling the necessary binary files is very easy to do on Mac or Linux systems (because they include a C compiler). However Windows users will unfortunately have to go through a few extra hurdles in order to complete this one time step. If you wish to avoid this hassle, please see our alternate [scikit-rebate](https://github.com/EpistasisLab/scikit-rebate) implementation.
## Installation
For detailed information on installing ReBATE, including necessary prerequisites, special instructions for Windows users, and instructions for compiling cython, please refer to our [installation documentation](https://EpistasisLab.github.io/ReBATE/installing/).
## Running ReBATE
From the '/rebate/' directory, run the following to view all available options:
```
./rebate.py -h
```
For detailed information and examples of how to run the different Relief algorithms available in this package, please refer to our [usage documentation](https://EpistasisLab.github.io/ReBATE/using/).
## Contributing to ReBATE
We welcome you to [check the existing issues](https://github.com/EpistasisLab/ReBATE/issues/) for bugs or enhancements to work on. If you have an idea for an extension to ReBATE, please [file a new issue](https://github.com/EpistasisLab/ReBATE/issues/new) so we can discuss it.
If you wish to contribute to ReBATE we strongly recommend following the steps detailed in [contributing documentation](https://EpistasisLab.github.io/ReBATE/contributing/).
## Citing ReBATE
If you use ReBATE or the MultiSURF algorithm in a scientific publication, please consider citing the following paper:
Ryan J. Urbanowicz, Randal S. Olson, Peter Schmitt, Melissa Meeker, Jason H. Moore (2017). [Benchmarking Relief-Based Feature Selection Methods](https://arxiv.org/abs/1711.08477). *arXiv preprint*, under review.
BibTeX entry:
```bibtex
@misc{Urbanowicz2017Benchmarking,
author = {Urbanowicz, Ryan J. and Olson, Randal S. and Schmitt, Peter and Meeker, Melissa and Moore, Jason H.},
title = {Benchmarking Relief-Based Feature Selection Methods},
year = {2017},
howpublished = {arXiv e-print. https://arxiv.org/abs/1711.08477},
}
```
If you wish to directly cite the original paper for one of the other algorithms implemented in ReBATE please refer to our [citing documentation](https://epistasislab.github.io/ReBATE/citing/).
## History
This code is largely based on Python implementations of ReliefF, SURF, SURF*, MultiSURF*, and TuRF within the [ExSTraCS](https://github.com/ryanurbs/ExSTraCS_2.0) algorithm software.
That Python code was in turn based on Java implementations of these algorithms within the [Multifactor Dimensionality Reduction (MDR)](https://sourceforge.net/projects/mdr/) software.
In contrast with the MDR implementations, both the ExSTraCS and scikit-rebate, and present ReBATE versions of this code have been expanded to accommodate the following data considerations: Continuous features, a mix of discrete and continuous features, a continuous endpoint/outcome, and missing data values.
## Possible future updates
1. Make this an installable package
2. Convert to Classes
3. Create GUI Interface
没有合适的资源?快使用搜索试试~ 我知道了~
使用 Cython 优化在 Python 中实现的 ReBATE 基于浮雕的算法_python_代码_下载
共78个文件
py:17个
html:9个
js:9个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 25 浏览量
2022-06-22
20:51:53
上传
评论
收藏 629KB ZIP 举报
温馨提示
该软件包包括独立的 Python 代码,用于运行任何包含/可用的基于浮雕的算法 (RBA) ,这些算法 设计用于作为机器学习管道(监督学习)的一部分的特征加权/选择。目前,这包括以下核心 RBA:ReliefF、SURF、SURF*、MultiSURF* 和 MultiSURF。 与大多数当前可用的基于过滤器的特征选择方法不同,这些算法提供了一种计算有效的方法来执行对特征交互以及简单的单变量关联敏感的特征选择。Relief 算法的主要好处是它们识别特征交互而不必详尽地检查每个成对的交互,因此比详尽的成对搜索花费的时间要少得多。 每个核心算法输出一组有序的特征名称以及各自的特征分数(即权重)。某些算法需要用户指定的运行参数(例如 ReliefF 要求用户指定一些“k”个最近邻)。 浮雕算法通常应用于遗传分析,其中上位性(即特征相互作用)很常见。然而,这个包中实现的算法几乎可以应用于任何有监督的分类数据集,并支持: 离散/分类、连续值或两者混合的特征集 具有缺失值的数据 二进制端点(即分类) 多类端点(即分类) 连续终点(即回归) 更多详情、使用方法,请下载后阅读READ
资源推荐
资源详情
资源评论
收起资源包目录
ReBATE-master (1).zip (78个子文件)
ReBATE
.gitignore 57B
.project 377B
README.md 7KB
rebate
Common.py 6KB
MultiSURF.pyx 20KB
mmDistance.py 4KB
IO.py 14KB
setup_relieff.py 1KB
setup_multisurf.py 1KB
_version.py 1KB
setup_surf.py 1KB
__init__.py 1KB
SURF.pyx 12KB
ReliefF.pyx 14KB
Turf.py 6KB
rebate.py 8KB
.landscape.yaml 19B
tests
tests_mixed_features.py 10KB
tests_6_bit_multiplexer.py 10KB
tests_multiclass.py 9KB
tests_missing_data.py 9KB
tests_continuous_endpoint.py 10KB
tests_gwas_sim.py 11KB
docs
releases
index.html 6KB
css
theme_extra.css 4KB
theme.css 87KB
highlight.css 2KB
citing
index.html 8KB
installing
index.html 10KB
support
index.html 5KB
contributing
index.html 14KB
search
require.js 15KB
lunr.min.js 15KB
search_index.json 59KB
mustache.min.js 9KB
search-results-template.mustache 90B
search.js 3KB
text.js 15KB
sitemap.xml 1KB
fonts
fontawesome-webfont.svg 193KB
fontawesome-webfont.ttf 77KB
fontawesome-webfont.eot 37KB
fontawesome-webfont.woff 43KB
search.html 4KB
img
favicon.ico 1KB
js
modernizr-2.8.3.min.js 11KB
jquery-2.1.1.min.js 82KB
highlight.pack.js 294KB
theme.js 3KB
index.html 8KB
404.html 4KB
using
index.html 21KB
clean.sh 656B
LICENSE 1KB
topattr.sh 1KB
.coveragerc 63B
make.sh 716B
docs_sources
installing.md 4KB
citing.md 2KB
releases.md 1013B
support.md 213B
index.md 2KB
contributing.md 7KB
using.md 15KB
mkdocs.yml 794B
.pydevproject 315B
setup.py 2KB
.travis.yml 633B
data
.gitignore 230B
GAMETES_Simple_Main_Effect.txt 67KB
GAMETES_Epistasis_2-Way_mixed_attribute_a_20s_1600her_0.4__maf_0.2_EDM-2_01.txt 206KB
GAMETES_Epistasis_2-Way_20atts_0.4H_EDM-1_1.txt 67KB
GAMETES_Epistasis_2-Way_missing_values_0.1_a_20s_1600her_0.4__maf_0.2_EDM-2_01.txt 70KB
GAMETES_Epistasis_2-Way_continuous_endpoint_a_20s_1600her_0.4__maf_0.2_EDM-2_01.txt 83KB
3Class_Datasets_Loc_2_01.txt 66KB
6Multiplexer_Data_500_0.txt 7KB
ci
.travis_test.sh 673B
.travis_install.sh 2KB
共 78 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9156
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功