test_multiple_classification.py
1 import pandas as pd 2 3 from evidently import BinaryClassification 4 from evidently import DataDefinition 5 from evidently import Dataset 6 from evidently import Report 7 from evidently.presets import ClassificationQuality 8 9 10 def test_multiple_classification(): 11 data = pd.DataFrame( 12 data={ 13 "a1": ["a", "b", "a", "b"], 14 "predict1": ["a", "b", "a", "b"], 15 "predict2": [0.1, 0.7, 0.1, 0.8], 16 "predict3": [0.8, 0.7, 0.1, 0.8], 17 } 18 ) 19 20 report = Report( 21 [ClassificationQuality("c1")], 22 ) 23 24 dataset = Dataset.from_pandas( 25 data, 26 DataDefinition( 27 classification=[ 28 BinaryClassification(name="c1", target="a1", prediction_labels="predict1", pos_label="b"), 29 BinaryClassification(name="c2", target="a1", prediction_labels="predict2", pos_label="b"), 30 BinaryClassification(name="c3", target="a1", prediction_labels="predict3", pos_label="b"), 31 ] 32 ), 33 ) 34 run1 = report.run(dataset) 35 36 run2 = Report([ClassificationQuality("c3")]).run(dataset) 37 run3 = Report([ClassificationQuality("c1"), ClassificationQuality("c3")]).run(dataset) 38 39 assert run1.dict()["metrics"] + run2.dict()["metrics"] == run3.dict()["metrics"]