Classification#
Classifications are ML algorithms used to predict categorical response columns. For predicting more than two categories, these are called ‘Multiclass Classifications’. Examples of classification are predicting the flower species using specific characteristics or predicting whether Telco customers will churn.
To understand how to create a classification model, let’s predict the species of flowers with the Iris dataset.
We’ll start by importing the Random Forest Classifier.
[1]:
from verticapy.learn.ensemble import RandomForestClassifier
Next, we’ll create a model object. Vertica has its own model management system, so we just need to choose a model name. This name must include the model’s schema, which is ‘public’ by default.
[2]:
model = RandomForestClassifier("RF_Iris")
Let’s use the iris dataset.
[5]:
from verticapy.datasets import load_iris
iris = load_iris()
Now that the data is loaded, we can fit the model.
[6]:
model.fit(iris, ["PetalLengthCm", "SepalLengthCm"], "Species")
[6]:
===========
call_string
===========
SELECT rf_classifier('public.RF_Iris', '"public"."_verticapy_tmp_view_dbadmin_178273_7491533984_"', '"species"', '"PetalLengthCm", "SepalLengthCm"' USING PARAMETERS exclude_columns='', ntree=10, mtry=1, sampling_size=0.632, max_depth=5, max_breadth=1000000000, min_leaf_size=1, min_info_gain=0, nbins=32);
=======
details
=======
predictor | type
-------------+----------------
petallengthcm|float or numeric
sepallengthcm|float or numeric
===============
Additional Info
===============
Name |Value
------------------+-----
tree_count | 10
rejected_row_count| 0
accepted_row_count| 150
We have many metrics to evaluate the model.
[7]:
model.report()
[7]:
Iris-setosa | Iris-versicolor | Iris-virginica | |
auc | 1.0 | 0.9960000000000002 | 0.9954000000000001 |
prc_auc | 1.0 | 0.9920263383939087 | 0.9918601369253075 |
accuracy | 1.0 | 0.98 | 0.9733333333333334 |
log_loss | 0.0143433798056646 | 0.0476212667818153 | 0.0466894193311429 |
precision | 1.0 | 0.9607843137254902 | 0.96 |
recall | 1.0 | 0.98 | 0.96 |
f1_score | 1.0 | 0.9702970297029702 | 0.96 |
mcc | 1.0 | 0.9553302944424514 | 0.94 |
informedness | 1.0 | 0.96 | 0.94 |
markedness | 1.0 | 0.9506833036244802 | 0.94 |
csi | 1.0 | 0.9423076923076923 | 0.9230769230769231 |
cutoff | 0.8 | 0.4402 | 0.4927 |
You can add the predictions to your dataset.
[8]:
model.predict(iris, name = "prediction")
[8]:
123 IdInt | 123 PetalLengthCmNumeric(6,3) | 123 PetalWidthCmNumeric(6,3) | 123 SepalLengthCmNumeric(6,3) | 123 SepalWidthCmNumeric(6,3) | Abc SpeciesVarchar(30) | Abc predictionVarchar(128) | |
1 | 1 | 1.4 | 0.2 | 5.1 | 3.5 | Iris-setosa | Iris-setosa |
2 | 2 | 1.4 | 0.2 | 4.9 | 3.0 | Iris-setosa | Iris-setosa |
3 | 3 | 1.3 | 0.2 | 4.7 | 3.2 | Iris-setosa | Iris-setosa |
4 | 4 | 1.5 | 0.2 | 4.6 | 3.1 | Iris-setosa | Iris-setosa |
5 | 5 | 1.4 | 0.2 | 5.0 | 3.6 | Iris-setosa | Iris-setosa |
6 | 6 | 1.7 | 0.4 | 5.4 | 3.9 | Iris-setosa | Iris-setosa |
7 | 7 | 1.4 | 0.3 | 4.6 | 3.4 | Iris-setosa | Iris-setosa |
8 | 8 | 1.5 | 0.2 | 5.0 | 3.4 | Iris-setosa | Iris-setosa |
9 | 9 | 1.4 | 0.2 | 4.4 | 2.9 | Iris-setosa | Iris-setosa |
10 | 10 | 1.5 | 0.1 | 4.9 | 3.1 | Iris-setosa | Iris-setosa |
11 | 11 | 1.5 | 0.2 | 5.4 | 3.7 | Iris-setosa | Iris-setosa |
12 | 12 | 1.6 | 0.2 | 4.8 | 3.4 | Iris-setosa | Iris-setosa |
13 | 13 | 1.4 | 0.1 | 4.8 | 3.0 | Iris-setosa | Iris-setosa |
14 | 14 | 1.1 | 0.1 | 4.3 | 3.0 | Iris-setosa | Iris-setosa |
15 | 15 | 1.2 | 0.2 | 5.8 | 4.0 | Iris-setosa | Iris-setosa |
16 | 16 | 1.5 | 0.4 | 5.7 | 4.4 | Iris-setosa | Iris-setosa |
17 | 17 | 1.3 | 0.4 | 5.4 | 3.9 | Iris-setosa | Iris-setosa |
18 | 18 | 1.4 | 0.3 | 5.1 | 3.5 | Iris-setosa | Iris-setosa |
19 | 19 | 1.7 | 0.3 | 5.7 | 3.8 | Iris-setosa | Iris-setosa |
20 | 20 | 1.5 | 0.3 | 5.1 | 3.8 | Iris-setosa | Iris-setosa |
21 | 21 | 1.7 | 0.2 | 5.4 | 3.4 | Iris-setosa | Iris-setosa |
22 | 22 | 1.5 | 0.4 | 5.1 | 3.7 | Iris-setosa | Iris-setosa |
23 | 23 | 1.0 | 0.2 | 4.6 | 3.6 | Iris-setosa | Iris-setosa |
24 | 24 | 1.7 | 0.5 | 5.1 | 3.3 | Iris-setosa | Iris-setosa |
25 | 25 | 1.9 | 0.2 | 4.8 | 3.4 | Iris-setosa | Iris-setosa |
26 | 26 | 1.6 | 0.2 | 5.0 | 3.0 | Iris-setosa | Iris-setosa |
27 | 27 | 1.6 | 0.4 | 5.0 | 3.4 | Iris-setosa | Iris-setosa |
28 | 28 | 1.5 | 0.2 | 5.2 | 3.5 | Iris-setosa | Iris-setosa |
29 | 29 | 1.4 | 0.2 | 5.2 | 3.4 | Iris-setosa | Iris-setosa |
30 | 30 | 1.6 | 0.2 | 4.7 | 3.2 | Iris-setosa | Iris-setosa |
31 | 31 | 1.6 | 0.2 | 4.8 | 3.1 | Iris-setosa | Iris-setosa |
32 | 32 | 1.5 | 0.4 | 5.4 | 3.4 | Iris-setosa | Iris-setosa |
33 | 33 | 1.5 | 0.1 | 5.2 | 4.1 | Iris-setosa | Iris-setosa |
34 | 34 | 1.4 | 0.2 | 5.5 | 4.2 | Iris-setosa | Iris-setosa |
35 | 35 | 1.5 | 0.1 | 4.9 | 3.1 | Iris-setosa | Iris-setosa |
36 | 36 | 1.2 | 0.2 | 5.0 | 3.2 | Iris-setosa | Iris-setosa |
37 | 37 | 1.3 | 0.2 | 5.5 | 3.5 | Iris-setosa | Iris-setosa |
38 | 38 | 1.5 | 0.1 | 4.9 | 3.1 | Iris-setosa | Iris-setosa |
39 | 39 | 1.3 | 0.2 | 4.4 | 3.0 | Iris-setosa | Iris-setosa |
40 | 40 | 1.5 | 0.2 | 5.1 | 3.4 | Iris-setosa | Iris-setosa |
41 | 41 | 1.3 | 0.3 | 5.0 | 3.5 | Iris-setosa | Iris-setosa |
42 | 42 | 1.3 | 0.3 | 4.5 | 2.3 | Iris-setosa | Iris-setosa |
43 | 43 | 1.3 | 0.2 | 4.4 | 3.2 | Iris-setosa | Iris-setosa |
44 | 44 | 1.6 | 0.6 | 5.0 | 3.5 | Iris-setosa | Iris-setosa |
45 | 45 | 1.9 | 0.4 | 5.1 | 3.8 | Iris-setosa | Iris-setosa |
46 | 46 | 1.4 | 0.3 | 4.8 | 3.0 | Iris-setosa | Iris-setosa |
47 | 47 | 1.6 | 0.2 | 5.1 | 3.8 | Iris-setosa | Iris-setosa |
48 | 48 | 1.4 | 0.2 | 4.6 | 3.2 | Iris-setosa | Iris-setosa |
49 | 49 | 1.5 | 0.2 | 5.3 | 3.7 | Iris-setosa | Iris-setosa |
50 | 50 | 1.4 | 0.2 | 5.0 | 3.3 | Iris-setosa | Iris-setosa |
51 | 51 | 4.7 | 1.4 | 7.0 | 3.2 | Iris-versicolor | Iris-versicolor |
52 | 52 | 4.5 | 1.5 | 6.4 | 3.2 | Iris-versicolor | Iris-versicolor |
53 | 53 | 4.9 | 1.5 | 6.9 | 3.1 | Iris-versicolor | Iris-versicolor |
54 | 54 | 4.0 | 1.3 | 5.5 | 2.3 | Iris-versicolor | Iris-versicolor |
55 | 55 | 4.6 | 1.5 | 6.5 | 2.8 | Iris-versicolor | Iris-versicolor |
56 | 56 | 4.5 | 1.3 | 5.7 | 2.8 | Iris-versicolor | Iris-versicolor |
57 | 57 | 4.7 | 1.6 | 6.3 | 3.3 | Iris-versicolor | Iris-versicolor |
58 | 58 | 3.3 | 1.0 | 4.9 | 2.4 | Iris-versicolor | Iris-versicolor |
59 | 59 | 4.6 | 1.3 | 6.6 | 2.9 | Iris-versicolor | Iris-versicolor |
60 | 60 | 3.9 | 1.4 | 5.2 | 2.7 | Iris-versicolor | Iris-versicolor |
61 | 61 | 3.5 | 1.0 | 5.0 | 2.0 | Iris-versicolor | Iris-versicolor |
62 | 62 | 4.2 | 1.5 | 5.9 | 3.0 | Iris-versicolor | Iris-versicolor |
63 | 63 | 4.0 | 1.0 | 6.0 | 2.2 | Iris-versicolor | Iris-versicolor |
64 | 64 | 4.7 | 1.4 | 6.1 | 2.9 | Iris-versicolor | Iris-versicolor |
65 | 65 | 3.6 | 1.3 | 5.6 | 2.9 | Iris-versicolor | Iris-versicolor |
66 | 66 | 4.4 | 1.4 | 6.7 | 3.1 | Iris-versicolor | Iris-versicolor |
67 | 67 | 4.5 | 1.5 | 5.6 | 3.0 | Iris-versicolor | Iris-versicolor |
68 | 68 | 4.1 | 1.0 | 5.8 | 2.7 | Iris-versicolor | Iris-versicolor |
69 | 69 | 4.5 | 1.5 | 6.2 | 2.2 | Iris-versicolor | Iris-versicolor |
70 | 70 | 3.9 | 1.1 | 5.6 | 2.5 | Iris-versicolor | Iris-versicolor |
71 | 71 | 4.8 | 1.8 | 5.9 | 3.2 | Iris-versicolor | Iris-versicolor |
72 | 72 | 4.0 | 1.3 | 6.1 | 2.8 | Iris-versicolor | Iris-versicolor |
73 | 73 | 4.9 | 1.5 | 6.3 | 2.5 | Iris-versicolor | Iris-virginica |
74 | 74 | 4.7 | 1.2 | 6.1 | 2.8 | Iris-versicolor | Iris-versicolor |
75 | 75 | 4.3 | 1.3 | 6.4 | 2.9 | Iris-versicolor | Iris-versicolor |
76 | 76 | 4.4 | 1.4 | 6.6 | 3.0 | Iris-versicolor | Iris-versicolor |
77 | 77 | 4.8 | 1.4 | 6.8 | 2.8 | Iris-versicolor | Iris-versicolor |
78 | 78 | 5.0 | 1.7 | 6.7 | 3.0 | Iris-versicolor | Iris-versicolor |
79 | 79 | 4.5 | 1.5 | 6.0 | 2.9 | Iris-versicolor | Iris-versicolor |
80 | 80 | 3.5 | 1.0 | 5.7 | 2.6 | Iris-versicolor | Iris-versicolor |
81 | 81 | 3.8 | 1.1 | 5.5 | 2.4 | Iris-versicolor | Iris-versicolor |
82 | 82 | 3.7 | 1.0 | 5.5 | 2.4 | Iris-versicolor | Iris-versicolor |
83 | 83 | 3.9 | 1.2 | 5.8 | 2.7 | Iris-versicolor | Iris-versicolor |
84 | 84 | 5.1 | 1.6 | 6.0 | 2.7 | Iris-versicolor | Iris-virginica |
85 | 85 | 4.5 | 1.5 | 5.4 | 3.0 | Iris-versicolor | Iris-versicolor |
86 | 86 | 4.5 | 1.6 | 6.0 | 3.4 | Iris-versicolor | Iris-versicolor |
87 | 87 | 4.7 | 1.5 | 6.7 | 3.1 | Iris-versicolor | Iris-versicolor |
88 | 88 | 4.4 | 1.3 | 6.3 | 2.3 | Iris-versicolor | Iris-versicolor |
89 | 89 | 4.1 | 1.3 | 5.6 | 3.0 | Iris-versicolor | Iris-versicolor |
90 | 90 | 4.0 | 1.3 | 5.5 | 2.5 | Iris-versicolor | Iris-versicolor |
91 | 91 | 4.4 | 1.2 | 5.5 | 2.6 | Iris-versicolor | Iris-versicolor |
92 | 92 | 4.6 | 1.4 | 6.1 | 3.0 | Iris-versicolor | Iris-versicolor |
93 | 93 | 4.0 | 1.2 | 5.8 | 2.6 | Iris-versicolor | Iris-versicolor |
94 | 94 | 3.3 | 1.0 | 5.0 | 2.3 | Iris-versicolor | Iris-versicolor |
95 | 95 | 4.2 | 1.3 | 5.6 | 2.7 | Iris-versicolor | Iris-versicolor |
96 | 96 | 4.2 | 1.2 | 5.7 | 3.0 | Iris-versicolor | Iris-versicolor |
97 | 97 | 4.2 | 1.3 | 5.7 | 2.9 | Iris-versicolor | Iris-versicolor |
98 | 98 | 4.3 | 1.3 | 6.2 | 2.9 | Iris-versicolor | Iris-versicolor |
99 | 99 | 3.0 | 1.1 | 5.1 | 2.5 | Iris-versicolor | Iris-versicolor |
100 | 100 | 4.1 | 1.3 | 5.7 | 2.8 | Iris-versicolor | Iris-versicolor |
You can also add the probabilities.
[9]:
model.predict_proba(iris, name = "prob")
[9]:
123 IdInt | 123 PetalLengthCmNumeric(6,3) | 123 PetalWidthCmNumeric(6,3) | 123 SepalLengthCmNumeric(6,3) | 123 SepalWidthCmNumeric(6,3) | Abc SpeciesVarchar(30) | Abc predictionVarchar(128) | Abc prob_irissetosaVarchar(128) | Abc prob_irisversicolorVarchar(128) | Abc prob_irisvirginicaVarchar(128) | |
1 | 1 | 1.4 | 0.2 | 5.1 | 3.5 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
2 | 2 | 1.4 | 0.2 | 4.9 | 3.0 | Iris-setosa | Iris-setosa | 0.95 | 0.025 | 0.025 |
3 | 3 | 1.3 | 0.2 | 4.7 | 3.2 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
4 | 4 | 1.5 | 0.2 | 4.6 | 3.1 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
5 | 5 | 1.4 | 0.2 | 5.0 | 3.6 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
6 | 6 | 1.7 | 0.4 | 5.4 | 3.9 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
7 | 7 | 1.4 | 0.3 | 4.6 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
8 | 8 | 1.5 | 0.2 | 5.0 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
9 | 9 | 1.4 | 0.2 | 4.4 | 2.9 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
10 | 10 | 1.5 | 0.1 | 4.9 | 3.1 | Iris-setosa | Iris-setosa | 0.95 | 0.025 | 0.025 |
11 | 11 | 1.5 | 0.2 | 5.4 | 3.7 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
12 | 12 | 1.6 | 0.2 | 4.8 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
13 | 13 | 1.4 | 0.1 | 4.8 | 3.0 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
14 | 14 | 1.1 | 0.1 | 4.3 | 3.0 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
15 | 15 | 1.2 | 0.2 | 5.8 | 4.0 | Iris-setosa | Iris-setosa | 0.916667 | 0.0666667 | 0.0166667 |
16 | 16 | 1.5 | 0.4 | 5.7 | 4.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
17 | 17 | 1.3 | 0.4 | 5.4 | 3.9 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
18 | 18 | 1.4 | 0.3 | 5.1 | 3.5 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
19 | 19 | 1.7 | 0.3 | 5.7 | 3.8 | Iris-setosa | Iris-setosa | 0.8 | 0.2 | 0 |
20 | 20 | 1.5 | 0.3 | 5.1 | 3.8 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
21 | 21 | 1.7 | 0.2 | 5.4 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
22 | 22 | 1.5 | 0.4 | 5.1 | 3.7 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
23 | 23 | 1.0 | 0.2 | 4.6 | 3.6 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
24 | 24 | 1.7 | 0.5 | 5.1 | 3.3 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
25 | 25 | 1.9 | 0.2 | 4.8 | 3.4 | Iris-setosa | Iris-setosa | 0.925 | 0.05 | 0.025 |
26 | 26 | 1.6 | 0.2 | 5.0 | 3.0 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
27 | 27 | 1.6 | 0.4 | 5.0 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
28 | 28 | 1.5 | 0.2 | 5.2 | 3.5 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
29 | 29 | 1.4 | 0.2 | 5.2 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
30 | 30 | 1.6 | 0.2 | 4.7 | 3.2 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
31 | 31 | 1.6 | 0.2 | 4.8 | 3.1 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
32 | 32 | 1.5 | 0.4 | 5.4 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
33 | 33 | 1.5 | 0.1 | 5.2 | 4.1 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
34 | 34 | 1.4 | 0.2 | 5.5 | 4.2 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
35 | 35 | 1.5 | 0.1 | 4.9 | 3.1 | Iris-setosa | Iris-setosa | 0.95 | 0.025 | 0.025 |
36 | 36 | 1.2 | 0.2 | 5.0 | 3.2 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
37 | 37 | 1.3 | 0.2 | 5.5 | 3.5 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
38 | 38 | 1.5 | 0.1 | 4.9 | 3.1 | Iris-setosa | Iris-setosa | 0.95 | 0.025 | 0.025 |
39 | 39 | 1.3 | 0.2 | 4.4 | 3.0 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
40 | 40 | 1.5 | 0.2 | 5.1 | 3.4 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
41 | 41 | 1.3 | 0.3 | 5.0 | 3.5 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
42 | 42 | 1.3 | 0.3 | 4.5 | 2.3 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
43 | 43 | 1.3 | 0.2 | 4.4 | 3.2 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
44 | 44 | 1.6 | 0.6 | 5.0 | 3.5 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
45 | 45 | 1.9 | 0.4 | 5.1 | 3.8 | Iris-setosa | Iris-setosa | 0.9 | 0.1 | 0 |
46 | 46 | 1.4 | 0.3 | 4.8 | 3.0 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
47 | 47 | 1.6 | 0.2 | 5.1 | 3.8 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
48 | 48 | 1.4 | 0.2 | 4.6 | 3.2 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
49 | 49 | 1.5 | 0.2 | 5.3 | 3.7 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
50 | 50 | 1.4 | 0.2 | 5.0 | 3.3 | Iris-setosa | Iris-setosa | 1 | 0 | 0 |
51 | 51 | 4.7 | 1.4 | 7.0 | 3.2 | Iris-versicolor | Iris-versicolor | 0.00625 | 0.7875 | 0.20625 |
52 | 52 | 4.5 | 1.5 | 6.4 | 3.2 | Iris-versicolor | Iris-versicolor | 0.0309829 | 0.830983 | 0.138034 |
53 | 53 | 4.9 | 1.5 | 6.9 | 3.1 | Iris-versicolor | Iris-versicolor | 0.0837302 | 0.63373 | 0.28254 |
54 | 54 | 4.0 | 1.3 | 5.5 | 2.3 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
55 | 55 | 4.6 | 1.5 | 6.5 | 2.8 | Iris-versicolor | Iris-versicolor | 0.0309829 | 0.830983 | 0.138034 |
56 | 56 | 4.5 | 1.3 | 5.7 | 2.8 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
57 | 57 | 4.7 | 1.6 | 6.3 | 3.3 | Iris-versicolor | Iris-versicolor | 0.0463599 | 0.72761 | 0.22603 |
58 | 58 | 3.3 | 1.0 | 4.9 | 2.4 | Iris-versicolor | Iris-versicolor | 0.15 | 0.525 | 0.325 |
59 | 59 | 4.6 | 1.3 | 6.6 | 2.9 | Iris-versicolor | Iris-versicolor | 0.0194444 | 0.919444 | 0.0611111 |
60 | 60 | 3.9 | 1.4 | 5.2 | 2.7 | Iris-versicolor | Iris-versicolor | 0.1 | 0.9 | 0 |
61 | 61 | 3.5 | 1.0 | 5.0 | 2.0 | Iris-versicolor | Iris-versicolor | 0.1 | 0.9 | 0 |
62 | 62 | 4.2 | 1.5 | 5.9 | 3.0 | Iris-versicolor | Iris-versicolor | 0.0361111 | 0.927778 | 0.0361111 |
63 | 63 | 4.0 | 1.0 | 6.0 | 2.2 | Iris-versicolor | Iris-versicolor | 0.0561111 | 0.887778 | 0.0561111 |
64 | 64 | 4.7 | 1.4 | 6.1 | 2.9 | Iris-versicolor | Iris-versicolor | 0.0905662 | 0.703483 | 0.205951 |
65 | 65 | 3.6 | 1.3 | 5.6 | 2.9 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
66 | 66 | 4.4 | 1.4 | 6.7 | 3.1 | Iris-versicolor | Iris-versicolor | 0.0394444 | 0.839444 | 0.121111 |
67 | 67 | 4.5 | 1.5 | 5.6 | 3.0 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
68 | 68 | 4.1 | 1.0 | 5.8 | 2.7 | Iris-versicolor | Iris-versicolor | 0.0666667 | 0.866667 | 0.0666667 |
69 | 69 | 4.5 | 1.5 | 6.2 | 2.2 | Iris-versicolor | Iris-versicolor | 0.0426496 | 0.849316 | 0.108034 |
70 | 70 | 3.9 | 1.1 | 5.6 | 2.5 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
71 | 71 | 4.8 | 1.8 | 5.9 | 3.2 | Iris-versicolor | Iris-versicolor | 0.0840278 | 0.781944 | 0.134028 |
72 | 72 | 4.0 | 1.3 | 6.1 | 2.8 | Iris-versicolor | Iris-versicolor | 0.0426496 | 0.849316 | 0.108034 |
73 | 73 | 4.9 | 1.5 | 6.3 | 2.5 | Iris-versicolor | Iris-virginica | 0.112729 | 0.262729 | 0.624542 |
74 | 74 | 4.7 | 1.2 | 6.1 | 2.8 | Iris-versicolor | Iris-versicolor | 0.0905662 | 0.703483 | 0.205951 |
75 | 75 | 4.3 | 1.3 | 6.4 | 2.9 | Iris-versicolor | Iris-versicolor | 0.0309829 | 0.830983 | 0.138034 |
76 | 76 | 4.4 | 1.4 | 6.6 | 3.0 | Iris-versicolor | Iris-versicolor | 0.0194444 | 0.919444 | 0.0611111 |
77 | 77 | 4.8 | 1.4 | 6.8 | 2.8 | Iris-versicolor | Iris-versicolor | 0.0456944 | 0.826944 | 0.127361 |
78 | 78 | 5.0 | 1.7 | 6.7 | 3.0 | Iris-versicolor | Iris-versicolor | 0.10373 | 0.55373 | 0.34254 |
79 | 79 | 4.5 | 1.5 | 6.0 | 2.9 | Iris-versicolor | Iris-versicolor | 0.0561111 | 0.887778 | 0.0561111 |
80 | 80 | 3.5 | 1.0 | 5.7 | 2.6 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
81 | 81 | 3.8 | 1.1 | 5.5 | 2.4 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
82 | 82 | 3.7 | 1.0 | 5.5 | 2.4 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
83 | 83 | 3.9 | 1.2 | 5.8 | 2.7 | Iris-versicolor | Iris-versicolor | 0.0666667 | 0.866667 | 0.0666667 |
84 | 84 | 5.1 | 1.6 | 6.0 | 2.7 | Iris-versicolor | Iris-virginica | 0.0486111 | 0.440278 | 0.511111 |
85 | 85 | 4.5 | 1.5 | 5.4 | 3.0 | Iris-versicolor | Iris-versicolor | 0.1 | 0.8 | 0.1 |
86 | 86 | 4.5 | 1.6 | 6.0 | 3.4 | Iris-versicolor | Iris-versicolor | 0.0561111 | 0.887778 | 0.0561111 |
87 | 87 | 4.7 | 1.5 | 6.7 | 3.1 | Iris-versicolor | Iris-versicolor | 0.0456944 | 0.826944 | 0.127361 |
88 | 88 | 4.4 | 1.3 | 6.3 | 2.3 | Iris-versicolor | Iris-versicolor | 0.0401099 | 0.74011 | 0.21978 |
89 | 89 | 4.1 | 1.3 | 5.6 | 3.0 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
90 | 90 | 4.0 | 1.3 | 5.5 | 2.5 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
91 | 91 | 4.4 | 1.2 | 5.5 | 2.6 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
92 | 92 | 4.6 | 1.4 | 6.1 | 3.0 | Iris-versicolor | Iris-versicolor | 0.0426496 | 0.849316 | 0.108034 |
93 | 93 | 4.0 | 1.2 | 5.8 | 2.6 | Iris-versicolor | Iris-versicolor | 0.0666667 | 0.866667 | 0.0666667 |
94 | 94 | 3.3 | 1.0 | 5.0 | 2.3 | Iris-versicolor | Iris-versicolor | 0.1 | 0.9 | 0 |
95 | 95 | 4.2 | 1.3 | 5.6 | 2.7 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
96 | 96 | 4.2 | 1.2 | 5.7 | 3.0 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
97 | 97 | 4.2 | 1.3 | 5.7 | 2.9 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
98 | 98 | 4.3 | 1.3 | 6.2 | 2.9 | Iris-versicolor | Iris-versicolor | 0.0426496 | 0.849316 | 0.108034 |
99 | 99 | 3.0 | 1.1 | 5.1 | 2.5 | Iris-versicolor | Iris-versicolor | 0.1 | 0.9 | 0 |
100 | 100 | 4.1 | 1.3 | 5.7 | 2.8 | Iris-versicolor | Iris-versicolor | 0 | 1 | 0 |
Our example forgoes splitting the data into training and testing, which is important for real-world work. Our main goal in this lesson is to look at the metrics used to evaluate classifications. The most famous metric is accuracy: generally speaking, the closer accuracy is to 1, the better the model is. However, taking metrics at face value can lead to incorrect interpretations.
For example, let’s say our goal is to identify bank fraud. Fraudulent activity is relatively rare, so let’s say that they represent less than 1% of the data. If we were to predict that there are no frauds in the dataset, we’d end up with an accuracy of 99%. This is why ROC AUC and PRC AUC are more robust metrics.
That said, a good model is simply a model that might solve a the given problem. In that regard, any model is better than a random one.