-
Home / Old / Documentation / Learn / Examples / Decomposition / Index
VerticaPy
Example: Methods in a Decomposition Model¶
In this example, we use the 'Iris' dataset to demonstrate the methods available to decomposition models.
from verticapy.datasets import load_iris
iris = load_iris()
display(iris)
123 SepalLengthCmNumeric(5,2) | 123 SepalWidthCmNumeric(5,2) | 123 PetalLengthCmNumeric(5,2) | 123 PetalWidthCmNumeric(5,2) | Abc SpeciesVarchar(30) | |
| 1 | 4.3 | 3.0 | 1.1 | 0.1 | Iris-setosa |
| 2 | 4.4 | 2.9 | 1.4 | 0.2 | Iris-setosa |
| 3 | 4.4 | 3.0 | 1.3 | 0.2 | Iris-setosa |
| 4 | 4.4 | 3.2 | 1.3 | 0.2 | Iris-setosa |
| 5 | 4.5 | 2.3 | 1.3 | 0.3 | Iris-setosa |
| 6 | 4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
| 7 | 4.6 | 3.2 | 1.4 | 0.2 | Iris-setosa |
| 8 | 4.6 | 3.4 | 1.4 | 0.3 | Iris-setosa |
| 9 | 4.6 | 3.6 | 1.0 | 0.2 | Iris-setosa |
| 10 | 4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
| 11 | 4.7 | 3.2 | 1.6 | 0.2 | Iris-setosa |
| 12 | 4.8 | 3.0 | 1.4 | 0.1 | Iris-setosa |
| 13 | 4.8 | 3.0 | 1.4 | 0.3 | Iris-setosa |
| 14 | 4.8 | 3.1 | 1.6 | 0.2 | Iris-setosa |
| 15 | 4.8 | 3.4 | 1.6 | 0.2 | Iris-setosa |
| 16 | 4.8 | 3.4 | 1.9 | 0.2 | Iris-setosa |
| 17 | 4.9 | 2.4 | 3.3 | 1.0 | Iris-versicolor |
| 18 | 4.9 | 2.5 | 4.5 | 1.7 | Iris-virginica |
| 19 | 4.9 | 3.0 | 1.4 | 0.2 | Iris-setosa |
| 20 | 4.9 | 3.1 | 1.5 | 0.1 | Iris-setosa |
| 21 | 4.9 | 3.1 | 1.5 | 0.1 | Iris-setosa |
| 22 | 4.9 | 3.1 | 1.5 | 0.1 | Iris-setosa |
| 23 | 5.0 | 2.0 | 3.5 | 1.0 | Iris-versicolor |
| 24 | 5.0 | 2.3 | 3.3 | 1.0 | Iris-versicolor |
| 25 | 5.0 | 3.0 | 1.6 | 0.2 | Iris-setosa |
| 26 | 5.0 | 3.2 | 1.2 | 0.2 | Iris-setosa |
| 27 | 5.0 | 3.3 | 1.4 | 0.2 | Iris-setosa |
| 28 | 5.0 | 3.4 | 1.5 | 0.2 | Iris-setosa |
| 29 | 5.0 | 3.4 | 1.6 | 0.4 | Iris-setosa |
| 30 | 5.0 | 3.5 | 1.3 | 0.3 | Iris-setosa |
| 31 | 5.0 | 3.5 | 1.6 | 0.6 | Iris-setosa |
| 32 | 5.0 | 3.6 | 1.4 | 0.2 | Iris-setosa |
| 33 | 5.1 | 2.5 | 3.0 | 1.1 | Iris-versicolor |
| 34 | 5.1 | 3.3 | 1.7 | 0.5 | Iris-setosa |
| 35 | 5.1 | 3.4 | 1.5 | 0.2 | Iris-setosa |
| 36 | 5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
| 37 | 5.1 | 3.5 | 1.4 | 0.3 | Iris-setosa |
| 38 | 5.1 | 3.7 | 1.5 | 0.4 | Iris-setosa |
| 39 | 5.1 | 3.8 | 1.5 | 0.3 | Iris-setosa |
| 40 | 5.1 | 3.8 | 1.6 | 0.2 | Iris-setosa |
| 41 | 5.1 | 3.8 | 1.9 | 0.4 | Iris-setosa |
| 42 | 5.2 | 2.7 | 3.9 | 1.4 | Iris-versicolor |
| 43 | 5.2 | 3.4 | 1.4 | 0.2 | Iris-setosa |
| 44 | 5.2 | 3.5 | 1.5 | 0.2 | Iris-setosa |
| 45 | 5.2 | 4.1 | 1.5 | 0.1 | Iris-setosa |
| 46 | 5.3 | 3.7 | 1.5 | 0.2 | Iris-setosa |
| 47 | 5.4 | 3.0 | 4.5 | 1.5 | Iris-versicolor |
| 48 | 5.4 | 3.4 | 1.5 | 0.4 | Iris-setosa |
| 49 | 5.4 | 3.4 | 1.7 | 0.2 | Iris-setosa |
| 50 | 5.4 | 3.7 | 1.5 | 0.2 | Iris-setosa |
| 51 | 5.4 | 3.9 | 1.3 | 0.4 | Iris-setosa |
| 52 | 5.4 | 3.9 | 1.7 | 0.4 | Iris-setosa |
| 53 | 5.5 | 2.3 | 4.0 | 1.3 | Iris-versicolor |
| 54 | 5.5 | 2.4 | 3.7 | 1.0 | Iris-versicolor |
| 55 | 5.5 | 2.4 | 3.8 | 1.1 | Iris-versicolor |
| 56 | 5.5 | 2.5 | 4.0 | 1.3 | Iris-versicolor |
| 57 | 5.5 | 2.6 | 4.4 | 1.2 | Iris-versicolor |
| 58 | 5.5 | 3.5 | 1.3 | 0.2 | Iris-setosa |
| 59 | 5.5 | 4.2 | 1.4 | 0.2 | Iris-setosa |
| 60 | 5.6 | 2.5 | 3.9 | 1.1 | Iris-versicolor |
| 61 | 5.6 | 2.7 | 4.2 | 1.3 | Iris-versicolor |
| 62 | 5.6 | 2.8 | 4.9 | 2.0 | Iris-virginica |
| 63 | 5.6 | 2.9 | 3.6 | 1.3 | Iris-versicolor |
| 64 | 5.6 | 3.0 | 4.1 | 1.3 | Iris-versicolor |
| 65 | 5.6 | 3.0 | 4.5 | 1.5 | Iris-versicolor |
| 66 | 5.7 | 2.5 | 5.0 | 2.0 | Iris-virginica |
| 67 | 5.7 | 2.6 | 3.5 | 1.0 | Iris-versicolor |
| 68 | 5.7 | 2.8 | 4.1 | 1.3 | Iris-versicolor |
| 69 | 5.7 | 2.8 | 4.5 | 1.3 | Iris-versicolor |
| 70 | 5.7 | 2.9 | 4.2 | 1.3 | Iris-versicolor |
| 71 | 5.7 | 3.0 | 4.2 | 1.2 | Iris-versicolor |
| 72 | 5.7 | 3.8 | 1.7 | 0.3 | Iris-setosa |
| 73 | 5.7 | 4.4 | 1.5 | 0.4 | Iris-setosa |
| 74 | 5.8 | 2.6 | 4.0 | 1.2 | Iris-versicolor |
| 75 | 5.8 | 2.7 | 3.9 | 1.2 | Iris-versicolor |
| 76 | 5.8 | 2.7 | 4.1 | 1.0 | Iris-versicolor |
| 77 | 5.8 | 2.7 | 5.1 | 1.9 | Iris-virginica |
| 78 | 5.8 | 2.7 | 5.1 | 1.9 | Iris-virginica |
| 79 | 5.8 | 2.8 | 5.1 | 2.4 | Iris-virginica |
| 80 | 5.8 | 4.0 | 1.2 | 0.2 | Iris-setosa |
| 81 | 5.9 | 3.0 | 4.2 | 1.5 | Iris-versicolor |
| 82 | 5.9 | 3.0 | 5.1 | 1.8 | Iris-virginica |
| 83 | 5.9 | 3.2 | 4.8 | 1.8 | Iris-versicolor |
| 84 | 6.0 | 2.2 | 4.0 | 1.0 | Iris-versicolor |
| 85 | 6.0 | 2.2 | 5.0 | 1.5 | Iris-virginica |
| 86 | 6.0 | 2.7 | 5.1 | 1.6 | Iris-versicolor |
| 87 | 6.0 | 2.9 | 4.5 | 1.5 | Iris-versicolor |
| 88 | 6.0 | 3.0 | 4.8 | 1.8 | Iris-virginica |
| 89 | 6.0 | 3.4 | 4.5 | 1.6 | Iris-versicolor |
| 90 | 6.1 | 2.6 | 5.6 | 1.4 | Iris-virginica |
| 91 | 6.1 | 2.8 | 4.0 | 1.3 | Iris-versicolor |
| 92 | 6.1 | 2.8 | 4.7 | 1.2 | Iris-versicolor |
| 93 | 6.1 | 2.9 | 4.7 | 1.4 | Iris-versicolor |
| 94 | 6.1 | 3.0 | 4.6 | 1.4 | Iris-versicolor |
| 95 | 6.1 | 3.0 | 4.9 | 1.8 | Iris-virginica |
| 96 | 6.2 | 2.2 | 4.5 | 1.5 | Iris-versicolor |
| 97 | 6.2 | 2.8 | 4.8 | 1.8 | Iris-virginica |
| 98 | 6.2 | 2.9 | 4.3 | 1.3 | Iris-versicolor |
| 99 | 6.2 | 3.4 | 5.4 | 2.3 | Iris-virginica |
| 100 | 6.3 | 2.3 | 4.4 | 1.3 | Iris-versicolor |
We start by creating a PCA model of the different flowers.
from verticapy.learn.decomposition import PCA
model = PCA("public.PCA_iris")
model.drop()
model.fit("public.iris",
["PetalWidthCm",
"PetalLengthCm",
"SepalLengthCm",
"SepalWidthCm"])
=======
columns
=======
index| name | mean | sd
-----+-------------+--------+--------
1 |petalwidthcm | 1.19867| 0.76316
2 |petallengthcm| 3.75867| 1.76442
3 |sepallengthcm| 5.84333| 0.82807
4 |sepalwidthcm | 3.05400| 0.43359
===============
singular_values
===============
index| value |explained_variance|accumulated_explained_variance
-----+--------+------------------+------------------------------
1 | 2.05544| 0.92462 | 0.92462
2 | 0.49218| 0.05302 | 0.97763
3 | 0.28022| 0.01719 | 0.99482
4 | 0.15389| 0.00518 | 1.00000
====================
principal_components
====================
index| PC1 | PC2 | PC3 | PC4
-----+--------+--------+--------+--------
1 | 0.35884|-0.07471| 0.54906| 0.75112
2 | 0.85657|-0.17577| 0.07252|-0.47972
3 | 0.36159| 0.65654|-0.58100| 0.31725
4 |-0.08227| 0.72971| 0.59642|-0.32409
========
counters
========
counter_name |counter_value
------------------+-------------
accepted_row_count| 150
rejected_row_count| 0
iteration_count | 1
===========
call_string
===========
SELECT PCA('public.PCA_iris', 'public.iris', '"PetalWidthCm", "PetalLengthCm", "SepalLengthCm", "SepalWidthCm"'
USING PARAMETERS scale=false);
Fitting the model creates new model attributes.
model.X
['"PetalWidthCm"', '"PetalLengthCm"', '"SepalLengthCm"', '"SepalWidthCm"']
model.input_relation
'public.iris'
These attributes will be used when invoking the different model abstractions.
Models have many useful attributes. With a PCA model, for example, the 'components_', 'explainedvariance' and 'mean_' attributes can help you evaluate the accuracy of your model.
model.components_
123 PC1Float | 123 PC2Float | 123 PC3Float | 123 PC4Float | |
| 1 | 0.358843926248216 | -0.0747064701350342 | 0.549060910726603 | 0.751120560380823 |
| 2 | 0.856572105290528 | -0.175767403428654 | 0.0725240754869635 | -0.47971898732994 |
| 3 | 0.36158967738145 | 0.656539883285831 | -0.580997279827618 | 0.31725454716854 |
| 4 | -0.0822688898922142 | 0.729712371326497 | 0.596418087938103 | -0.324094352417966 |
model.explained_variance_
123 valueFloat | 123 explained_varianceFloat | 123 accumulated_explained_varianceFloat | |
| 1 | 2.05544174529956 | 0.924616207174268 | 0.924616207174268 |
| 2 | 0.492182457659266 | 0.0530155678505351 | 0.977631775024803 |
| 3 | 0.280221177097939 | 0.0171851395250068 | 0.99481691454981 |
| 4 | 0.153892907978245 | 0.00518308545018961 | 0.999999999999999 |
model.mean_
Abc nameVarchar(65000) | 123 meanFloat | 123 sdFloat | |
| 1 | petalwidthcm | 1.19866666666667 | 0.763160741700841 |
| 2 | petallengthcm | 3.75866666666667 | 1.76442041995226 |
| 3 | sepallengthcm | 5.84333333333333 | 0.828066127977863 |
| 4 | sepalwidthcm | 3.054 | 0.433594311362174 |
You can view other attributes using the 'get_attr' method.
model.get_attr()
Abc attr_nameVarchar(128) | Abc Long varchar(32000000) | 123 #_of_rowsInteger | |
| 1 | columns | 4 | |
| 2 | singular_values | 4 | |
| 3 | principal_components | 4 | |
| 4 | counters | 3 | |
| 5 | call_string | 1 |
Let's look at the SQL query for our model.
display(model.deploySQL())
'APPLY_PCA("PetalWidthCm", "PetalLengthCm", "SepalLengthCm", "SepalWidthCm" USING PARAMETERS model_name = \'public.PCA_iris\', match_by_pos = \'true\', cutoff = 1)'
You can deploy an inverse PCA.
display(model.deployInverseSQL())
'APPLY_INVERSE_PCA("PetalWidthCm", "PetalLengthCm", "SepalLengthCm", "SepalWidthCm" USING PARAMETERS model_name = \'public.PCA_iris\', match_by_pos = \'true\')'
You can also use the 'transform' method to apply the model on a vDataFrame. In this example, we choose to keep 2 components with 'n_components'.
model.transform(iris, n_components = 2)
Abc SpeciesVarchar(30) | 123 col1Float | 123 col2Float | |
| 1 | Iris-setosa | -1.00907614291369 | -5.36809865392851 |
| 2 | Iris-setosa | -0.958598946592707 | -5.08805935848075 |
| 3 | Iris-setosa | -0.9091007038018 | -5.1712900871522 |
| 4 | Iris-setosa | -0.737786282743694 | -5.20644356783793 |
| 5 | Iris-setosa | -1.48104367386957 | -4.98275231463299 |
| 6 | Iris-setosa | -0.679356772546814 | -5.0725001448649 |
| 7 | Iris-setosa | -0.629858529755906 | -5.15573087353635 |
| 8 | Iris-setosa | -0.466770997687022 | -5.11791311708943 |
| 9 | Iris-setosa | -0.431865558592275 | -5.48865378822215 |
| 10 | Iris-setosa | -0.630133104869229 | -5.22885550887844 |
| 11 | Iris-setosa | -0.521656201654794 | -5.03189354389269 |
| 12 | Iris-setosa | -0.721177276575147 | -5.20848992401028 |
| 13 | Iris-setosa | -0.73763105455359 | -5.06254744974498 |
| 14 | Iris-setosa | -0.571429019559025 | -5.02178745056333 |
| 15 | Iris-setosa | -0.314457387971867 | -5.07451767159192 |
| 16 | Iris-setosa | -0.205980484757432 | -4.87755570660617 |
| 17 | Iris-versicolor | -0.58625776100288 | -3.20633321652966 |
| 18 | Iris-virginica | -0.124281160540637 | -1.92526343700098 |
| 19 | Iris-setosa | -0.693519772939547 | -5.14298933389113 |
| 20 | Iris-setosa | -0.563476705683127 | -5.16788332303806 |
| 21 | Iris-setosa | -0.563476705683127 | -5.16788332303806 |
| 22 | Iris-setosa | -0.563476705683127 | -5.16788332303806 |
| 23 | Iris-versicolor | -0.820684275017979 | -3.01218892551454 |
| 24 | Iris-versicolor | -0.636030578907111 | -3.1962271232003 |
| 25 | Iris-setosa | -0.585317444838435 | -5.01915200424747 |
| 26 | Iris-setosa | -0.558638894732909 | -5.31692143824753 |
| 27 | Iris-setosa | -0.400663748727567 | -5.20319020193323 |
| 28 | Iris-setosa | -0.278847570460369 | -5.15511295394751 |
| 29 | Iris-setosa | -0.259142380700667 | -4.94351649135363 |
| 30 | Iris-setosa | -0.273735184396828 | -5.2310264338149 |
| 31 | Iris-setosa | -0.189938948150057 | -4.8151507574312 |
| 32 | Iris-setosa | -0.143692117140408 | -5.25592042296183 |
| 33 | Iris-versicolor | -0.54553555742784 | -3.36284197875263 |
| 34 | Iris-setosa | -0.280983119855974 | -4.79478517256304 |
| 35 | Iris-setosa | -0.242963177835548 | -5.16258360096102 |
| 36 | Iris-setosa | -0.19346493504464 | -5.24581432963247 |
| 37 | Iris-setosa | -0.201691824033861 | -5.17284309249982 |
| 38 | Iris-setosa | -0.00244532422683205 | -5.06937134772431 |
| 39 | Iris-setosa | 0.0914387752914419 | -5.15991932519983 |
| 40 | Iris-setosa | 0.135824632018809 | -5.1672365740039 |
| 41 | Iris-setosa | 0.2278477572548 | -4.82433213475285 |
| 42 | Iris-versicolor | -0.0375867010692723 | -2.59566650009667 |
| 43 | Iris-setosa | -0.243237752948871 | -5.2357082363031 |
| 44 | Iris-setosa | -0.121421574681673 | -5.18763098831739 |
| 45 | Iris-setosa | 0.400748577481865 | -5.36606266750723 |
| 46 | Iris-setosa | 0.0857772390012541 | -5.23025511601662 |
| 47 | Iris-versicolor | 0.499880633207178 | -2.19644284804813 |
| 48 | Iris-setosa | -0.151763777939525 | -5.03905306773623 |
| 49 | Iris-setosa | -0.0629920644847923 | -5.05368756534436 |
| 50 | Iris-setosa | 0.121661631626076 | -5.23772576303012 |
| 51 | Iris-setosa | 0.204204339229448 | -5.25824474610772 |
| 52 | Iris-setosa | 0.348840210182028 | -4.99562879279339 |
| 53 | Iris-versicolor | -0.228176508583652 | -2.55508872856979 |
| 54 | Iris-versicolor | -0.22631553430137 | -2.98854114529635 |
| 55 | Iris-versicolor | -0.198383455552447 | -2.84991591983512 |
| 56 | Iris-versicolor | -0.0568620875255468 | -2.59024220925552 |
| 57 | Iris-versicolor | 0.181657882945308 | -2.4181742334167 |
| 58 | Iris-setosa | -0.0860863322834984 | -5.34135090601506 |
| 59 | Iris-setosa | 0.549673109158016 | -5.39873410008654 |
| 60 | Iris-versicolor | -0.0406828846604274 | -2.8093093188629 |
| 61 | Iris-versicolor | 0.222654661633671 | -2.50155836029759 |
| 62 | Iris-virginica | 0.503836423405188 | -1.54875852241182 |
| 63 | Iris-versicolor | 0.177015276262906 | -2.93063577095482 |
| 64 | Iris-versicolor | 0.443467325482684 | -2.61994256965477 |
| 65 | Iris-versicolor | 0.571649418456821 | -2.21138414207513 |
| 66 | Iris-virginica | 0.318908152180997 | -1.43784496006815 |
| 67 | Iris-versicolor | -0.0555502634699112 | -3.16994389666625 |
| 68 | Iris-versicolor | 0.3080372970494 | -2.59225973598254 |
| 69 | Iris-versicolor | 0.45267316800198 | -2.32964378266821 |
| 70 | Iris-versicolor | 0.429853475316598 | -2.54418248799682 |
| 71 | Iris-versicolor | 0.523737574834872 | -2.63473046547234 |
| 72 | Iris-setosa | 0.379063066516662 | -5.07343523062368 |
| 73 | Iris-setosa | 0.812461505225467 | -5.23723241220539 |
| 74 | Iris-versicolor | 0.144675189867193 | -2.70320212777154 |
| 75 | Iris-versicolor | 0.1941734326581 | -2.78643285644299 |
| 76 | Iris-versicolor | 0.282945146112833 | -2.80106735405113 |
| 77 | Iris-virginica | 0.57049282259129 | -1.48778633657145 |
| 78 | Iris-virginica | 0.57049282259129 | -1.48778633657145 |
| 79 | Iris-virginica | 0.615015588174236 | -1.14050689125106 |
| 80 | Iris-setosa | 0.413693930498086 | -5.51730053709848 |
| 81 | Iris-versicolor | 0.570825693116851 | -2.43075804810139 |
| 82 | Iris-virginica | 0.871575735792491 | -1.6209584417462 |
| 83 | Iris-versicolor | 0.934413253636162 | -1.85307388741768 |
| 84 | Iris-versicolor | -0.109731089020932 | -2.79377893469239 |
| 85 | Iris-virginica | 0.21072414341441 | -1.77238286574331 |
| 86 | Iris-versicolor | 0.666942274808597 | -1.7216413419964 |
| 87 | Iris-versicolor | 0.629529778427054 | -2.22368998978628 |
| 88 | Iris-virginica | 0.798983225202878 | -1.82539105374545 |
| 89 | Iris-versicolor | 1.0495889420831 | -2.23860245436796 |
| 90 | Iris-virginica | 0.814418073573534 | -1.52920778128943 |
| 91 | Iris-versicolor | 0.415415899810541 | -2.68779631236513 |
| 92 | Iris-versicolor | 0.676755562966777 | -2.3011896311977 |
| 93 | Iris-versicolor | 0.745958995517388 | -2.17282389727527 |
| 94 | Iris-versicolor | 0.795457238308295 | -2.25605462594672 |
| 95 | Iris-virginica | 0.871026585565845 | -1.76720771243037 |
| 96 | Iris-versicolor | 0.101698089973329 | -2.11559410141323 |
| 97 | Iris-virginica | 0.699437589394416 | -1.80517886708673 |
| 98 | Iris-versicolor | 0.645434406178851 | -2.51588173473575 |
| 99 | Iris-virginica | 1.3892002140515 | -1.15185919350917 |
| 100 | Iris-versicolor | 0.2035345033675 | -2.35223795136348 |
We can filter the model further with 'cutoff'.
model.transform(iris, cutoff = 0.8)
Abc SpeciesVarchar(30) | 123 col1Float | |
| 1 | Iris-setosa | -1.00907614291369 |
| 2 | Iris-setosa | -0.958598946592707 |
| 3 | Iris-setosa | -0.9091007038018 |
| 4 | Iris-setosa | -0.737786282743694 |
| 5 | Iris-setosa | -1.48104367386957 |
| 6 | Iris-setosa | -0.679356772546814 |
| 7 | Iris-setosa | -0.629858529755906 |
| 8 | Iris-setosa | -0.466770997687022 |
| 9 | Iris-setosa | -0.431865558592275 |
| 10 | Iris-setosa | -0.630133104869229 |
| 11 | Iris-setosa | -0.521656201654794 |
| 12 | Iris-setosa | -0.721177276575147 |
| 13 | Iris-setosa | -0.73763105455359 |
| 14 | Iris-setosa | -0.571429019559025 |
| 15 | Iris-setosa | -0.314457387971867 |
| 16 | Iris-setosa | -0.205980484757432 |
| 17 | Iris-versicolor | -0.58625776100288 |
| 18 | Iris-virginica | -0.124281160540637 |
| 19 | Iris-setosa | -0.693519772939547 |
| 20 | Iris-setosa | -0.563476705683127 |
| 21 | Iris-setosa | -0.563476705683127 |
| 22 | Iris-setosa | -0.563476705683127 |
| 23 | Iris-versicolor | -0.820684275017979 |
| 24 | Iris-versicolor | -0.636030578907111 |
| 25 | Iris-setosa | -0.585317444838435 |
| 26 | Iris-setosa | -0.558638894732909 |
| 27 | Iris-setosa | -0.400663748727567 |
| 28 | Iris-setosa | -0.278847570460369 |
| 29 | Iris-setosa | -0.259142380700667 |
| 30 | Iris-setosa | -0.273735184396828 |
| 31 | Iris-setosa | -0.189938948150057 |
| 32 | Iris-setosa | -0.143692117140408 |
| 33 | Iris-versicolor | -0.54553555742784 |
| 34 | Iris-setosa | -0.280983119855974 |
| 35 | Iris-setosa | -0.242963177835548 |
| 36 | Iris-setosa | -0.19346493504464 |
| 37 | Iris-setosa | -0.201691824033861 |
| 38 | Iris-setosa | -0.00244532422683205 |
| 39 | Iris-setosa | 0.0914387752914419 |
| 40 | Iris-setosa | 0.135824632018809 |
| 41 | Iris-setosa | 0.2278477572548 |
| 42 | Iris-versicolor | -0.0375867010692723 |
| 43 | Iris-setosa | -0.243237752948871 |
| 44 | Iris-setosa | -0.121421574681673 |
| 45 | Iris-setosa | 0.400748577481865 |
| 46 | Iris-setosa | 0.0857772390012541 |
| 47 | Iris-versicolor | 0.499880633207178 |
| 48 | Iris-setosa | -0.151763777939525 |
| 49 | Iris-setosa | -0.0629920644847923 |
| 50 | Iris-setosa | 0.121661631626076 |
| 51 | Iris-setosa | 0.204204339229448 |
| 52 | Iris-setosa | 0.348840210182028 |
| 53 | Iris-versicolor | -0.228176508583652 |
| 54 | Iris-versicolor | -0.22631553430137 |
| 55 | Iris-versicolor | -0.198383455552447 |
| 56 | Iris-versicolor | -0.0568620875255468 |
| 57 | Iris-versicolor | 0.181657882945308 |
| 58 | Iris-setosa | -0.0860863322834984 |
| 59 | Iris-setosa | 0.549673109158016 |
| 60 | Iris-versicolor | -0.0406828846604274 |
| 61 | Iris-versicolor | 0.222654661633671 |
| 62 | Iris-virginica | 0.503836423405188 |
| 63 | Iris-versicolor | 0.177015276262906 |
| 64 | Iris-versicolor | 0.443467325482684 |
| 65 | Iris-versicolor | 0.571649418456821 |
| 66 | Iris-virginica | 0.318908152180997 |
| 67 | Iris-versicolor | -0.0555502634699112 |
| 68 | Iris-versicolor | 0.3080372970494 |
| 69 | Iris-versicolor | 0.45267316800198 |
| 70 | Iris-versicolor | 0.429853475316598 |
| 71 | Iris-versicolor | 0.523737574834872 |
| 72 | Iris-setosa | 0.379063066516662 |
| 73 | Iris-setosa | 0.812461505225467 |
| 74 | Iris-versicolor | 0.144675189867193 |
| 75 | Iris-versicolor | 0.1941734326581 |
| 76 | Iris-versicolor | 0.282945146112833 |
| 77 | Iris-virginica | 0.57049282259129 |
| 78 | Iris-virginica | 0.57049282259129 |
| 79 | Iris-virginica | 0.615015588174236 |
| 80 | Iris-setosa | 0.413693930498086 |
| 81 | Iris-versicolor | 0.570825693116851 |
| 82 | Iris-virginica | 0.871575735792491 |
| 83 | Iris-versicolor | 0.934413253636162 |
| 84 | Iris-versicolor | -0.109731089020932 |
| 85 | Iris-virginica | 0.21072414341441 |
| 86 | Iris-versicolor | 0.666942274808597 |
| 87 | Iris-versicolor | 0.629529778427054 |
| 88 | Iris-virginica | 0.798983225202878 |
| 89 | Iris-versicolor | 1.0495889420831 |
| 90 | Iris-virginica | 0.814418073573534 |
| 91 | Iris-versicolor | 0.415415899810541 |
| 92 | Iris-versicolor | 0.676755562966777 |
| 93 | Iris-versicolor | 0.745958995517388 |
| 94 | Iris-versicolor | 0.795457238308295 |
| 95 | Iris-virginica | 0.871026585565845 |
| 96 | Iris-versicolor | 0.101698089973329 |
| 97 | Iris-virginica | 0.699437589394416 |
| 98 | Iris-versicolor | 0.645434406178851 |
| 99 | Iris-virginica | 1.3892002140515 |
| 100 | Iris-versicolor | 0.2035345033675 |
We can also reverse the transformation.
trans = model.transform(iris, cutoff = 0.8)
model.inverse_transform(trans, X = ["col1"])
Abc SpeciesVarchar(30) | 123 petalwidthcmFloat | 123 petallengthcmFloat | 123 sepallengthcmFloat | 123 sepalwidthcmFloat | |
| 1 | Iris-setosa | 0.836565821660113 | 2.89432019053264 | 5.47846181636385 | 3.13701557409423 |
| 2 | Iris-setosa | 0.854679256973936 | 2.93755754885447 | 5.49671384949668 | 3.13286287118803 |
| 3 | Iris-setosa | 0.872441400759413 | 2.97995636289006 | 5.51461190313839 | 3.128790705702 |
| 4 | Iris-setosa | 0.933916540234843 | 3.12669951720243 | 5.57655742937958 | 3.11469685845903 |
| 5 | Iris-setosa | 0.667203139790228 | 2.49004596891299 | 5.307803229111 | 3.17584381893114 |
| 6 | Iris-setosa | 0.954883615082652 | 3.17674860576286 | 5.59768493712123 | 3.10988992751818 |
| 7 | Iris-setosa | 0.972645758868129 | 3.21914741979845 | 5.61558299076294 | 3.10581776203216 |
| 8 | Iris-setosa | 1.03116872919786 | 3.35884365048933 | 5.67455375886867 | 3.09240073181359 |
| 9 | Iris-setosa | 1.04369433401004 | 3.38874267594081 | 5.68717520532979 | 3.08952910008807 |
| 10 | Iris-setosa | 0.972547229256414 | 3.21891222641557 | 5.6154837072363 | 3.10584035102193 |
| 11 | Iris-setosa | 1.01147350711313 | 3.31183051577736 | 5.65470783567294 | 3.09691607661553 |
| 12 | Iris-setosa | 0.939876581219446 | 3.140926328583 | 5.58256307456169 | 3.11333045395933 |
| 13 | Iris-setosa | 0.933972242928045 | 3.12683248134003 | 5.57661355829076 | 3.11468408800815 |
| 14 | Iris-setosa | 0.993612833715938 | 3.26919650835889 | 5.63671049850459 | 3.10101083109132 |
| 15 | Iris-setosa | 1.08582554292908 | 3.48931123982744 | 5.72962878786637 | 3.07987006022685 |
| 16 | Iris-setosa | 1.1247518207858 | 3.58222952918923 | 5.76885291630302 | 3.07094578582045 |
| 17 | Iris-versicolor | 0.988291629914905 | 3.25649462208152 | 5.63134857866993 | 3.1022307751884 |
| 18 | Iris-virginica | 1.15406912705958 | 3.65221089133442 | 5.79839454858885 | 3.06422447311219 |
| 19 | Iris-setosa | 0.949801308414269 | 3.16461697469923 | 5.59256374237847 | 3.11105510183804 |
| 20 | Iris-setosa | 0.996466473249923 | 3.2760082385975 | 5.63958597311341 | 3.10035660305667 |
| 21 | Iris-setosa | 0.996466473249923 | 3.2760082385975 | 5.63958597311341 | 3.10035660305667 |
| 22 | Iris-setosa | 0.996466473249923 | 3.2760082385975 | 5.63958597311341 | 3.10035660305667 |
| 23 | Iris-versicolor | 0.904169099209045 | 3.05569140943569 | 5.54658237109755 | 3.12151678425773 |
| 24 | Iris-versicolor | 0.970430956517713 | 3.21386061466305 | 5.61335124150157 | 3.10632552966419 |
| 25 | Iris-setosa | 0.988629056659269 | 3.25730007067814 | 5.63168858728847 | 3.10215341642141 |
| 26 | Iris-setosa | 0.998202492325746 | 3.28015217250813 | 5.64133527561413 | 3.09995860172029 |
| 27 | Iris-setosa | 1.05489091396794 | 3.4154692759055 | 5.69845745769249 | 3.08696216182787 |
| 28 | Iris-setosa | 1.09860390965789 | 3.51981361618228 | 5.74250493029197 | 3.07694048007092 |
| 29 | Iris-setosa | 1.10567499731873 | 3.5366925320599 | 5.74963012349992 | 3.07531935598427 |
| 30 | Iris-setosa | 1.10043845834543 | 3.52419274347579 | 5.74435351631933 | 3.07651988974477 |
| 31 | Iris-setosa | 1.13050822876504 | 3.5959702619731 | 5.77465337034958 | 3.0696260664116 |
| 32 | Iris-setosa | 1.14710362318108 | 3.63558400737405 | 5.79137574705427 | 3.0658213909634 |
| 33 | Iris-versicolor | 1.00290454533125 | 3.29137612572986 | 5.64607330712289 | 3.09888060470632 |
| 34 | Iris-setosa | 1.09783758072808 | 3.51798436414053 | 5.74173273767498 | 3.077116169349 |
| 35 | Iris-setosa | 1.11148080599842 | 3.55055118591999 | 5.75548035624421 | 3.07398831092521 |
| 36 | Iris-setosa | 1.12924294978389 | 3.59294999995558 | 5.77337840988592 | 3.06991614543919 |
| 37 | Iris-setosa | 1.12629078063819 | 3.5859030763341 | 5.77040365175045 | 3.0705929624636 |
| 38 | Iris-setosa | 1.19778917692016 | 3.75657207014557 | 5.84244912933506 | 3.05420117410957 |
| 39 | Iris-setosa | 1.23147891580358 | 3.83699057092324 | 5.87639665059112 | 3.04647743346367 |
| 40 | Iris-setosa | 1.24740651090152 | 3.87501025766533 | 5.89244611820547 | 3.04282585830379 |
| 41 | Iris-setosa | 1.28042845046683 | 3.95383469978414 | 5.92572073037118 | 3.03525521794622 |
| 42 | Iris-versicolor | 1.18517890728025 | 3.72647094700083 | 5.82974237021986 | 3.05709221617168 |
| 43 | Iris-setosa | 1.1113822763867 | 3.55031599253712 | 5.75538107271756 | 3.07401089991498 |
| 44 | Iris-setosa | 1.15509527207665 | 3.6546603328139 | 5.79942854531704 | 3.06398921815803 |
| 45 | Iris-setosa | 1.34247285964865 | 4.10193671937249 | 5.98823988217608 | 3.02103085940468 |
| 46 | Iris-setosa | 1.22944730789261 | 3.83214105686398 | 5.87434949751047 | 3.04694320176935 |
| 47 | Iris-versicolor | 1.37804579574218 | 4.1868504730469 | 6.02408501022395 | 3.01287537522743 |
| 48 | Iris-setosa | 1.14420715672859 | 3.62867004789016 | 5.78845711782999 | 3.06648543753693 |
| 49 | Iris-setosa | 1.17606234692446 | 3.70470942137433 | 5.82055605305869 | 3.05918228721718 |
| 50 | Iris-setosa | 1.24232420423313 | 3.8628786266017 | 5.88732492346271 | 3.04399103262365 |
| 51 | Iris-setosa | 1.27194415351268 | 3.9335824074299 | 5.9171715144752 | 3.03720033570042 |
| 52 | Iris-setosa | 1.32384585732164 | 4.05747345991228 | 5.96947035239073 | 3.02530130315856 |
| 53 | Iris-versicolor | 1.1167869124489 | 3.56321703433133 | 5.76082706320854 | 3.07277182806066 |
| 54 | Iris-versicolor | 1.117454711767 | 3.56481109299019 | 5.76149997229889 | 3.07261872777234 |
| 55 | Iris-versicolor | 1.12747796857354 | 3.5887369324893 | 5.77159992364231 | 3.07032078666128 |
| 56 | Iris-versicolor | 1.17826205192433 | 3.7099601886437 | 5.82277258944973 | 3.05867798081768 |
| 57 | Iris-versicolor | 1.2638534946167 | 3.91426974190375 | 5.90901894862132 | 3.03905520762992 |
| 58 | Iris-setosa | 1.16777510919375 | 3.68492751578585 | 5.81220540421599 | 3.06108222699186 |
| 59 | Iris-setosa | 1.39591352330999 | 4.22950131899974 | 6.04208945553904 | 3.00877900350597 |
| 60 | Iris-versicolor | 1.18406786060402 | 3.72381884250379 | 5.82862282219402 | 3.05734693575863 |
| 61 | Iris-versicolor | 1.27856493964476 | 3.94938643893497 | 5.92384296060093 | 3.03568244815807 |
| 62 | Iris-virginica | 1.37946530702824 | 4.1902388925849 | 6.02551538312544 | 3.01254993675919 |
| 63 | Iris-versicolor | 1.26218752340676 | 3.91029301452377 | 5.90734022996882 | 3.03943714972789 |
| 64 | Iris-versicolor | 1.35780222290567 | 4.13852840728293 | 6.00368654048383 | 3.01751643542907 |
| 65 | Iris-versicolor | 1.40379958842322 | 4.24832561252233 | 6.05003586212843 | 3.00697103693603 |
| 66 | Iris-virginica | 1.31310492010786 | 4.03183449397465 | 5.95864722919477 | 3.02776378034249 |
| 67 | Iris-versicolor | 1.178732792019 | 3.7110838605368 | 5.82324693148679 | 3.05857005850889 |
| 68 | Iris-versicolor | 1.30920397977076 | 4.02252282270828 | 5.95471644019488 | 3.02865811352635 |
| 69 | Iris-versicolor | 1.36110568357972 | 4.14641387519066 | 6.00701527811041 | 3.01675908098449 |
| 70 | Iris-versicolor | 1.35291697546072 | 4.12686716298505 | 5.99876391279436 | 3.01863643176939 |
| 71 | Iris-versicolor | 1.38660671434413 | 4.20728566376273 | 6.03271143405042 | 3.01091269112349 |
| 72 | Iris-setosa | 1.33469114575119 | 4.08336151559073 | 5.98039862526232 | 3.02281490231854 |
| 73 | Iris-setosa | 1.49021354312731 | 4.45459852866516 | 6.13711102689266 | 2.98715969388494 |
| 74 | Iris-versicolor | 1.25058247982932 | 3.88259139863451 | 5.89564638856251 | 3.04209773273468 |
| 75 | Iris-versicolor | 1.26834462361479 | 3.9249902126701 | 5.91354444220422 | 3.03802556724866 |
| 76 | Iris-versicolor | 1.30019981381067 | 4.00102958615427 | 5.94564337743292 | 3.03072241692891 |
| 77 | Iris-virginica | 1.40338455102175 | 4.24733490476682 | 6.04961764900255 | 3.00706618879394 |
| 78 | Iris-virginica | 1.40338455102175 | 4.24733490476682 | 6.04961764900255 | 3.00706618879394 |
| 79 | Iris-virginica | 1.41936127503097 | 4.28547186381556 | 6.06571662144582 | 3.0034033502945 |
| 80 | Iris-setosa | 1.34711822095166 | 4.11302534765933 | 5.9929207881968 | 3.01996585958278 |
| 81 | Iris-versicolor | 1.40350399958808 | 4.24762003237369 | 6.0497380115485 | 3.00703880390532 |
| 82 | Iris-virginica | 1.51142632572112 | 4.50523412959458 | 6.15848612245204 | 2.98229643175936 |
| 83 | Iris-versicolor | 1.53397518733984 | 4.55905899454517 | 6.18120752025658 | 2.97712685892278 |
| 84 | Iris-versicolor | 1.1592903318509 | 3.66467407672818 | 5.80365570425554 | 3.06302745488042 |
| 85 | Iris-virginica | 1.27428374564479 | 3.93916708982669 | 5.91952900836703 | 3.03666395864781 |
| 86 | Iris-versicolor | 1.4379948511399 | 4.32995081510672 | 6.08449277531342 | 2.99913139942931 |
| 87 | Iris-versicolor | 1.4245696040476 | 4.29790431431701 | 6.07096480281679 | 3.00220928397471 |
| 88 | Iris-virginica | 1.48537694420493 | 4.44305340997051 | 6.13223741996763 | 2.98826853702006 |
| 89 | Iris-versicolor | 1.57530528359048 | 4.65771527647644 | 6.2228538602843 | 2.96765148289168 |
| 90 | Iris-virginica | 1.4909156457953 | 4.45627447053421 | 6.13781850181041 | 2.98699872917895 |
| 91 | Iris-versicolor | 1.34773613918062 | 4.11450033853854 | 5.99354343452495 | 3.01982419507901 |
| 92 | Iris-versicolor | 1.44151628999199 | 4.3383566040042 | 6.08804115901259 | 2.99832407110634 |
| 93 | Iris-versicolor | 1.4663495214383 | 4.3976343339174 | 6.11306440586226 | 2.99263078153367 |
| 94 | Iris-versicolor | 1.48411166522378 | 4.44003314795299 | 6.13096245950397 | 2.98855861604765 |
| 95 | Iris-virginica | 1.51122926649769 | 4.50476374282882 | 6.15828755539875 | 2.98234160973889 |
| 96 | Iris-versicolor | 1.23516040856464 | 3.84577841369915 | 5.8801063128771 | 3.04563341103374 |
| 97 | Iris-virginica | 1.44965559741055 | 4.35778539513357 | 6.09624274563092 | 2.99645804597164 |
| 98 | Iris-versicolor | 1.43027688311557 | 4.31152777479423 | 6.07671575203443 | 3.00090082790543 |
| 99 | Iris-virginica | 1.69717272582177 | 4.94861681868681 | 6.34565379055045 | 2.93971204055196 |
| 100 | Iris-versicolor | 1.27170378698204 | 3.93300864471543 | 5.91692930874198 | 3.03725544235319 |
To evaluate the model, we'll apply and then reverse it.
We don't see much error here because the number of components is equal to the number of variables.
model.set_params({"n_components": 4})
model.score()
| Score | |
| PetalWidthCm | 9.89394927062417e-09 |
| PetalLengthCm | 1.45228223207193e-08 |
| SepalLengthCm | 7.16232440767798e-09 |
| SepalWidthCm | 7.2056492635751e-09 |
Our error increases when we retrieve fewer components.
model.set_params({"n_components": 1})
model.score()
| Score | |
| PetalWidthCm | 0.560453608853424 |
| PetalLengthCm | 0.750949082360787 |
| SepalLengthCm | 1.70738568563443 |
| SepalWidthCm | 1.25433079158467 |
