Tutorial

This example shows how saiph works.

import pandas as pd

import saiph
from saiph.visualization import plot_circle

Fit the model

df = pd.read_csv("../../../tests/fixtures/iris.csv")

coord, model = saiph.fit_transform(df, nf=5)
print(coord.head())

Out:

     Dim. 1    Dim. 2    Dim. 3    Dim. 4    Dim. 5
0 -2.643907 -0.603966 -0.062524  0.123683  0.024753
1 -2.467082  0.160855  0.760712  0.380115 -0.121829
2 -2.715591 -0.064140  0.572117  0.034550 -0.041503
3 -2.654857  0.102214  0.759615  0.026808 -0.029993
4 -2.753830 -0.717357 -0.158470 -0.050671  0.073085

Project individuals

saiph.visualization.plot_projections(model, df, (0, 1))
Projections in the reduced space

Get statistics about the projection

model = saiph.stats(model, df)
print(model.cos2)

Out:

                Dim. 1    Dim. 2        Dim. 3        Dim. 4        Dim. 5
sepal.length  0.558969  0.005336  9.419276e-03  6.589394e-03  1.118242e-07
sepal.width   0.055004  0.258351  5.514559e-02  4.731168e-04  3.677468e-07
petal.length  0.968523  0.000002  3.960561e-06  2.223127e-07  4.835432e-06
petal.width   0.882583  0.000174  7.936563e-10  1.106446e-03  1.948436e-04
variety       0.465027  0.278545  3.323212e-02  1.543220e-04  4.525422e-05

Correlation circle

plot_circle(model=model)
Correlation Circle

Variable contributions

print(model.contributions)

Out:

                 Dim. 1     Dim. 2     Dim. 3     Dim. 4     Dim. 5
sepal.length  19.318137   5.442424  16.402147  52.632696   1.256580
sepal.width    6.059927  37.868647  39.686917  14.103181   2.278750
petal.length  25.428824   0.098688   0.336334   0.305714   8.263041
petal.width   24.274426   0.982162   0.004761  21.567410  52.452391
variety       24.918686  55.608080  43.569841  11.391000  35.749238

saiph.visualization.plot_var_contribution(
    model.contributions["Dim. 1"].to_numpy(), model.contributions.index.to_numpy()
)
Variables contributions

Explained variance

print(model.explained_var)

Out:

[1.73161455e-04 6.00547784e-05 2.64746676e-05 6.90064359e-06
 1.19069420e-06]

print(model.explained_var_ratio)

Out:

[0.64502642 0.22370405 0.09861814 0.0257049  0.00443534]

saiph.visualization.plot_explained_var(model)
Explained variance plot

Total running time of the script: ( 0 minutes 1.303 seconds)

Gallery generated by Sphinx-Gallery