Unsupervised Feature Selection Toolbox
Auto-UFSTool - An Automatic MATLAB Toolbox for Unsupervised Feature Selection
If you found this toolbox useful, kindly cite the following article:
Auto-UFSTool: An Automatic Unsupervised Feature Selection Toolbox for MATLAB
Cite it as:
Abedinzadeh Torghabeh, F., Modaresnia, Y., Hosseini, S. A. (2023). 'Auto-UFSTool: An Automatic Unsupervised
Feature Selection Toolbox for MATLAB',Journal of AI and Data Mining, (), pp. -. doi: 10.22044/jadm.2023.12820.2434
Abstract
- Several open resource toolboxes provide feature selection algorithms to decrease redundant features, data dimensionality, and computing costs. These approaches demand programming expertise, limiting their popularity, and they haven't adequately addressed unlabeled real-world data. Automatic MATLAB Toolbox for Unsupervised Feature Selection (Auto-UFSTool) is a library for 23 robust Unsupervised Feature Selection techniques. We aim to develop a user-friendly and fully automatic toolbox utilizing various unsupervised feature selection methodologies from the latest research. It is freely available in the MATLAB File Exchange repository, and the script and source code of each technique are included. Therefore, a clear and systematic comparison of alternative approaches is possible without requiring a single line of code.
Introduction
- This toolbox offers more than 20 Unsupervised Feature Selection methods.
- Almost half of them have been proposed in the last five years.
- This toolbox is user-friendly. After loading the data, users may launch certain procedures and applications without writing a single line of code.
Usage
In the presence of an input matrix X(m×n)(m samples and n features per sample), the process for utilizing one of the UFS methods in the toolbox is as follows:
Result = Auto_UFSTool(X,Selection_Method); (1)
where Result represents the output rank indexes of features in descending order of their relative importance or subset of feature.
As illustrated in (1) a user can utilize any UFS method using an interface main.m
.
-
Result
: Rank indexes of features in descending order of their relative importance or Feature subset. -
Selection_Method
: Selected Unsupervised Feature Selection Method -
X(m×n)
: parameter settings-
m
: Samples -
n
: Features per samples
-
It is demonstrated with an example. Based on the COIL20
dataset. The COIL20 is a library of images from Columbia containing 20 objects. As each object is rotated on a turntable, 72 images were captured at 5 degrees apart, each containing 72 images. Each image is 32 by 32 pixels and contains 256 grey levels per pixel.
As a result, with the input X, m = 1440
and n = 1024
.
After loading the data, one line of code to utilize the Unsupervised Feature Selection via Adaptive Graph Learning and Constraint (EGCFS
) algorithm is presented below.
Result = Auto_UFSTool(X,'EGCFS') (2)
Note
- It is important to note that all the options and parameters of the methods will be automatically received from the user or their default values may be used when the method is implemented, not to mention that all UFS methods' names are mentioned in the
UFS_Names.mat
file. For any further information, kindly see the original publications and algorithm implementations. - The toolbox is written in MATLAB, a prominent programming language for machine learning and pattern recognition research. The Auto-UFSTool was tested on 64bit Windows 8/10/11 PCs with MATLAB R2019b/R2022a on a range of publicly available datasets based on original articles
- To run this Code, you will need to add the
functions
andUFSs
folder to your MATLAB path And then runmain.m
. - The Auto-UFSTool was tested on 64-bit Windows 8/10/11 PCs with MATLAB R2019b/R2022a on a range of publicly available datasets based on original articles.
Table1: UFS names, their Type which is f = filters, w = wrappers, h = hybrid, and e = embedding methods, the abbreviation of their names
Evaluation
K-Means clustering and 8 evaluation metrics can also be used to compare and evaluate the results of feature selection algorithms.
No. | Metric |
---|---|
1 | Redundancy |
2 | Jaccard score |
3 | Purity |
4 | NMI |
5 | Accuracy |
6 | Precision |
7 | Recall |
8 | F-measure |
GUI
Documentation
For further questions, please read the source articles or feel free to contact developers.
Cite As
Abedinzadeh Torghabeh, F., Modaresnia, Y., Hosseini, S. A. (2023). 'Auto-UFSTool: An Automatic Unsupervised Feature Selection Toolbox for MATLAB', Journal of AI and Data Mining, (), pp. -. doi: 10.22044/jadm.2023.12820.2434
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
GUI
UFSs/CFS
UFSs/CNAFS
UFSs/DGUFS
UFSs/EGCFS
UFSs/FMIUFS
UFSs/FRUAR
UFSs/FSASL
UFSs/Inf-FS
UFSs/Inf-FS2020
UFSs/LLCFS
UFSs/LS
UFSs/MCFS
UFSs/NDFS
UFSs/RNE
UFSs/RUFS
UFSs/SOCFS
UFSs/SOGFS
UFSs/SPEC
UFSs/SRCFS
UFSs/U2FS
UFSs/UDFS
UFSs/UFSoL
UFSs/uar_HKCMI
functions
Version | Published | Release Notes | |
---|---|---|---|
1.2 | See release notes for this release on GitHub: https://github.com/farhadabedinzadeh/AutoUFSTool/releases/tag/v1.2 |
||
1.0.1 | See release notes for this release on GitHub: https://github.com/farhadabedinzadeh/AutoUFSTool/releases/tag/v1.0.1 |