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.80.310.0211.10.03620.0114.00.992483.750.4412.460white
23.90.2250.44.20.0329.0118.00.9893.570.3612.881white
34.20.170.361.80.02993.0161.00.989993.650.8912.071white
44.20.2150.235.10.04164.0157.00.996883.420.448.030white
54.40.320.394.30.0331.0127.00.989043.460.3612.881white
64.40.460.12.80.02431.0111.00.988163.480.3413.160white
74.40.540.095.10.03852.097.00.990223.410.412.271white
84.50.190.210.950.03389.0159.00.993323.340.428.050white
94.60.4450.01.40.05311.0178.00.994263.790.5510.250white
104.60.520.152.10.0548.065.00.99343.90.5613.140red
114.70.1450.291.00.04235.090.00.99083.760.4911.360white
124.70.3350.141.30.03669.0168.00.992123.470.4610.550white
134.70.4550.181.90.03633.0106.00.987463.210.8314.071white
144.70.60.172.30.05817.0106.00.99323.850.612.960red
154.70.670.091.00.025.09.00.987223.30.3413.650white
164.70.7850.03.40.03623.0134.00.989813.530.9213.860white
174.80.130.321.20.04240.098.00.98983.420.6411.871white
184.80.170.282.90.0322.0111.00.99023.380.3411.371white
194.80.210.2110.20.03717.0112.00.993243.660.4812.271white
204.80.2250.381.20.07447.0130.00.991323.310.410.360white
214.80.260.2310.60.03423.0111.00.992743.460.2811.571white
224.80.290.231.10.04438.0180.00.989243.280.3411.960white
234.80.330.06.50.02834.0163.00.99373.350.619.950white
244.80.340.06.50.02833.0163.00.99393.360.619.960white
254.80.650.121.10.0134.010.00.992463.320.3613.540white
264.90.2350.2711.750.0334.0118.00.99543.070.59.460white
274.90.330.311.20.01639.0150.00.987133.330.5914.081white
284.90.3350.141.30.03669.0168.00.992123.470.4610.466666666666750white
294.90.3350.141.30.03669.0168.00.992123.470.4610.466666666666750white
304.90.3450.341.00.06832.0143.00.991383.240.410.150white
314.90.3450.341.00.06832.0143.00.991383.240.410.150white
324.90.420.02.10.04816.042.00.991543.710.7414.071red
334.90.470.171.90.03560.0148.00.989643.270.3511.560white
345.00.170.561.50.02624.0115.00.99063.480.3910.871white
355.00.20.41.90.01520.098.00.98973.370.5512.0560white
365.00.2350.2711.750.0334.0118.00.99543.070.59.460white
375.00.240.195.00.04317.0101.00.994383.670.5710.050white
385.00.240.212.20.03931.0100.00.990983.690.6211.760white
395.00.240.341.10.03449.0158.00.987743.320.3213.171white
405.00.2550.222.70.04346.0153.00.992383.750.7611.360white
415.00.270.324.50.03258.0178.00.989563.450.3112.671white
425.00.270.324.50.03258.0178.00.989563.450.3112.671white
435.00.270.41.20.07642.0124.00.992043.320.4710.160white
445.00.290.545.70.03554.0155.00.989763.270.3412.981white
455.00.30.333.70.0354.0173.00.98873.360.313.071white
465.00.310.06.40.04643.0166.00.9943.30.639.960white
475.00.330.161.50.04910.097.00.99173.480.4410.760white
485.00.330.161.50.04910.097.00.99173.480.4410.760white
495.00.330.161.50.04910.097.00.99173.480.4410.760white
505.00.330.184.60.03240.0124.00.991143.180.411.060white
515.00.330.2311.80.0323.0158.00.993223.410.6411.860white
525.00.350.257.80.03124.0116.00.992413.390.411.360white
535.00.350.257.80.03124.0116.00.992413.390.411.360white
545.00.380.011.60.04826.060.00.990843.70.7514.060red
555.00.40.54.30.04629.080.00.99023.490.6613.660red
565.00.420.242.00.0619.050.00.99173.720.7414.081red
575.00.440.0418.60.03938.0128.00.99853.370.5710.260white
585.00.4550.181.90.03633.0106.00.987463.210.8314.071white
595.00.550.148.30.03235.0164.00.99183.530.5112.581white
605.00.610.121.30.00965.0100.00.98743.260.3713.550white
615.00.740.01.20.04116.046.00.992584.010.5912.560red
625.01.020.041.40.04541.085.00.99383.750.4810.540red
635.01.040.241.60.0532.096.00.99343.740.6211.550red
645.10.110.321.60.02812.090.00.990083.570.5212.260white
655.10.140.250.70.03915.089.00.99193.220.439.260white
665.10.1650.225.70.04742.0146.00.99343.180.559.960white
675.10.210.281.40.04748.0148.00.991683.50.4910.450white
685.10.230.181.00.05313.099.00.989563.220.3911.550white
695.10.250.361.30.03540.078.00.98913.230.6412.171white
705.10.260.331.10.02746.0113.00.989463.350.4311.471white
715.10.260.346.40.03426.099.00.994493.230.419.260white
725.10.290.288.30.02627.0107.00.993083.360.3711.060white
735.10.290.288.30.02627.0107.00.993083.360.3711.060white
745.10.30.32.30.04840.0150.00.989443.290.4612.260white
755.10.3050.131.750.03617.073.00.993.40.5112.333333333333350white
765.10.310.30.90.03728.0152.00.9923.540.5610.160white
775.10.330.221.60.02718.089.00.98933.510.3812.571white
785.10.330.221.60.02718.089.00.98933.510.3812.571white
795.10.330.221.60.02718.089.00.98933.510.3812.571white
805.10.330.276.70.02244.0129.00.992213.360.3911.071white
815.10.350.266.80.03436.0120.00.991883.380.411.560white
825.10.350.266.80.03436.0120.00.991883.380.411.560white
835.10.350.266.80.03436.0120.00.991883.380.411.560white
845.10.390.211.70.02715.072.00.98943.50.4512.560white
855.10.420.01.80.04418.088.00.991573.680.7313.671red
865.10.420.011.50.01725.0102.00.98943.380.3612.371white
875.10.470.021.30.03418.044.00.99213.90.6212.860red
885.10.510.182.10.04216.0101.00.99243.460.8712.971red
895.10.520.062.70.05230.079.00.99323.320.439.350white
905.10.5850.01.70.04414.086.00.992643.560.9412.971red
915.20.1550.331.60.02813.059.00.989753.30.8411.981white
925.20.1550.331.60.02813.059.00.989753.30.8411.981white
935.20.160.340.80.02926.077.00.991553.250.5110.160white
945.20.170.270.70.0311.068.00.992183.30.419.850white
955.20.1850.221.00.0347.0123.00.992183.550.4410.1560white
965.20.20.273.20.04716.093.00.992353.440.5310.171white
975.20.210.311.70.04817.061.00.989533.240.3712.071white
985.20.220.466.20.06641.0187.00.993623.190.429.7333333333333350white
995.20.240.157.10.04332.0134.00.993783.240.489.960white
1005.20.240.453.80.02721.0128.00.9923.550.4911.281white
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.99479| 0.48956 
 0.99607| 0.79613 
 0.99724| 1.78250 
 0.99509| 0.59087 
 0.99347| 0.37929 
 0.99735| 1.18111 
 0.99565| 0.68962 
 0.99583| 0.94419 


