Loading...

verticapy.machine_learning.vertica.cluster.KMeans.predict

KMeans.predict(vdf: Annotated[str | vDataFrame, ''], X: Annotated[str | list[str], 'STRING representing one column or a list of columns'] | None = None, name: str | None = None, inplace: bool = True) → vDataFrame

Makes predictions using the input relation.

Parameters

vdf: SQLRelation

Object used to run the prediction. You can also specify a customized relation, but you must enclose it with an alias. For example: (SELECT 1) x is valid whereas (SELECT 1) and SELECT 1 are invalid.

X: SQLColumns, optional

list of the columns used to deploy the models. If empty, the model predictors are used.

name: str, optional

Name of the added vDataColumn. If empty, a name is generated.

inplace: bool, optional

If set to True, the prediction is added to the vDataFrame.

Returns

vDataFrame

the input object.

Examples

For this example, we will use the winequality dataset.

import verticapy.datasets as vpd

data = vpd.load_winequality()
123
fixed_acidity
Numeric(8)
123
volatile_acidity
Numeric(9)
123
citric_acid
Numeric(8)
123
residual_sugar
Numeric(9)
123
chlorides
Float(22)
123
free_sulfur_dioxide
Numeric(9)
123
total_sulfur_dioxide
Numeric(9)
123
density
Float(22)
123
pH
Numeric(8)
123
sulphates
Numeric(8)
123
alcohol
Float(22)
123
quality
Integer
123
good
Integer
Abc
color
Varchar(20)
13.90.2250.44.20.0329.0118.00.9893.570.3612.881white
24.70.3350.141.30.03669.0168.00.992123.470.4610.550white
34.70.4550.181.90.03633.0106.00.987463.210.8314.071white
44.70.7850.03.40.03623.0134.00.989813.530.9213.860white
54.90.3450.341.00.06832.0143.00.991383.240.410.150white
64.90.3450.341.00.06832.0143.00.991383.240.410.150white
74.90.420.02.10.04816.042.00.991543.710.7414.071red
85.00.270.41.20.07642.0124.00.992043.320.4710.160white
95.00.310.06.40.04643.0166.00.9943.30.639.960white
105.00.40.54.30.04629.080.00.99023.490.6613.660red
115.00.440.0418.60.03938.0128.00.99853.370.5710.260white
125.10.110.321.60.02812.090.00.990083.570.5212.260white
135.10.140.250.70.03915.089.00.99193.220.439.260white
145.10.1650.225.70.04742.0146.00.99343.180.559.960white
155.10.330.221.60.02718.089.00.98933.510.3812.571white
165.10.330.221.60.02718.089.00.98933.510.3812.571white
175.10.330.221.60.02718.089.00.98933.510.3812.571white
185.10.390.211.70.02715.072.00.98943.50.4512.560white
195.20.20.273.20.04716.093.00.992353.440.5310.171white
205.20.210.311.70.04817.061.00.989533.240.3712.071white
215.20.220.466.20.06641.0187.00.993623.190.429.7333333333333350white
225.20.310.22.40.02727.0117.00.988863.560.4513.071white
235.20.320.251.80.10313.050.00.99573.380.559.250red
245.20.340.376.20.03142.0133.00.990763.250.4112.560white
255.20.360.021.60.03124.0104.00.98963.440.3512.260white
265.20.3650.0813.50.04137.0142.00.9973.460.399.960white
275.20.480.041.60.05419.0106.00.99273.540.6212.271red
285.20.50.182.00.03623.0129.00.989493.360.7713.471white
295.30.160.391.00.02840.0101.00.991563.570.5910.660white
305.30.160.391.00.02840.0101.00.991563.570.5910.660white
315.30.1650.241.10.05125.0105.00.99253.320.479.150white
325.30.230.560.90.04146.0141.00.991193.160.629.750white
335.30.30.31.20.02925.093.00.987423.310.413.671white
345.30.330.31.20.04825.0119.00.990453.320.6211.360white
355.30.360.276.30.02840.0132.00.991863.370.411.660white
365.30.360.276.30.02840.0132.00.991863.370.411.660white
375.30.40.253.90.03145.0130.00.990723.310.5811.7571white
385.30.470.112.20.04816.089.00.991823.540.8813.671red
395.30.470.112.20.04816.089.00.991823.540.8813.566666666666771red
405.30.7150.191.50.1617.062.00.993953.620.6111.050red
415.40.220.291.20.04569.0152.00.991783.760.6311.071white
425.40.5950.12.80.04226.080.00.99323.360.389.350white
435.40.740.091.70.08916.026.00.994023.670.5611.660red
445.50.120.331.00.03823.0131.00.991643.250.459.850white
455.50.120.331.00.03823.0131.00.991643.250.459.850white
465.50.140.274.60.02922.0104.00.99493.340.449.050white
475.50.140.274.60.02922.0104.00.99493.340.449.050white
485.50.160.311.20.02631.068.00.98983.330.4411.6560white
495.50.160.311.20.02631.068.00.98983.330.4411.633333333333360white
505.50.180.225.50.03710.086.00.991563.460.4412.250white
515.50.240.451.70.04622.0113.00.992243.220.4810.050white
525.50.290.31.10.02220.0110.00.988693.340.3812.871white
535.50.310.293.00.02716.0102.00.990673.230.5611.260white
545.50.320.454.90.02825.0191.00.99223.510.4911.571white
555.50.350.351.10.04514.0167.00.9923.340.689.960white
565.50.3750.381.70.03617.098.00.991423.290.3910.560white
575.60.150.265.550.05151.0139.00.993363.470.511.060white
585.60.150.315.30.0388.079.00.99233.30.3910.560white
595.60.160.271.40.04453.0168.00.99183.280.3710.160white
605.60.1750.290.80.04320.067.00.991123.280.489.960white
615.60.1850.197.10.04836.0110.00.994383.260.419.560white
625.60.1850.197.10.04836.0110.00.994383.260.419.560white
635.60.220.321.20.02429.097.00.988233.20.4613.0571white
645.60.260.181.40.03418.0135.00.991743.320.3510.260white
655.60.260.265.70.03112.080.00.99233.250.3810.850white
665.60.260.511.40.02925.093.00.994283.230.4910.560white
675.60.280.284.20.04452.0158.00.9923.350.4410.771white
685.60.30.16.40.04334.0142.00.993823.140.489.850white
695.60.350.145.00.04648.0198.00.99373.30.7110.350white
705.60.490.134.50.03917.0116.00.99073.420.913.771white
715.60.490.134.50.03917.0116.00.99073.420.913.771white
725.60.660.02.20.0873.011.00.993783.710.6312.871red
735.60.660.02.20.0873.011.00.993783.710.6312.871red
745.70.150.4711.40.03549.0128.00.994563.030.3410.581white
755.70.180.262.20.02321.095.00.98933.070.5412.360white
765.70.180.361.20.0469.071.00.991993.70.6810.971white
775.70.20.32.50.04638.0125.00.992763.340.59.960white
785.70.210.320.90.03838.0121.00.990743.240.4610.660white
795.70.210.374.50.0458.0140.00.993323.290.6210.660white
805.70.220.216.00.04441.0113.00.998623.220.468.960white
815.70.220.216.00.04441.0113.00.998623.220.468.960white
825.70.220.216.00.04441.0113.00.998623.220.468.960white
835.70.220.216.00.04441.0113.00.998623.220.468.960white
845.70.220.216.00.04441.0113.00.998623.220.468.960white
855.70.220.293.50.0427.0146.00.989993.170.3612.160white
865.70.230.289.650.02526.0121.00.99253.280.3811.360white
875.70.250.2612.50.04952.5106.00.996913.080.459.460white
885.70.250.2612.50.04952.5120.00.996913.080.459.460white
895.70.250.2711.50.0424.0120.00.994113.330.3110.860white
905.70.260.2417.80.05923.0124.00.997733.30.510.150white
915.70.260.2417.80.05923.0124.00.997733.30.510.150white
925.70.260.2417.80.05923.0124.00.997733.30.510.150white
935.70.270.321.20.04620.0155.00.99343.80.4110.260white
945.70.280.2417.50.04460.0167.00.99893.310.449.450white
955.70.320.181.40.02926.0104.00.99063.440.3711.060white
965.70.320.384.750.03323.094.00.9913.420.4211.871white
975.70.360.344.20.02621.077.00.99073.410.4511.960white
985.80.140.156.10.04227.0123.00.993623.060.69.960white
995.80.150.321.20.03714.0119.00.991373.190.510.260white
1005.80.170.341.80.04596.0170.00.990353.380.911.881white
Rows: 1-100 | Columns: 14

