-
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 |