Graph Gallery#
[2]:
import polars as pl
from pdstools import datasets
data = datasets.CDHSample()
Models By Positives#
[3]:
data.plotModelsByPositives()
Over Time#
[4]:
data.plotOverTime(query=pl.col("Channel") == "Web", by="Name")
Performance Success Rate Bubble Chart#
[5]:
data.plotPerformanceSuccessRateBubbleChart()
Predictor Binning#
[6]:
data.plotPredictorBinning(
query=(pl.col("ModelID") == "08ca1302-9fc0-57bf-9031-d4179d400493")
& pl.col("PredictorName").is_in(
[
"Customer.Age",
"Customer.AnnualIncome",
"IH.Email.Outbound.Accepted.pxLastGroupID",
]
)
,show_each=True);
Predictor Performance#
[7]:
data.plotPredictorPerformance(top_n=30)
Predictor Contribution#
[8]:
data.plotPredictorContribution()
Predictor Performance Heatmap#
[9]:
data.plotPredictorPerformanceHeatmap(top_n=20)
Proposition Success Rates#
[10]:
data.plotPropositionSuccessRates(query=pl.col("Channel") == "Web")
The predicate 'col("SuccessRate").std().is_not_nan()' in 'when->then->otherwise' is not a valid aggregation and might produce a different number of rows than the group_by operation would. This behavior is experimental and may be subject to change
Response Gain#
[11]:
data.plotResponseGain()
Score Distribution#
[12]:
data.plotScoreDistribution(show_each=True);
Tree Map#
[13]:
data.plotTreeMap()
The predicate '[([(col("Performance")) * (col("ResponseCount").cast(Float64))].sum()) / (col("ResponseCount").sum().cast(Float64))].alias("Performance_weighted").is_not_nan()' in 'when->then->otherwise' is not a valid aggregation and might produce a different number of rows than the group_by operation would. This behavior is experimental and may be subject to change