Let’s import the model:

from verticapy.machine_learning.vertica import KMeans

Then we can create the model:

model = KMeans(
    n_cluster = 8,
    init = "kmeanspp",
    max_iter = 300,
    tol = 1e-4,
)

We can then fit the model:

model.fit(data, X = ["density", "sulphates"])


=======
centers
=======
density |sulphates
--------+---------
 0.99448| 0.45201 
 0.99582| 0.90272 
 0.99725| 1.14813 
 0.99724| 1.78250 
 0.99324| 0.36221 
 0.99495| 0.54063 
 0.99586| 0.76088 
 0.99545| 0.64128 


=======
metrics
=======
Evaluation metrics:
     Total Sum of Squares: 143.90056
     Within-Cluster Sum of Squares: 
         Cluster 0: 1.09094
         Cluster 1: 0.4144133
         Cluster 2: 0.45247629
         Cluster 3: 0.28515756
         Cluster 4: 1.2923887
         Cluster 5: 1.5474749
         Cluster 6: 0.6174803
         Cluster 7: 0.97879356
     Total Within-Cluster Sum of Squares: 6.6791247
     Between-Cluster Sum of Squares: 137.22144
     Between-Cluster SS / Total SS: 95.36%
 Number of iterations performed: 6
 Converged: True
 Call:
