Loading...

verticapy.machine_learning.vertica.ensemble.IsolationForest.predict

IsolationForest.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, cutoff: Annotated[int | float | Decimal, 'Python Numbers'] = 0.7, contamination: Annotated[int | float | Decimal, 'Python Numbers'] | None = None, inplace: bool = True) → vDataFrame

Predicts using the input relation.

Parameters

vdf: SQLRelation

Object to use for the prediction. You can specify a customized relation if it is enclosed with an alias. For example, (SELECT 1) x is valid, whereas (SELECT 1) and SELECT 1 are invalid.

X: list, optional

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

name: str, optional

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

cutoff: PythonNumber, optional

float in the range (0.0, 1.0), specifies the threshold that determines if a data point is an anomaly. If the anomaly_score for a data point is greater than or equal to the cutfoff, the data point is marked as an anomaly.

contamination: PythonNumber, optional

float in the range (0, 1), the approximate ratio of data points in the training data that should be labeled as anomalous. If this parameter is specified, the cutoff parameter is ignored.

inplace: bool, optional

If True, the prediction is added to the vDataFrame.

Returns

vDataFrame

the input object.

Examples

We import verticapy:

import verticapy as vp

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

We import the IsolationForest model:

from verticapy.machine_learning.vertica import IsolationForest

Then we can create the model:

model = IsolationForest(
    n_estimators = 10,
    max_depth = 3,
    nbins = 6,
)

We can now fit the model:

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


===========
call_string
===========
SELECT iforest('"public"."_verticapy_tmp_isolationforest_v_mldb_f299371c979711efa8720242ac120002_"', '"public"."_verticapy_tmp_view_v_mldb_f2cb47e8979711efa8720242ac120002_"', '"density", "sulphates"' USING PARAMETERS exclude_columns='', ntree=10, sampling_size=0.632, col_sample_by_tree=1, max_depth=3, nbins=6);

=======
details
=======
predictor|      type      
---------+----------------
 density |float or numeric
sulphates|float or numeric


===============
Additional Info
===============
       Name       |Value
------------------+-----
    tree_count    | 10  
rejected_row_count|  0  
accepted_row_count|6497 

Prediction is straight-forward:

