Skip to main content

GitHub PyPI Downloads Downloads Downloads

scientisttools : Multivariate Exploratory Data Analysis with Python

Contents

1. Overview

2. Installation

3. Example

4. Documentation

5. About us

Overview

scientisttools is a python package dedicated to multivariate exploratory data analysis, clustering analysis and multidimensional scaling.

scientisttools provides functions for :

  1. Generalized Factor Analysis (GFA) :

    1. One table

      • Correspondence Analysis (CA) and its derivatives (DCA, nsCA, CAiv, CAoiv, bcCA, wcCA)
      • Factor Analysis (FA) : Iterative and Non Iterative Principal Factor Analysis (IPFA & NIPFA), Harris Component Analysis (HCA)
      • Factor Analysis of Mixed Data (FAMD) and its derivatives (FAMDiv, FAMDoiv, bcFAMD, wcFAMD)
      • Varimax rotation in Factor Analysis (FArot)
      • Multiple Correspondence Analysis (MCA) and its derivatives (speMCA, MCAiv, MCAoiv, bcMCA, wcMCA)
      • Mixed Principal Component Analysis (MPCA) and its derivatives (speMCA, MCAiv, MCAoiv, bcMCA, wcMCA)
      • Principal Component Analysis (PCA) and its derivatives (Partial PCA, PCAiv, PCAoiv, bcPCA, wcPCA)
      • Principal Component Analysis of Mixed Data (PCAmix) and its derivatives (PCAmixiv, PCAmixoiv, bcPCAmix, wcPCAmix)
      • Varimax rotation in Principal Component Analysis (PCArot)
    2. Two tables

      • Between-class/Within-class Analysis (BWCA)
      • Canonical Correlation Analysis (CANCORR)
      • Canonical Correspondence Analysis (CCA)
      • CO-Inertia Analysis (COIA)
      • Principal Component Analysis with (orthogonal) instrumental variables (PCAiv)
      • Procrustes Analysis (Procrustes)
    3. Multi tables

      • Between Group Comparison (BGC)
      • Dual Common Component and Specific Weights Analysis (DCCSWA)
      • Dual Generalized Procrustean Analysis (DGPA)
      • Analysis of Multiple Distance Matrices (DISTATIS)
      • Dual Multiple Factor Analysis (DMFA)
      • Dual Statis (DSTATIS)
      • Flury's Common Principal Component Analysis (FCPCA)
      • Internal Correspondence Analysis (ICA)
      • Multiple CO-Inertia Analysis (MCOIA)
      • Multiple Factor Analysis (MFA)
      • Multiple-group Principal Component Analysis (mgPCA)
      • Structuration de Tableaux A Trois Indices de la Statistique (STATIS)
  2. Classification - clustering :

    • Categorical Variables Hierachical Clustering on Principal Components (CatVARHCPC)
    • Categorical Variables K-Means clustering on Principal Components (CatVARKMeansPC)
    • Hierarchical Clustering on Principal Component (HCPC)
    • K-Means Clustering on Principal Components (KMeansPC)
    • Variables Agglomerative Hierachical Clustering on Principal Components (VARHCPC)
    • Variables K-Means Clustering on Principal Components (VARKMeansPC)
  3. Multidimensional scaling :

    • Principal Coordinates Analysis (PCoA)
  4. In some methods, it allowed to add supplementary informations such as supplementary individuals and/or variables.

  5. It provides a geometrical point of view, a lot of graphical outputs.

  6. It provides efficient implementations, using a scikit-learn API.

Those statistical methods can be used in two ways :

  • as descriptive methods ("datamining approach")
  • as reduction methods in scikit-learn pipelines ("machine learning approach")

Installation

Global environment

You can directly install scientisttools using pip :

pip install scientisttools

or set a virtual environment.

Virtual environment

Install the 64-bit version of Python 3, for instance from the official website. Now create a virtual environment (venv) and install scientisttools.

The virtual environment is optional but strongly recommended, in order to avoid potential conflicts with other packages.

PS C:\> python -m venv scientisttools-env # create virtual env
PS C:\> scientisttools-env\Scripts\activate  # activate
PS C:\> pip install -U scientisttools  # install scientisttools

Version

In order to check your installation, you can use.

>>> import scientisttools
>>> print(scientisttools.__version__)
0.2.0post1

