Skip to main content

Py_FS: A Python Package for Feature Selection Using Meta-Heuristic Optimization Algorithms

  • Conference paper
  • First Online:
Computational Intelligence in Pattern Recognition

Abstract

In today’s data-driven world, every workforce is relentlessly exploiting the power of data to get that extra edge in order to triumph over the others. However, there is a saying that goes like, “Work smarter, not harder.” Studies have shown that the amount of data people actually use is way smaller than the data being generated. This very fact gives rise to an important research topic, called dimension reduction, which is one of the smartest (not hardest) strategies for retrieving useful information (here, features) from a given high-dimensional dataset. Feature selection (FS) is among the best dimension reduction tactics available in the literature. To this end, in this paper, we have made an effort to introduce an FS framework called Py_FS that we have developed to simplify the task for the researchers. Py_FS currently provides an interesting combination of 12 wrapper- and 4 filter-based FS techniques along with various evaluation metrics. For converting the continuous search space to a binary search space, three transfer functions have been used. The algorithms have been experimented on two Microarray and four UCI datasets. To the best of our knowledge, it is the first ever framework to provide wrappers, filters, and evaluation metrics under one structure. The framework is highly flexible and can easily cater to the needs of the FS researchers. It is publicly hosted at the following link: Py_FS: A Python Framework for FS.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 189.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 249.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Davis, L.: Handbook of Genetic Algorithms (1991)

    Google Scholar 

  2. Durillo, J.J., Nebro, A.J.: jMetal: a java framework for multi-objective optimization. Adv. Eng. Softw. 42(10), 760–771 (2011)

    Google Scholar 

  3. Faramarzi, A., Heidarinejad, M., Stephens, B., Mirjalili, S.: Equilibrium optimizer: a novel optimization algorithm. Knowl.-Based Syst. 191(105), 190 (2020)

    Google Scholar 

  4. Faris, H., Aljarah, I., Mirjalili, S., Castillo, P.A., Merelo, J.J.: EvoloPy: An open-source nature-inspired optimization framework in python. In: Proceedings of the 8th International Joint Conference on Computational Intelligence, SCITEPRESS - Science and Technology Publications (2016). https://doi.org/10.5220/0006048201710177

  5. Fathollahi-Fard, A.M., Hajiaghaei-Keshteli, M., Tavakkoli-Moghaddam, R.: Red deer algorithm (RDA): a new nature-inspired meta-heuristic. Soft Comput. 1–29 (2020)

    Google Scholar 

  6. Geem, Z.W., Kim, J.H, Loganathan, G.V.: A new heuristic optimization algorithm: harmony search. Simulation 76(2), 60–68 (2001)

    Google Scholar 

  7. Goldberg, D.E., Holland, J.H.: Genetic algorithms and machine learning (1988)

    Google Scholar 

  8. Karakatič, S.: Evopreprocess–data preprocessing framework with nature-inspired optimization algorithms. Mathematics 8(6), 900 (2020)

    Google Scholar 

  9. Kennedy, J., Eberhart, R.: Particle swarm optimization. In: Proceedings of ICNN’95-International Conference on Neural Networks, IEEE, vol. 4, pp. 1942–1948 (1995)

    Google Scholar 

  10. Khurma, R.A., Aljarah, I., Sharieh, A., Mirjalili, S.: EvoloPy-FS: An open-source nature-inspired optimization framework in python for feature selection. In: Algorithms for Intelligent Systems, Springer Singapore, pp. 131–173. https://doi.org/10.1007/978-981-32-9990-0_8 (2019)

  11. Miranda, L.J.: PySwarms: a research toolkit for particle swarm optimization in python. Knowl.-Based Syst. 3(21), 433 (2018)

    Google Scholar 

  12. Mirjalili, S.: SCA: a sine cosine algorithm for solving optimization problems. Knowl.-Based Syst. 96, 120–133 (2016)

    Article  Google Scholar 

  13. Mirjalili, S., Lewis, A.: The whale optimization algorithm. Adv. Eng. Softw. 95, 51–67 (2016)

    Article  Google Scholar 

  14. Mirjalili, S., Mirjalili, S.M., Yang, X.S.: Binary bat algorithm. Neural Comput. Appl. 25(3–4), 663–681 (2013)

    Google Scholar 

  15. Mirjalili, S., Mirjalili, S.M., Lewis, A.: Grey wolf optimizer. Adv. Eng. Softw. 69, 46–61 (2014)

    Article  Google Scholar 

  16. Perone, C.S.: Pyevolve. ACM SIGEVOlution 4(1), 12–20 (2009)

    Google Scholar 

  17. Pohlheim, H.: Geatbx: genetic and evolutionary algorithm toolbox for use with matlab. In: IEE Colloquium on Applied Control Techniques Using MATLAB, vol. 14 (1998)

    Google Scholar 

  18. Rainville, F.M.D., Fortin, F.A., Gardner, M.A., Parizeau, M., Gagné, C.: DEAP. In: Proceedings of the Fourteenth International Conference on Genetic and Evolutionary Computation Conference Companion - GECCO Companion’12, ACM Press. https://doi.org/10.1145/2330784.2330799 (2012)

  19. Rashedi, E., Nezamabadi-Pour, H., Saryazdi, S.: GSA: a gravitational search algorithm. Inf. Sci. 179(13), 2232–2248 (2009)

    Article  Google Scholar 

  20. van Rossum, G., Drake, F.L.: The Python Language Reference Manual. Network Theory Ltd. (2011)

    Google Scholar 

  21. Tonda, A.: InsPyred: bio-inspired algorithms in python. Genet. Program. Evolvable Mach. 21, 1–4 (2019)

    Google Scholar 

  22. Vrbančič, G., Brezočnik, L., Mlakar, U., Fister, D., Jr, I.F.: NiaPy: Python microframework for building nature-inspired algorithms. J. Open Source Softw. 3(23), 613 (2018). https://doi.org/10.21105/joss.00613

  23. Wagner, S., Affenzeller, M.: HeuristicLab: A generic and extensible optimization environment. In: Adaptive and Natural Computing Algorithms, pp. 538–541. Springer (2004). https://doi.org/10.1007/3-211-27389-1_130

  24. Wall, M.: Galib: A c++ library of genetic algorithm components. Mech. Eng. Dep. Mass. Inst. Technol. 87, 54 (1996)

    Google Scholar 

  25. Yang, X., Suash, D.: Cuckoo search via lévy flights. In: 2009 World Congress on Nature Biologically Inspired Computing (NaBIC), pp. 210–214 (2009). https://doi.org/10.1109/NABIC.2009.5393690

  26. Zervoudakis, K., Tsafarakis, S.: A mayfly optimization algorithm. Comput. Ind. Eng. 145, 106559 (2020)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Guha, R., Chatterjee, B., Khalid Hassan, S.K., Ahmed, S., Bhattacharyya, T., Sarkar, R. (2022). Py_FS: A Python Package for Feature Selection Using Meta-Heuristic Optimization Algorithms. In: Das, A.K., Nayak, J., Naik, B., Dutta, S., Pelusi, D. (eds) Computational Intelligence in Pattern Recognition . Advances in Intelligent Systems and Computing, vol 1349. Springer, Singapore. https://doi.org/10.1007/978-981-16-2543-5_42

Download citation

Publish with us

Policies and ethics