model.predict(data, ["density", "sulphates"])
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
Integer
14.40.320.394.30.0331.0127.00.989043.460.3612.881white
24.40.460.12.80.02431.0111.00.988163.480.3413.160white
34.40.540.095.10.03852.097.00.990223.410.412.271white
44.70.60.172.30.05817.0106.00.99323.850.612.960red
54.70.670.091.00.025.09.00.987223.30.3413.650white
64.80.330.06.50.02834.0163.00.99373.350.619.950white
74.80.340.06.50.02833.0163.00.99393.360.619.960white
84.90.470.171.90.03560.0148.00.989643.270.3511.560white
95.00.270.324.50.03258.0178.00.989563.450.3112.671white
105.00.270.324.50.03258.0178.00.989563.450.3112.671white
115.00.290.545.70.03554.0155.00.989763.270.3412.981white
125.00.330.184.60.03240.0124.00.991143.180.411.060white
135.00.380.011.60.04826.060.00.990843.70.7514.060red
145.00.550.148.30.03235.0164.00.99183.530.5112.581white
155.00.610.121.30.00965.0100.00.98743.260.3713.550white
165.10.210.281.40.04748.0148.00.991683.50.4910.450white
175.10.230.181.00.05313.099.00.989563.220.3911.550white
185.10.250.361.30.03540.078.00.98913.230.6412.171white
195.10.260.346.40.03426.099.00.994493.230.419.260white
205.10.350.266.80.03436.0120.00.991883.380.411.560white
215.10.350.266.80.03436.0120.00.991883.380.411.560white
225.10.350.266.80.03436.0120.00.991883.380.411.560white
235.10.470.021.30.03418.044.00.99213.90.6212.860red
245.10.5850.01.70.04414.086.00.992643.560.9412.971red
255.20.1850.221.00.0347.0123.00.992183.550.4410.1560white
265.20.240.453.80.02721.0128.00.9923.550.4911.281white
275.20.240.453.80.02721.0128.00.9923.550.4911.281white
285.20.280.291.10.02818.069.00.991683.240.5410.060white
295.20.340.01.80.0527.063.00.99163.680.7914.060red
305.20.340.01.80.0527.063.00.99163.680.7914.060red
315.20.4050.151.450.03810.044.00.991253.520.411.640white
325.20.60.077.00.04433.0147.00.99443.330.589.750white
335.20.6450.02.150.0815.028.00.994443.780.6112.560red
345.30.20.313.60.03622.091.00.992783.410.59.860white
355.30.240.331.30.03325.097.00.99063.590.3811.081white
365.30.310.3810.50.03153.0140.00.993213.340.4611.760white
375.30.310.3810.50.03153.0140.00.993213.340.4611.760white
385.30.3950.071.30.03526.0102.00.9923.50.3510.660white
395.30.430.111.10.0296.051.00.990763.510.4811.240white
405.30.580.076.90.04334.0149.00.99443.340.579.750white
415.30.5850.077.10.04434.0145.00.99453.340.579.760white
425.30.760.032.70.04327.093.00.99323.340.389.250white
435.40.180.244.80.04130.0113.00.994453.420.49.460white
445.40.2050.1612.550.05131.0115.00.995643.40.3810.860white
455.40.2550.331.20.05129.0122.00.990483.370.6611.360white
465.40.290.381.20.02931.0132.00.988953.280.3612.460white
475.40.290.381.20.02931.0132.00.988953.280.3612.460white
485.40.450.276.40.03320.0102.00.989443.220.2713.481white
495.40.50.135.00.02812.0107.00.990793.480.8813.571white
505.40.530.162.70.03634.0128.00.988563.20.5313.281white
515.40.530.162.70.03634.0128.00.988563.20.5313.281white
525.40.590.077.00.04536.0147.00.99443.340.579.760white
535.50.160.261.50.03235.0100.00.990763.430.7712.060white
545.50.190.270.90.0452.0103.00.990263.50.3911.250white
555.50.230.192.20.04439.0161.00.992093.190.4310.460white
565.50.240.328.70.0619.0102.00.9943.270.3110.450white
575.60.180.271.70.0331.0103.00.988923.350.3712.960white
585.60.180.292.30.045.047.00.991263.070.4510.140white
595.60.180.310.20.02828.0131.00.99543.490.4210.871white
605.60.180.311.50.03816.084.00.99243.340.5810.160white
615.60.1850.491.10.0328.0117.00.99183.550.4510.360white
625.60.190.261.40.0312.076.00.99053.250.3710.971white
635.60.190.270.90.0452.0103.00.990263.50.3911.250white
645.60.190.312.70.02711.0100.00.989643.460.413.271white
655.60.190.461.10.03233.0115.00.99093.360.510.460white
665.60.20.6610.20.04378.0175.00.99452.980.4310.471white
675.60.2050.1612.550.05131.0115.00.995643.40.3810.860white
685.60.2250.249.80.05459.0140.00.995453.170.3910.260white
695.60.230.258.00.04331.0101.00.994293.190.4210.460white
705.60.230.293.10.02319.089.00.990683.250.5111.260white
715.60.2350.291.20.04733.0127.00.9913.340.511.071white
725.60.270.370.90.02511.049.00.988453.290.3313.160white
735.60.280.273.90.04352.0158.00.992023.350.4410.771white
745.60.290.050.80.03811.030.00.99243.360.359.250white
755.60.2950.22.20.04918.0134.00.993783.210.6810.050white
765.60.310.371.40.07412.096.00.99543.320.589.250red
775.60.330.281.20.03133.097.00.991263.490.5810.960white
785.60.340.11.30.03120.068.00.99063.360.5111.271white
795.60.340.252.50.04647.0182.00.990933.210.411.350white
805.60.390.244.70.03427.077.00.99063.280.3612.750white
815.60.410.227.10.0544.0154.00.99313.30.410.550white
825.60.460.244.80.04224.072.00.99083.290.3712.660white
835.60.50.092.30.04917.099.00.99373.630.6313.050red
845.60.50.092.30.04917.099.00.99373.630.6313.050red
855.60.6050.052.40.07319.025.00.992583.560.5512.950red
865.60.6950.066.80.0429.084.00.994323.440.4410.250white
875.70.1350.34.60.04219.0101.00.99463.310.429.360white
885.70.140.35.40.04526.0105.00.994693.320.459.350white
895.70.180.224.20.04225.0111.00.9943.350.399.450white
905.70.220.2216.650.04439.0110.00.998553.240.489.060white
915.70.220.2216.650.04439.0110.00.998553.240.489.060white
925.70.220.2216.650.04439.0110.00.998553.240.489.060white
935.70.220.2216.650.04439.0110.00.998553.240.489.060white
945.70.220.281.30.02726.0101.00.989483.350.3812.571white
955.70.2450.331.10.04928.0150.00.99273.130.429.350white
965.70.250.211.50.04421.0108.00.991423.30.5911.060white
975.70.2550.651.20.07917.0137.00.993073.20.429.450white
985.70.2550.651.20.07917.0137.00.993073.20.429.450white
995.70.280.33.90.02636.0105.00.989633.260.5812.7560white
1005.70.310.297.30.0533.0143.00.993323.310.511.066666666666760white
Rows: 1-100 | Columns: 15

Note

Refer to IsolationForest for more information about the different methods and usages.