=======
metrics
=======
Evaluation metrics:
     Total Sum of Squares: 143.90056
     Within-Cluster Sum of Squares: 
         Cluster 0: 2.3791909
         Cluster 1: 0.45958812
         Cluster 2: 0.28515756
         Cluster 3: 1.0792951
         Cluster 4: 2.5196548
         Cluster 5: 0.29426128
         Cluster 6: 0.47582495
         Cluster 7: 0.31416028
     Total Within-Cluster Sum of Squares: 7.807133
     Between-Cluster Sum of Squares: 136.09343
     Between-Cluster SS / Total SS: 94.57%
 Number of iterations performed: 23
 Converged: True
 Call:
kmeans('"public"."_verticapy_tmp_kmeans_v_demo_6f71fbac55a311ef880f0242ac120002_"', '"public"."_verticapy_tmp_view_v_demo_6f7e7a5855a311ef880f0242ac120002_"', '"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
13.80.310.0211.10.03620.0114.00.992483.750.4412.460white0
23.90.2250.44.20.0329.0118.00.9893.570.3612.881white4
34.20.170.361.80.02993.0161.00.989993.650.8912.071white7
44.20.2150.235.10.04164.0157.00.996883.420.448.030white0
54.40.320.394.30.0331.0127.00.989043.460.3612.881white4
64.40.460.12.80.02431.0111.00.988163.480.3413.160white4
74.40.540.095.10.03852.097.00.990223.410.412.271white4
84.50.190.210.950.03389.0159.00.993323.340.428.050white4
94.60.4450.01.40.05311.0178.00.994263.790.5510.250white3
104.60.520.152.10.0548.065.00.99343.90.5613.140red3
114.70.1450.291.00.04235.090.00.99083.760.4911.360white0
124.70.3350.141.30.03669.0168.00.992123.470.4610.550white0
134.70.4550.181.90.03633.0106.00.987463.210.8314.071white1
144.70.60.172.30.05817.0106.00.99323.850.612.960red3
154.70.670.091.00.025.09.00.987223.30.3413.650white4
164.70.7850.03.40.03623.0134.00.989813.530.9213.860white7
174.80.130.321.20.04240.098.00.98983.420.6411.871white3
184.80.170.282.90.0322.0111.00.99023.380.3411.371white4
194.80.210.2110.20.03717.0112.00.993243.660.4812.271white0
204.80.2250.381.20.07447.0130.00.991323.310.410.360white4
214.80.260.2310.60.03423.0111.00.992743.460.2811.571white4
224.80.290.231.10.04438.0180.00.989243.280.3411.960white4
234.80.330.06.50.02834.0163.00.99373.350.619.950white3
244.80.340.06.50.02833.0163.00.99393.360.619.960white3
254.80.650.121.10.0134.010.00.992463.320.3613.540white4
264.90.2350.2711.750.0334.0118.00.99543.070.59.460white0
274.90.330.311.20.01639.0150.00.987133.330.5914.081white3
284.90.3350.141.30.03669.0168.00.992123.470.4610.466666666666750white0
294.90.3350.141.30.03669.0168.00.992123.470.4610.466666666666750white0
304.90.3450.341.00.06832.0143.00.991383.240.410.150white4
314.90.3450.341.00.06832.0143.00.991383.240.410.150white4
324.90.420.02.10.04816.042.00.991543.710.7414.071red6
334.90.470.171.90.03560.0148.00.989643.270.3511.560white4
345.00.170.561.50.02624.0115.00.99063.480.3910.871white4
355.00.20.41.90.01520.098.00.98973.370.5512.0560white3
365.00.2350.2711.750.0334.0118.00.99543.070.59.460white0
375.00.240.195.00.04317.0101.00.994383.670.5710.050white3
385.00.240.212.20.03931.0100.00.990983.690.6211.760white3
395.00.240.341.10.03449.0158.00.987743.320.3213.171white4
405.00.2550.222.70.04346.0153.00.992383.750.7611.360white1
415.00.270.324.50.03258.0178.00.989563.450.3112.671white4
425.00.270.324.50.03258.0178.00.989563.450.3112.671white4
435.00.270.41.20.07642.0124.00.992043.320.4710.160white0
445.00.290.545.70.03554.0155.00.989763.270.3412.981white4
455.00.30.333.70.0354.0173.00.98873.360.313.071white4
465.00.310.06.40.04643.0166.00.9943.30.639.960white3
475.00.330.161.50.04910.097.00.99173.480.4410.760white0
485.00.330.161.50.04910.097.00.99173.480.4410.760white0
495.00.330.161.50.04910.097.00.99173.480.4410.760white0
505.00.330.184.60.03240.0124.00.991143.180.411.060white4
515.00.330.2311.80.0323.0158.00.993223.410.6411.860white3
525.00.350.257.80.03124.0116.00.992413.390.411.360white4
535.00.350.257.80.03124.0116.00.992413.390.411.360white4
545.00.380.011.60.04826.060.00.990843.70.7514.060red1
555.00.40.54.30.04629.080.00.99023.490.6613.660red6
565.00.420.242.00.0619.050.00.99173.720.7414.081red6
575.00.440.0418.60.03938.0128.00.99853.370.5710.260white3
585.00.4550.181.90.03633.0106.00.987463.210.8314.071white1
595.00.550.148.30.03235.0164.00.99183.530.5112.581white0
605.00.610.121.30.00965.0100.00.98743.260.3713.550white4
615.00.740.01.20.04116.046.00.992584.010.5912.560red3
625.01.020.041.40.04541.085.00.99383.750.4810.540red0
635.01.040.241.60.0532.096.00.99343.740.6211.550red3
645.10.110.321.60.02812.090.00.990083.570.5212.260white0
655.10.140.250.70.03915.089.00.99193.220.439.260white4
665.10.1650.225.70.04742.0146.00.99343.180.559.960white3
675.10.210.281.40.04748.0148.00.991683.50.4910.450white0
685.10.230.181.00.05313.099.00.989563.220.3911.550white4
695.10.250.361.30.03540.078.00.98913.230.6412.171white3
705.10.260.331.10.02746.0113.00.989463.350.4311.471white4
715.10.260.346.40.03426.099.00.994493.230.419.260white4
725.10.290.288.30.02627.0107.00.993083.360.3711.060white4
735.10.290.288.30.02627.0107.00.993083.360.3711.060white4
745.10.30.32.30.04840.0150.00.989443.290.4612.260white0
755.10.3050.131.750.03617.073.00.993.40.5112.333333333333350white0
765.10.310.30.90.03728.0152.00.9923.540.5610.160white3
775.10.330.221.60.02718.089.00.98933.510.3812.571white4
785.10.330.221.60.02718.089.00.98933.510.3812.571white4
795.10.330.221.60.02718.089.00.98933.510.3812.571white4
805.10.330.276.70.02244.0129.00.992213.360.3911.071white4
815.10.350.266.80.03436.0120.00.991883.380.411.560white4
825.10.350.266.80.03436.0120.00.991883.380.411.560white4
835.10.350.266.80.03436.0120.00.991883.380.411.560white4
845.10.390.211.70.02715.072.00.98943.50.4512.560white0
855.10.420.01.80.04418.088.00.991573.680.7313.671red6
865.10.420.011.50.01725.0102.00.98943.380.3612.371white4
875.10.470.021.30.03418.044.00.99213.90.6212.860red3
885.10.510.182.10.04216.0101.00.99243.460.8712.971red1
895.10.520.062.70.05230.079.00.99323.320.439.350white4
905.10.5850.01.70.04414.086.00.992643.560.9412.971red7
915.20.1550.331.60.02813.059.00.989753.30.8411.981white1
925.20.1550.331.60.02813.059.00.989753.30.8411.981white1
935.20.160.340.80.02926.077.00.991553.250.5110.160white0
945.20.170.270.70.0311.068.00.992183.30.419.850white4
955.20.1850.221.00.0347.0123.00.992183.550.4410.1560white0
965.20.20.273.20.04716.093.00.992353.440.5310.171white0
975.20.210.311.70.04817.061.00.989533.240.3712.071white4
985.20.220.466.20.06641.0187.00.993623.190.429.7333333333333350white4
995.20.240.157.10.04332.0134.00.993783.240.489.960white0
1005.20.240.453.80.02721.0128.00.9923.550.4911.281white0
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.