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)
      • Varimax rotation in Factor Analysis (FArot)
      • Multiple Correspondenca Analysis (MCA) and its derivatives (speMCA, MCAiv, MCAoiv, bcMCA, wcMCA)
      • Mixed Principal Component Analysis (MPCA)
      • 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.0

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/varainces:
>>> 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

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
File Size Uploaded
scientisttools-0.2.0.tar.gz 269.9 kB Details

Built distribution (wheel)

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

Total release size: 644.3 kB

Release files / scientisttools-0.2.0.tar.gz

Download URL scientisttools-0.2.0.tar.gz
Size 269.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e313988865575e89e186748c84fca3dbc8b1f627c68daec5d0e1d36c695b4da0
BLAKE2b-256 checksum
How to use checksums
8e40beca19704554c2351be72ebfda7be6681469c260cf0307204f24170360b3
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-py3-none-any.whl

Download URL scientisttools-0.2.0-py3-none-any.whl
Size 374.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c1bf7dc7d10f7856e1f83f0d9562e93e8699acb3e53a2688c6ee32474285a9c
BLAKE2b-256 checksum
How to use checksums
28d2dea112808b2d7016506ed685f90ce0e748fed2271098413a68979aa9076f
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 This release

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