Using an isolated environment such as pip venv or conda makes it possible to install a specific version of scientisttools with pip and conda and its dependencies independently of any previously installed Python packages.

You should always remember to activate the environment of your choice prior to running any Python command whenever you start a new terminal session.

Dependencies

scientisttools is compatible with python version which supports both dependencies :

Packages Version
numpy 1.21
pandas 1.4
scikit-learn 1.2
statsmodels 0.14.6
plotnine 0.10.1
openpyxl 3.1.5
adjustText 0.8.2
pyreadr 0.5.4
mizani 0.14.4
tabulate 0.9.0

Example

  1. Loading data
>>> from scientisttools.datasets import decathlon
>>> data = decathlon.data
  1. Principal component analysis
>>> from scientisttools import PCA
>>> clf = PCA(ind_sup=range(41,46),sup_var=(10,11,12))
>>> clf.fit(data)
PCA(ncp=2,ind_sup=range(41,46),sup_var=(10,11,12))
  1. Visualize eigenvalues/variances:
>>> from scientisttools import fviz_screeplot
>>> p = fviz_screeplot(clf)
>>> print(p.show())
centered image
  1. Extract and visualize results for individuals
>>> # extract the results for individuals
>>> from scientisttools import get_pca
>>> ind = get_pca(clf,"ind")
>>> ind._fields
... ('coord', 'cos2', 'contrib', 'infos')
>>> # individuals factor map
>>> from scientisttools import fviz_pca
>>> p = fviz_pca(clf,choice="ind",repel=True)
>>> print(p.show())
centered image
  1. Extract and visualize results for variables
>>> # extract the results for variables
>>> from scientisttools import get_pca
>>> quanti_var = get_pca(clf,"var")
>>> quanti_var._fields
... ('coord', 'cos2', 'contrib', 'infos')
>>> # variables factor map (=correlation circle)
>>> from scientisttools import fviz_pca
>>> p = fviz_pca(clf,choice="var",repel=True)
>>> print(p.show())
centered image

Documentation

The official documentation is hosted on https://scientisttools.readthedocs.io.

About Us

Authors

scientisttools is developed and maintained by Duvérier DJIFACK ZEBAZE, the founder of djifacklab (Djifack Laboratory of Mathematics, Statistics and Economics books and packages production using Python Programming Language).

The djifacklab laboratory maintains others python librairies such as discrimintools, scientistmetrics, scientistshiny, scientisttseries and ggcorrplot.

Feedbacks

If you have found scientisttools useful in your work, research, or company, please let us know by writing to email djifacklab@gmail.com.

Citing scientisttools

If scientisttools has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing it using the following BibTeX format:

@misc{DJIFACK ZEBAZE_2023, 
    url = {https://github.com/enfantbenidedieu/scientisttools}, 
    title = {scientisttools: Multivariate Exploratory Data Analysis with Python}
    author = {DJIFACK ZEBAZE, Duvérier}, 
    year = {2023}
}

Release files for scientisttools 0.2.0.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scientisttools 0.2.0.post1
File Size Uploaded
scientisttools-0.2.0.post1.tar.gz 296.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scientisttools 0.2.0.post1
File Interpreter ABI Platform
scientisttools-0.2.0.post1-py3-none-any.whl Python 3 none any Details

Total release size: 711.2 kB

Release files / scientisttools-0.2.0.post1.tar.gz

Download URL scientisttools-0.2.0.post1.tar.gz
Size 296.6 kB
Tags Source
SHA-256 checksum
How to use checksums
922aacbb58cc511bb7829ca40bacb377669d1b1a87164b97838b8a589eb76c58
BLAKE2b-256 checksum
How to use checksums
b06de05ed62910365f8aa83c129e7d30b9bfd1e0d515535203935a1cfb2436be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Release files / scientisttools-0.2.0.post1-py3-none-any.whl

Download URL scientisttools-0.2.0.post1-py3-none-any.whl
Size 414.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a123ef73c2451f21be4b77c3123af6ce5a1a7a7296ff2ba899033e2af9846d3f
BLAKE2b-256 checksum
How to use checksums
ecc40974ff37857a22afd6eb368de6761456ae31256e200c39b78b2535048eb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Release history Release notifications | RSS feed

This release

0.2.0.post1 This release

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page