kmeans('"public"."_verticapy_tmp_kmeans_v_mldb_bac09e44979611efa8720242ac120002_"', '"public"."_verticapy_tmp_view_v_mldb_baf186e4979611efa8720242ac120002_"', '"density", "sulphates"', 8
USING PARAMETERS max_iterations=300, epsilon=0.0001, init_method='kmeanspp', distance_method='euclidean')

Predicting or ranking the dataset is straight-forward:

model.predict(data, ["density", "sulphates"], name = "Cluster IDs")
123
fixed_acidity
Numeric(8)
123
volatile_acidity
Numeric(9)
123
citric_acid
Numeric(8)
123
residual_sugar
Numeric(9)
123
chlorides
Float(22)
123
free_sulfur_dioxide
Numeric(9)
123
total_sulfur_dioxide
Numeric(9)
123
density
Float(22)
123
pH
Numeric(8)
123
sulphates
Numeric(8)
123
alcohol
Float(22)
123
quality
Integer
123
good
Integer
Abc
color
Varchar(20)
123
Cluster IDs
Integer
14.40.320.394.30.0331.0127.00.989043.460.3612.881white4
24.40.460.12.80.02431.0111.00.988163.480.3413.160white4
34.40.540.095.10.03852.097.00.990223.410.412.271white4
44.70.60.172.30.05817.0106.00.99323.850.612.960red7
54.70.670.091.00.025.09.00.987223.30.3413.650white4
64.80.330.06.50.02834.0163.00.99373.350.619.950white7
74.80.340.06.50.02833.0163.00.99393.360.619.960white7
84.90.470.171.90.03560.0148.00.989643.270.3511.560white4
95.00.270.324.50.03258.0178.00.989563.450.3112.671white4
105.00.270.324.50.03258.0178.00.989563.450.3112.671white4
115.00.290.545.70.03554.0155.00.989763.270.3412.981white4
125.00.330.184.60.03240.0124.00.991143.180.411.060white4
135.00.380.011.60.04826.060.00.990843.70.7514.060red6
145.00.550.148.30.03235.0164.00.99183.530.5112.581white5
155.00.610.121.30.00965.0100.00.98743.260.3713.550white4
165.10.210.281.40.04748.0148.00.991683.50.4910.450white0
175.10.230.181.00.05313.099.00.989563.220.3911.550white4
185.10.250.361.30.03540.078.00.98913.230.6412.171white7
195.10.260.346.40.03426.099.00.994493.230.419.260white0
205.10.350.266.80.03436.0120.00.991883.380.411.560white4
215.10.350.266.80.03436.0120.00.991883.380.411.560white4
225.10.350.266.80.03436.0120.00.991883.380.411.560white4
235.10.470.021.30.03418.044.00.99213.90.6212.860red7
245.10.5850.01.70.04414.086.00.992643.560.9412.971red1
255.20.1850.221.00.0347.0123.00.992183.550.4410.1560white0
265.20.240.453.80.02721.0128.00.9923.550.4911.281white0
275.20.240.453.80.02721.0128.00.9923.550.4911.281white0
285.20.280.291.10.02818.069.00.991683.240.5410.060white5
295.20.340.01.80.0527.063.00.99163.680.7914.060red6
305.20.340.01.80.0527.063.00.99163.680.7914.060red6
315.20.4050.151.450.03810.044.00.991253.520.411.640white4
325.20.60.077.00.04433.0147.00.99443.330.589.750white5
335.20.6450.02.150.0815.028.00.994443.780.6112.560red7
345.30.20.313.60.03622.091.00.992783.410.59.860white5
355.30.240.331.30.03325.097.00.99063.590.3811.081white4
365.30.310.3810.50.03153.0140.00.993213.340.4611.760white0
375.30.310.3810.50.03153.0140.00.993213.340.4611.760white0
385.30.3950.071.30.03526.0102.00.9923.50.3510.660white4
395.30.430.111.10.0296.051.00.990763.510.4811.240white0
405.30.580.076.90.04334.0149.00.99443.340.579.750white5
415.30.5850.077.10.04434.0145.00.99453.340.579.760white5
425.30.760.032.70.04327.093.00.99323.340.389.250white4
435.40.180.244.80.04130.0113.00.994453.420.49.460white4
445.40.2050.1612.550.05131.0115.00.995643.40.3810.860white4
455.40.2550.331.20.05129.0122.00.990483.370.6611.360white7
465.40.290.381.20.02931.0132.00.988953.280.3612.460white4
475.40.290.381.20.02931.0132.00.988953.280.3612.460white4
485.40.450.276.40.03320.0102.00.989443.220.2713.481white4
495.40.50.135.00.02812.0107.00.990793.480.8813.571white1
505.40.530.162.70.03634.0128.00.988563.20.5313.281white5
515.40.530.162.70.03634.0128.00.988563.20.5313.281white5
525.40.590.077.00.04536.0147.00.99443.340.579.760white5
535.50.160.261.50.03235.0100.00.990763.430.7712.060white6
545.50.190.270.90.0452.0103.00.990263.50.3911.250white4
555.50.230.192.20.04439.0161.00.992093.190.4310.460white0
565.50.240.328.70.0619.0102.00.9943.270.3110.450white4
575.60.180.271.70.0331.0103.00.988923.350.3712.960white4
585.60.180.292.30.045.047.00.991263.070.4510.140white0
595.60.180.310.20.02828.0131.00.99543.490.4210.871white0
605.60.180.311.50.03816.084.00.99243.340.5810.160white5
615.60.1850.491.10.0328.0117.00.99183.550.4510.360white0
625.60.190.261.40.0312.076.00.99053.250.3710.971white4
635.60.190.270.90.0452.0103.00.990263.50.3911.250white4
645.60.190.312.70.02711.0100.00.989643.460.413.271white4
655.60.190.461.10.03233.0115.00.99093.360.510.460white5
665.60.20.6610.20.04378.0175.00.99452.980.4310.471white0
675.60.2050.1612.550.05131.0115.00.995643.40.3810.860white4
685.60.2250.249.80.05459.0140.00.995453.170.3910.260white4
695.60.230.258.00.04331.0101.00.994293.190.4210.460white0
705.60.230.293.10.02319.089.00.990683.250.5111.260white5
715.60.2350.291.20.04733.0127.00.9913.340.511.071white5
725.60.270.370.90.02511.049.00.988453.290.3313.160white4
735.60.280.273.90.04352.0158.00.992023.350.4410.771white0
745.60.290.050.80.03811.030.00.99243.360.359.250white4
755.60.2950.22.20.04918.0134.00.993783.210.6810.050white7
765.60.310.371.40.07412.096.00.99543.320.589.250red5
775.60.330.281.20.03133.097.00.991263.490.5810.960white5
785.60.340.11.30.03120.068.00.99063.360.5111.271white5
795.60.340.252.50.04647.0182.00.990933.210.411.350white4
805.60.390.244.70.03427.077.00.99063.280.3612.750white4
815.60.410.227.10.0544.0154.00.99313.30.410.550white4
825.60.460.244.80.04224.072.00.99083.290.3712.660white4
835.60.50.092.30.04917.099.00.99373.630.6313.050red7
845.60.50.092.30.04917.099.00.99373.630.6313.050red7
855.60.6050.052.40.07319.025.00.992583.560.5512.950red5
865.60.6950.066.80.0429.084.00.994323.440.4410.250white0
875.70.1350.34.60.04219.0101.00.99463.310.429.360white0
885.70.140.35.40.04526.0105.00.994693.320.459.350white0
895.70.180.224.20.04225.0111.00.9943.350.399.450white4
905.70.220.2216.650.04439.0110.00.998553.240.489.060white0
915.70.220.2216.650.04439.0110.00.998553.240.489.060white0
925.70.220.2216.650.04439.0110.00.998553.240.489.060white0
935.70.220.2216.650.04439.0110.00.998553.240.489.060white0
945.70.220.281.30.02726.0101.00.989483.350.3812.571white4
955.70.2450.331.10.04928.0150.00.99273.130.429.350white0
965.70.250.211.50.04421.0108.00.991423.30.5911.060white5
975.70.2550.651.20.07917.0137.00.993073.20.429.450white0
985.70.2550.651.20.07917.0137.00.993073.20.429.450white0
995.70.280.33.90.02636.0105.00.989633.260.5812.7560white5
1005.70.310.297.30.0533.0143.00.993323.310.511.066666666666760white5
Rows: 1-100 | Columns: 15

Important

For this example, a specific model is utilized, and it may not correspond exactly to the model you are working with. To see a comprehensive example specific to your class of interest, please refer to that particular class.