Skip to main content

Nested computed ABC analysis (cABC): A method to reduce feature sets to their most relevant items. Implementation in Python.

Project description

cABCanalysis

Nested computed ABC analysis (cABC): A method to reduce feature sets to their most relevant items. Implementation in Python.

Author

Jörn Lötsch Data Science | Clinical Pharmacology Goethe - University Frankfurt am Main Germany

Alfred Ultsch DataBionics Research Group University of Marburg Marburg Germany

Abstract

The cABCanalysis package is a Python package that provides a method for categorizing items or inventories, with the aim to reduce feature sets to the most important elements.

This package is based on our publication Ultsch. A., Lötsch J. "Computed ABC analysis for rational selection of most informative variables in multivariate data". PLoS One. 2015, https://doi.org/10.1371/journal.pone.0129767.

Requirements

  • numpy >= 1.19.2
  • pandas >= 1.1.5
  • seaborn >= 0.11.2
  • scipy >= 1.7.3

Reference

Ultsch. A., Lötsch J. "Computed ABC analysis for rational selection of most informative variables in multivariate data". PLoS One. 2015, https://doi.org/10.1371/journal.pone.0129767.

Tutorial

The cABC analysis can be run with “ cABCanalysis(data, PlotIt=False, ax=None)”, where the data should be a one-dimensional numerical data set, “PlotIt” is self-explaining, and “ax” allows the inclusion of the resulting ABC plot as a subplot in a “seaborn” multipanel figure. The function returns a Python dictionary containing the following elements. "Aind", "Bind" and "Cind" are the data items assigned to the respective ABC subsets, "ABexchanged" (True/False) indicates whether in special cases the slope of the ABC curve has already reached the value of one before passing the point closest to the ideal "Pareto" point, which would be counterintuitive for the classification and is therefore corrected by exchanging points A and B, about which the user is informed. Other numbers returned include points "A" (Ax,Ay), i.e., the “Juran” or "BreakEven" point indicated by "ABexchanged", "B" (Bx,By), i.e., the "Juran" or "BreakEven" point indicated by "ABexchanged", and "C", a point at minimum distance from [Ax,1]. Also, "smallestAData" returns the AB limit defined by the point A or B with "ABexchanged", "smallestBData" returns the BC limit defined by the point C, "AlimitIndInInterpolation" returns the index of the AB limit in [p, ABC], the interpolation of the ABC curve, and "BlimitIndInInterpolation" is the index of the BC limit in [p, ABC], the interpolation of the ABC curve.

ABCres = cABCanalysis(data=data) ABCres["Aind"].index.tolist()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cABCanalysis-0.1.2.tar.gz (4.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page