E2E-FS Feature Selection Method
Project description
E2E-FS
E2E-FS: An End-to-End Feature Selection Method for Neural Networks
CONTACT
This project is hosted at https://github.com/braisCB/E2E-FS.
REFERENCE
If you plan to use this code, please cite the following paper:
Cancela, B., Bolón-Canedo, V., & Alonso-Betanzos, A. (2020). E2E-FS: An End-to-End Feature Selection Method for Neural Networks. IEEE Transactions on Pattern Analysis and Machine Intelligence. (Pending on publication)
EXAMPLE OF USE (for colon dataset)
from dataset_reader import colon
import numpy as np
import e2efs
n_features_to_select = 10
if __name__ == '__main__':
## LOAD DATA
dataset = colon.load_dataset()
raw_data = np.asarray(dataset['raw']['data'])
raw_label = np.asarray(dataset['raw']['label']).reshape(-1)
train_data = raw_data[:int(len(raw_data) * 0.8)]
train_label = raw_label[:int(len(raw_label) * 0.8)]
test_data = raw_data[int(len(raw_data) * 0.8):]
test_label = raw_label[int(len(raw_label) * 0.8):]
normalize = colon.Normalize()
train_data = normalize.fit_transform(train_data)
test_data = normalize.transform(test_data)
## LOAD E2EFSSoft model
model = e2efs.E2EFSSoft(n_features_to_select=n_features_to_select)
## OPTIONAL: Load E2EFS Model
# model = e2efs.E2EFS(n_features_to_select=n_features_to_select)
## OPTIONAL: Load E2EFSRanking Model
# model = e2efs.E2EFSRanking()
## FIT THE SELECTION
model.fit(train_data, train_label, validation_data=(test_data, test_label), batch_size=2, max_epochs=2000)
## FINETUNE THE MODEL
model.fine_tune(train_data, train_label, validation_data=(test_data, test_label), batch_size=2, max_epochs=100)
## GET THE MODEL RESULTS
metrics = model.evaluate(test_data, test_label)
print(metrics)
## GET THE MASK
mask = model.get_mask()
print('MASK:', mask)
## GET THE RANKING
ranking = model.get_ranking()
print('RANKING:', ranking)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file e2efs-1.0.1.tar.gz.
File metadata
- Download URL: e2efs-1.0.1.tar.gz
- Upload date:
- Size: 32.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fda6ad7d1b7d02cf73d6d5c6ea9e5bbd7e47a2c6990f0ebaf71e0ae777812380
|
|
| MD5 |
3dba917ca32be63213d375f7e70a9f0a
|
|
| BLAKE2b-256 |
1e949c58868390958ecde5d324a2221d2e5b5d2373a774ec6b4db4b4ee79a0ec
|
File details
Details for the file e2efs-1.0.1-py3-none-any.whl.
File metadata
- Download URL: e2efs-1.0.1-py3-none-any.whl
- Upload date:
- Size: 34.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfe2779fbf8a3bc40f80a48ffd7a7c08a061f9716e8a3762b40dee51a2ccbd8b
|
|
| MD5 |
68306d749d703433650512d14ccc18ab
|
|
| BLAKE2b-256 |
fa0130445223e94e4043643f2c63f154572294769b83dbba8b59be253012fd21
|