validmind 2.2.6__py3-none-any.whl → 2.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- validmind/__version__.py +1 -1
- validmind/{ai.py → ai/test_descriptions.py} +74 -82
- validmind/ai/utils.py +104 -0
- validmind/api_client.py +58 -19
- validmind/client.py +5 -5
- validmind/models/foundation.py +10 -6
- validmind/models/function.py +3 -1
- validmind/models/metadata.py +1 -1
- validmind/test_suites/__init__.py +1 -7
- validmind/test_suites/regression.py +0 -16
- validmind/test_suites/statsmodels_timeseries.py +1 -1
- validmind/tests/data_validation/ACFandPACFPlot.py +36 -27
- validmind/tests/{model_validation/statsmodels → data_validation}/ADF.py +42 -13
- validmind/tests/data_validation/BivariateScatterPlots.py +38 -41
- validmind/tests/{model_validation/statsmodels → data_validation}/DFGLSArch.py +67 -11
- validmind/tests/data_validation/HeatmapFeatureCorrelations.py +1 -1
- validmind/tests/data_validation/HighPearsonCorrelation.py +12 -3
- validmind/tests/data_validation/IsolationForestOutliers.py +2 -2
- validmind/tests/{model_validation/statsmodels → data_validation}/KPSS.py +64 -11
- validmind/tests/{model_validation/statsmodels → data_validation}/PhillipsPerronArch.py +65 -11
- validmind/tests/data_validation/ScatterPlot.py +1 -1
- validmind/tests/data_validation/SeasonalDecompose.py +12 -7
- validmind/tests/data_validation/TabularDateTimeHistograms.py +29 -33
- validmind/tests/data_validation/WOEBinPlots.py +1 -1
- validmind/tests/data_validation/WOEBinTable.py +1 -1
- validmind/tests/{model_validation/statsmodels → data_validation}/ZivotAndrewsArch.py +65 -11
- validmind/tests/data_validation/nlp/CommonWords.py +1 -1
- validmind/tests/data_validation/nlp/Hashtags.py +1 -1
- validmind/tests/data_validation/nlp/Mentions.py +1 -1
- validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +2 -1
- validmind/tests/data_validation/nlp/Punctuations.py +1 -1
- validmind/tests/data_validation/nlp/Sentiment.py +1 -1
- validmind/tests/data_validation/nlp/TextDescription.py +5 -1
- validmind/tests/data_validation/nlp/Toxicity.py +1 -1
- validmind/tests/decorator.py +1 -1
- validmind/tests/model_validation/FeaturesAUC.py +5 -3
- validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +4 -0
- validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +4 -0
- validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +4 -0
- validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +4 -0
- validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +4 -0
- validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +4 -0
- validmind/tests/model_validation/ragas/AnswerCorrectness.py +3 -3
- validmind/tests/model_validation/ragas/AnswerRelevance.py +5 -4
- validmind/tests/model_validation/ragas/AnswerSimilarity.py +5 -4
- validmind/tests/model_validation/ragas/AspectCritique.py +14 -8
- validmind/tests/model_validation/ragas/ContextEntityRecall.py +3 -4
- validmind/tests/model_validation/ragas/ContextPrecision.py +4 -5
- validmind/tests/model_validation/ragas/ContextRecall.py +3 -4
- validmind/tests/model_validation/ragas/ContextRelevancy.py +5 -4
- validmind/tests/model_validation/ragas/Faithfulness.py +6 -5
- validmind/tests/model_validation/ragas/utils.py +35 -9
- validmind/tests/model_validation/sklearn/ClusterPerformance.py +2 -2
- validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +1 -1
- validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +6 -8
- validmind/tests/model_validation/sklearn/RegressionErrors.py +1 -1
- validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py +14 -8
- validmind/tests/model_validation/sklearn/RegressionR2Square.py +1 -1
- validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +1 -1
- validmind/tests/model_validation/statsmodels/GINITable.py +1 -1
- validmind/tests/model_validation/statsmodels/JarqueBera.py +1 -1
- validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +1 -1
- validmind/tests/model_validation/statsmodels/LJungBox.py +1 -1
- validmind/tests/model_validation/statsmodels/Lilliefors.py +1 -1
- validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py +4 -0
- validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +9 -4
- validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py +2 -2
- validmind/tests/model_validation/statsmodels/RunsTest.py +1 -1
- validmind/tests/model_validation/statsmodels/ShapiroWilk.py +1 -1
- validmind/tests/prompt_validation/Bias.py +14 -11
- validmind/tests/prompt_validation/Clarity.py +14 -11
- validmind/tests/prompt_validation/Conciseness.py +14 -11
- validmind/tests/prompt_validation/Delimitation.py +14 -11
- validmind/tests/prompt_validation/NegativeInstruction.py +14 -11
- validmind/tests/prompt_validation/Robustness.py +11 -11
- validmind/tests/prompt_validation/Specificity.py +14 -11
- validmind/tests/prompt_validation/ai_powered_test.py +53 -75
- validmind/unit_metrics/composite.py +2 -1
- validmind/utils.py +4 -63
- validmind/vm_models/dataset/dataset.py +17 -3
- validmind/vm_models/dataset/utils.py +2 -2
- validmind/vm_models/model.py +1 -1
- validmind/vm_models/test/metric.py +1 -8
- validmind/vm_models/test/result_wrapper.py +2 -2
- validmind/vm_models/test/test.py +3 -0
- validmind/vm_models/test/threshold_test.py +1 -1
- validmind/vm_models/test_suite/runner.py +7 -4
- {validmind-2.2.6.dist-info → validmind-2.3.1.dist-info}/METADATA +1 -1
- {validmind-2.2.6.dist-info → validmind-2.3.1.dist-info}/RECORD +92 -101
- validmind/tests/data_validation/DefaultRatesbyRiskBandPlot.py +0 -114
- validmind/tests/data_validation/PiTCreditScoresHistogram.py +0 -150
- validmind/tests/data_validation/PiTPDHistogram.py +0 -152
- validmind/tests/model_validation/statsmodels/ADFTest.py +0 -88
- validmind/tests/model_validation/statsmodels/FeatureImportanceAndSignificance.py +0 -198
- validmind/tests/model_validation/statsmodels/PDRatingClassPlot.py +0 -151
- validmind/tests/model_validation/statsmodels/RegressionModelInsampleComparison.py +0 -146
- validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.py +0 -144
- validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py +0 -127
- validmind/tests/model_validation/statsmodels/ResidualsVisualInspection.py +0 -130
- {validmind-2.2.6.dist-info → validmind-2.3.1.dist-info}/LICENSE +0 -0
- {validmind-2.2.6.dist-info → validmind-2.3.1.dist-info}/WHEEL +0 -0
- {validmind-2.2.6.dist-info → validmind-2.3.1.dist-info}/entry_points.txt +0 -0
@@ -1,8 +1,9 @@
|
|
1
1
|
validmind/__init__.py,sha256=XqPjCbFMvEYl0cIT42EZKP7DFMYDC7KDW6syo8MGkDg,3682
|
2
|
-
validmind/__version__.py,sha256=
|
3
|
-
validmind/ai.py,sha256=
|
4
|
-
validmind/
|
5
|
-
validmind/
|
2
|
+
validmind/__version__.py,sha256=neZxeMmEfjhVZM6xetRikrBdHWt5T5ehL72ZYdPtJ-E,22
|
3
|
+
validmind/ai/test_descriptions.py,sha256=QBV8i13nKeaQPXqnnra0L_BGc6pZzVWejATUTcgKMek,9287
|
4
|
+
validmind/ai/utils.py,sha256=DtlpgcJcYS1FvdZPw5moUmYnv_guGKsxVbIRzFQ7pcg,3380
|
5
|
+
validmind/api_client.py,sha256=0IR8MpH_GxBykOs4Egz7oEKZLoOEwoli81X1oFL0DD8,16893
|
6
|
+
validmind/client.py,sha256=F5F7jYEXgssg8g9Xq_7LzdGwaBU9MtZUF6hj_5p30jU,18648
|
6
7
|
validmind/client_config.py,sha256=58L6s6-9vFWC9vkSs_98CjV1YWmlksdhblJtPQxQsAk,1611
|
7
8
|
validmind/datasets/__init__.py,sha256=oYfcvW7BAyUgpghBOnTeGbQF6tpFAWg38rRirdLr8m8,262
|
8
9
|
validmind/datasets/classification/__init__.py,sha256=HlTOBLyb6IorRYmAhP3AIyX-l-NyemyDjV8BBOdrCrY,1787
|
@@ -61,30 +62,31 @@ validmind/html_templates/content_blocks.py,sha256=AHQ5MlhR1JYldel7soo5ztpTJJ5-kY
|
|
61
62
|
validmind/input_registry.py,sha256=zexO3x-vncaoWvQ6VfkvgDLn6x72e2BNel_jCbrVHSE,793
|
62
63
|
validmind/logging.py,sha256=J1Y1dYCH1dtkoYCHoXMOQH_B7EO4fJytWRDrDqZZz8U,5204
|
63
64
|
validmind/models/__init__.py,sha256=lraTbNwoKckXNP3Dbyj-euI78UTkZ_w5wpUOb8l5nWs,729
|
64
|
-
validmind/models/foundation.py,sha256=
|
65
|
-
validmind/models/function.py,sha256=
|
65
|
+
validmind/models/foundation.py,sha256=ZdVmwwRVbjgqMyfjguyf9Lka_KcgJnDD7ho8zv0gQok,1842
|
66
|
+
validmind/models/function.py,sha256=xLNtgzRiCfF4jrIedHrX1lmCR-92fB3fVDzLS7el4SM,1785
|
66
67
|
validmind/models/huggingface.py,sha256=oDB32iwP_FQ_ZtZgAC5iBPG4suPaSF-J6317TM8Ob2g,2304
|
67
|
-
validmind/models/metadata.py,sha256=
|
68
|
+
validmind/models/metadata.py,sha256=PMcdYuACkSPvuG8io5BhZeMwclQr_q79mXbvd1SC-7I,1665
|
68
69
|
validmind/models/pipeline.py,sha256=nSskKWxaS4SGmx_B0IAvS5ogDZyh6tdx_aUkyxSXt88,2051
|
69
70
|
validmind/models/pytorch.py,sha256=aAEUWtISwLh-PMvHkcLwBEbBStAByt4J-NpK-Ndv38E,1826
|
70
71
|
validmind/models/r_model.py,sha256=eYdpCREgBpYv-PxJDuG91I77OOAx3-43FoaYT560ziE,7172
|
71
72
|
validmind/models/sklearn.py,sha256=lOCJlP2wvd5IJHtBS1XG9FXrtIvO_f8xm2Qp1UdsiBw,2406
|
72
73
|
validmind/template.py,sha256=d5I8TjX8Sh5CJPWo_zezMfyvnh7OXo07VV8iKXxlk9E,7184
|
73
|
-
validmind/test_suites/__init__.py,sha256=
|
74
|
+
validmind/test_suites/__init__.py,sha256=dh6fYH10XmrJ3gL6MPK4Vj67nU7fpl9vNOIYbsu1MnI,7141
|
74
75
|
validmind/test_suites/classifier.py,sha256=0ZE3z5X_ZewTvmwQ3cVGJQh7dPgg0IlqcQshJJxCFWQ,4003
|
75
76
|
validmind/test_suites/cluster.py,sha256=Wc2NViwivjiuiJMwrnGbOJYeZ3ApN8usWlOPYZYWAgE,2276
|
76
77
|
validmind/test_suites/embeddings.py,sha256=sBQRMjlp7kzsvPkA0qkgmAr4yzUrHMmXSEfSHMkn-_s,1949
|
77
78
|
validmind/test_suites/llm.py,sha256=SqHGBBoJsQ53RQtVhRB9j9ImN7NRRcgoSUW8uQgbLKs,2026
|
78
79
|
validmind/test_suites/nlp.py,sha256=KiHOoItyLMuRzdjcnJ2rdqOI1Ty47zklG_vJZrDsHxQ,1344
|
79
80
|
validmind/test_suites/parameters_optimization.py,sha256=mYVk8eVQneW5oRUuWztYv2NrV7S_5j_9O6S8v5xLEaQ,731
|
80
|
-
validmind/test_suites/regression.py,sha256=
|
81
|
-
validmind/test_suites/statsmodels_timeseries.py,sha256=
|
81
|
+
validmind/test_suites/regression.py,sha256=knVRJGW5k91CpfNJHjLdkjItSUVg-LBwqMEYcYD7jGM,1915
|
82
|
+
validmind/test_suites/statsmodels_timeseries.py,sha256=iCmhp8nZffw9M_lSpSs4jGyZD9uhrTBdC8AOd10iwjU,963
|
82
83
|
validmind/test_suites/summarization.py,sha256=unEpfk8_etLMuYAtSmBzlqrUpo0kd9Vc3S8MBe4pd6E,695
|
83
84
|
validmind/test_suites/tabular_datasets.py,sha256=WE4eLzRCfiqAxRqXnZFRR3Lo_u-TI6KM6hmTbR8rg5o,1798
|
84
85
|
validmind/test_suites/text_data.py,sha256=YGVGBB05356jN9Gzcy5CHShRzo1fm5mKsZY7YBq0cYU,739
|
85
86
|
validmind/test_suites/time_series.py,sha256=msUyYySAe5VHJJp6z0k0cNt2ekMB8-XkxGER75Zs1hs,6724
|
86
87
|
validmind/tests/__init__.py,sha256=n22VyCpZD3xEHkJI2-sb5cSK-fNanL2v6b1uZIav0fc,15921
|
87
|
-
validmind/tests/data_validation/ACFandPACFPlot.py,sha256=
|
88
|
+
validmind/tests/data_validation/ACFandPACFPlot.py,sha256=BMXcVZxrZ09xzw0TZtUM81Mss6q2eQg6md5uEfpGu_8,4960
|
89
|
+
validmind/tests/data_validation/ADF.py,sha256=WEFDUdDJlkvDPcLTFAa9RXwMSv_JD-Y-CN-F3xRGBtc,5177
|
88
90
|
validmind/tests/data_validation/ANOVAOneWayTable.py,sha256=udizp4rxW4VlMaXK2RrkPK5tAUgO0C-A3MIifPjBZMw,6019
|
89
91
|
validmind/tests/data_validation/AutoAR.py,sha256=kulDh8i7p7CjenVvXS54kfZe53M-eXzQ7aHZylnA06M,6676
|
90
92
|
validmind/tests/data_validation/AutoMA.py,sha256=F0Dq1eAnMtM_agQ4QgzeK7bwSb2Am_2V3-ugjFJzY0A,7119
|
@@ -92,36 +94,36 @@ validmind/tests/data_validation/AutoSeasonality.py,sha256=GcCpJgXYA11cEnFl6aSpE5
|
|
92
94
|
validmind/tests/data_validation/AutoStationarity.py,sha256=cDZB8UxoDVq8zj3hNMkHmQnvW0sXTt3WexER5H9QVQA,7902
|
93
95
|
validmind/tests/data_validation/BivariateFeaturesBarPlots.py,sha256=CccBHTjsL2swmGoxpcCtpY_264YwFCO-rZOSqcaMJ_8,5974
|
94
96
|
validmind/tests/data_validation/BivariateHistograms.py,sha256=2GWca2OynF1FVYkDE8yTt_qqcdJeG2we21TbxPcLcx4,5018
|
95
|
-
validmind/tests/data_validation/BivariateScatterPlots.py,sha256=
|
97
|
+
validmind/tests/data_validation/BivariateScatterPlots.py,sha256=46p64fnqj8zuS1Q66mhgbWe-qFu_vY-46ZM9gnhFlyw,5059
|
96
98
|
validmind/tests/data_validation/ChiSquaredFeaturesTable.py,sha256=qKzMADz_jnEMrNx3BhLp8e1CVtD5pSnkLZptMw0ajpg,6041
|
97
99
|
validmind/tests/data_validation/ClassImbalance.py,sha256=TkI67YUu1DdnRxup-sTo3h6aNS-2ww3LPFxMHnOwAHA,6922
|
100
|
+
validmind/tests/data_validation/DFGLSArch.py,sha256=JTxIP79S2sERAba9jwXrvwZd2O2OWYQ4xFlKXlro8TU,5405
|
98
101
|
validmind/tests/data_validation/DatasetDescription.py,sha256=2ez3MyPhkgvJVXDctADQAayltZzfJAiP5Psv6XgxVuU,11401
|
99
102
|
validmind/tests/data_validation/DatasetSplit.py,sha256=JwhIIkxbTwsHAGyJfe1frVYybnd4290DoL6TXO_1Bbs,5127
|
100
|
-
validmind/tests/data_validation/DefaultRatesbyRiskBandPlot.py,sha256=lrVeFrw4rRND7sO2kpv0RHxks9xHQBqkNfz-IN0xw_0,4861
|
101
103
|
validmind/tests/data_validation/DescriptiveStatistics.py,sha256=bQIrHirCrsojciBLeHp5ibAeCpQrMs6wUQ5lW6sWOjQ,6373
|
102
104
|
validmind/tests/data_validation/Duplicates.py,sha256=la6O0Mf2cctT91C3M3lscJ7Jh9u17mkviRDQZ6t9FtM,5632
|
103
105
|
validmind/tests/data_validation/EngleGrangerCoint.py,sha256=Rz8BaptMo79JS8XGrnCGnrMmZo994HBmVGKJCvBqfH0,5580
|
104
106
|
validmind/tests/data_validation/FeatureTargetCorrelationPlot.py,sha256=wfYhyK-hhUHGxfWDAUqoorY2EXbDeLCbroPMi14vkzs,5036
|
105
|
-
validmind/tests/data_validation/HeatmapFeatureCorrelations.py,sha256=
|
107
|
+
validmind/tests/data_validation/HeatmapFeatureCorrelations.py,sha256=vUOUN0FKP4gQJF8ZWt-xpwgQkzUpYccMCIMp3bxqMsI,5711
|
106
108
|
validmind/tests/data_validation/HighCardinality.py,sha256=4cjBNoWYUHVhl3TuRLrBa6tZ4AWJAOLgIjtk3JnrEZ4,5111
|
107
|
-
validmind/tests/data_validation/HighPearsonCorrelation.py,sha256=
|
109
|
+
validmind/tests/data_validation/HighPearsonCorrelation.py,sha256=si_CrnG8ZyxCxyhstZ0ATQTxEHVD1hPpT5vY5jPQWbE,5742
|
108
110
|
validmind/tests/data_validation/IQROutliersBarPlot.py,sha256=_O9GXF1hCafLDX6_PjRj7TubRdgs39_N4qk9F6-SHBM,6350
|
109
111
|
validmind/tests/data_validation/IQROutliersTable.py,sha256=GQ0rfkbnfaLIG-hwm-2_Gl4kHqljxwSZCcDDKgNlnHU,5888
|
110
|
-
validmind/tests/data_validation/IsolationForestOutliers.py,sha256=
|
112
|
+
validmind/tests/data_validation/IsolationForestOutliers.py,sha256=KDXrkOt2J_aQv0KVlbF2bdluNEit4IlOXoDupBOZp0g,4881
|
113
|
+
validmind/tests/data_validation/KPSS.py,sha256=3vX9iSpJo_c4mbmcIXGRu3IrCLPcILejhIONxpCMV8Q,5178
|
111
114
|
validmind/tests/data_validation/LaggedCorrelationHeatmap.py,sha256=iAbdO4AcYoB4dFnoREkR6NewJkgx6ISZVf-8iHAvFgY,6048
|
112
115
|
validmind/tests/data_validation/MissingValues.py,sha256=gvLTy5DiBqp0VemOhVEUq3BsrJ3FTIIsK_CPxKfjW6A,4292
|
113
116
|
validmind/tests/data_validation/MissingValuesBarPlot.py,sha256=bTfMCab8gK0VXF1EZ18pTguZkFdfo1ZHhz2hmkFAyG4,6226
|
114
117
|
validmind/tests/data_validation/MissingValuesRisk.py,sha256=GzsGHFL-qMQxuqdu62SF4O5r8UDoUN5xv_b8drR-Afc,4110
|
115
118
|
validmind/tests/data_validation/PearsonCorrelationMatrix.py,sha256=dM6M8jjGHNL9umM1vcKwG5bP3BIW8Psle-_0naKg6iE,4747
|
116
|
-
validmind/tests/data_validation/
|
117
|
-
validmind/tests/data_validation/PiTPDHistogram.py,sha256=d37gdsUle_m7rzJEgvR735P7hZdzz2ly5YA1huwMbgc,5950
|
119
|
+
validmind/tests/data_validation/PhillipsPerronArch.py,sha256=ft4ZbeKsM_8WAvdWHou0AZGXFUc4RWiMdOvn1pMXmr4,5075
|
118
120
|
validmind/tests/data_validation/RollingStatsPlot.py,sha256=MqKooEL1cIRandoSN7sWhKgXDhdbIbCcBTVvc-FIp5k,5901
|
119
|
-
validmind/tests/data_validation/ScatterPlot.py,sha256=
|
120
|
-
validmind/tests/data_validation/SeasonalDecompose.py,sha256=
|
121
|
+
validmind/tests/data_validation/ScatterPlot.py,sha256=5mCr37aD92DUSn82BR7AWdx6-RdJqhjWZPhPcpIexGU,4346
|
122
|
+
validmind/tests/data_validation/SeasonalDecompose.py,sha256=f-rvT_ahhiQooQuFt0bL4FXUjVUofhNizw2wauKPL2s,9026
|
121
123
|
validmind/tests/data_validation/Skewness.py,sha256=lygUUQomckvdX5__JGOn6Rx0kJRfyw-0gZOjqqN9Phk,4935
|
122
124
|
validmind/tests/data_validation/SpreadPlot.py,sha256=3FMhokxIexGzRoIlRElkkgpQRRdvnlyx0-tt8aK-wDY,4591
|
123
125
|
validmind/tests/data_validation/TabularCategoricalBarPlots.py,sha256=EM1m1v9V5N6bpaed_QYoqEFl4ipYcDEh7TbUL1B2stE,4241
|
124
|
-
validmind/tests/data_validation/TabularDateTimeHistograms.py,sha256=
|
126
|
+
validmind/tests/data_validation/TabularDateTimeHistograms.py,sha256=Dzrw77U8mbDYFH4wPBOrpyLaPLLr_FMyKUxSLPx3ob4,3987
|
125
127
|
validmind/tests/data_validation/TabularDescriptionTables.py,sha256=Hd78V0CsRR0zbA97GFHV4DuffaT-85CI3wyF3ptdXLk,9281
|
126
128
|
validmind/tests/data_validation/TabularNumericalHistograms.py,sha256=CSdQJxDht6QJRMGXoedP_1MVoem-whlcwxGGBaP3inc,4170
|
127
129
|
validmind/tests/data_validation/TargetRateBarPlots.py,sha256=7BghG2XtWw2ptmNgT-wEWb6gWwUgWIlp-LV5HtQENbM,5737
|
@@ -132,26 +134,27 @@ validmind/tests/data_validation/TimeSeriesMissingValues.py,sha256=4-b55iIMbhDETe
|
|
132
134
|
validmind/tests/data_validation/TimeSeriesOutliers.py,sha256=wwz3SZs2NUTzK5dgQlehcL5kzANj_Ov7NQPqp_qNoEA,9749
|
133
135
|
validmind/tests/data_validation/TooManyZeroValues.py,sha256=lnW0De4o2q56j1LJvoW_4CQbz4OPvPP5K3e0exCnxqc,5875
|
134
136
|
validmind/tests/data_validation/UniqueRows.py,sha256=zyZ6icTq4kRcNUT_ID95j6Ae8OpGHjrlHkR9j4_3aB8,4516
|
135
|
-
validmind/tests/data_validation/WOEBinPlots.py,sha256=
|
136
|
-
validmind/tests/data_validation/WOEBinTable.py,sha256=
|
137
|
+
validmind/tests/data_validation/WOEBinPlots.py,sha256=C3bNTRzbz3wXWoHUdoHZVmzIgMzJTAgwKtgWK2fPbSc,6946
|
138
|
+
validmind/tests/data_validation/WOEBinTable.py,sha256=XvKqFfJAMQcxU7G6dfqRBnHVUHt4S1pR5WlawDAUQJo,4710
|
139
|
+
validmind/tests/data_validation/ZivotAndrewsArch.py,sha256=gFvlpgxpjBcUWHXAz5nAWZeOBRG2JjENo-NMel7TOek,5252
|
137
140
|
validmind/tests/data_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
138
|
-
validmind/tests/data_validation/nlp/CommonWords.py,sha256=
|
139
|
-
validmind/tests/data_validation/nlp/Hashtags.py,sha256=
|
141
|
+
validmind/tests/data_validation/nlp/CommonWords.py,sha256=2GCwKA85r5qvgIa53sLQhLGTJo3SbYM9z-8ORunG910,4181
|
142
|
+
validmind/tests/data_validation/nlp/Hashtags.py,sha256=Gc5RivYEPfzJVssODSADBZdulvb8Y2uWAp2_CzXUq-o,4345
|
140
143
|
validmind/tests/data_validation/nlp/LanguageDetection.py,sha256=baexhoBN7Bj58_959KfcBBCNxgnbOADokXj-oR2Hrfc,2077
|
141
|
-
validmind/tests/data_validation/nlp/Mentions.py,sha256=
|
142
|
-
validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py,sha256=
|
143
|
-
validmind/tests/data_validation/nlp/Punctuations.py,sha256=
|
144
|
-
validmind/tests/data_validation/nlp/Sentiment.py,sha256=
|
144
|
+
validmind/tests/data_validation/nlp/Mentions.py,sha256=Wlt2ycqj5X-bbb6LTfyLi8aapyd7qCK35yDKJJF3h7o,4650
|
145
|
+
validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py,sha256=2QJZRi8jdkc7NiT5e0QjInf4A6lWeUL71dgybA5M5oA,1676
|
146
|
+
validmind/tests/data_validation/nlp/Punctuations.py,sha256=GdxOOjDs4UiDiwa8On8ZUe5JQMzUF9v1PzTXJCGd5p8,3894
|
147
|
+
validmind/tests/data_validation/nlp/Sentiment.py,sha256=boQqEK85uBmWMjtNFrMywh9RsQGFx02xlNNyv8A4Eng,1839
|
145
148
|
validmind/tests/data_validation/nlp/StopWords.py,sha256=YAwXyfoCLR8jLm7dlXknSpgUoN4JoBK3750hNByJ5FA,6131
|
146
|
-
validmind/tests/data_validation/nlp/TextDescription.py,sha256=
|
147
|
-
validmind/tests/data_validation/nlp/Toxicity.py,sha256=
|
149
|
+
validmind/tests/data_validation/nlp/TextDescription.py,sha256=AGDUpdDiAg_s6P-jAe-r-QAG5AZJltEAzdbWshCwohc,8842
|
150
|
+
validmind/tests/data_validation/nlp/Toxicity.py,sha256=5sPYUGE8NFFNJnwXiGa4hqduM0S_6f8LX0ro3FnkGes,1534
|
148
151
|
validmind/tests/data_validation/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
|
-
validmind/tests/decorator.py,sha256=
|
152
|
+
validmind/tests/decorator.py,sha256=jnOmPvx1Ang8za-Qly4xBVmOf8_aWFKAY6OM5jxkUeU,9556
|
150
153
|
validmind/tests/model_validation/BertScore.py,sha256=XJss9sqrkkkNkT44vIf6s5ID_M87PPjWJ-pN0bCTe2E,5300
|
151
154
|
validmind/tests/model_validation/BleuScore.py,sha256=UmlOsr2chqSEcOV6OtuJey9Cb3qvBD6hDOuvLg2X9_s,4925
|
152
155
|
validmind/tests/model_validation/ClusterSizeDistribution.py,sha256=IKcMBCBsasbi6i8LTqv0H6PUUsG8FXnBtc15uj209WY,4155
|
153
156
|
validmind/tests/model_validation/ContextualRecall.py,sha256=wzLjaliEG441qXvaonchJFr5pHXuPI9pOnlfo59xEAE,4976
|
154
|
-
validmind/tests/model_validation/FeaturesAUC.py,sha256=
|
157
|
+
validmind/tests/model_validation/FeaturesAUC.py,sha256=RKh3oQIyFSaU0rG4trtuPZDrC4-sIky8cVXnB2z5PYA,4733
|
155
158
|
validmind/tests/model_validation/MeteorScore.py,sha256=3YtSjdzxraFYmam03HtOhjayXScFdS5QR_9V4gD-lLI,5010
|
156
159
|
validmind/tests/model_validation/ModelMetadata.py,sha256=F9ctmlIxngkHgOlggRl0WFLilh46SlM3vYfY9zkhtYk,3733
|
157
160
|
validmind/tests/model_validation/RegardScore.py,sha256=EuR1pAgVcn99m5eWagxGgdOCHDBkB2NIzyGE9ly73z4,5206
|
@@ -161,36 +164,36 @@ validmind/tests/model_validation/TokenDisparity.py,sha256=EZlpFQH6qRWedjTQT5o4u-
|
|
161
164
|
validmind/tests/model_validation/ToxicityScore.py,sha256=nFDHU1Z8mGpJrdKE6sWxo9nOqqzne1JsYIiNFyn_gYA,5299
|
162
165
|
validmind/tests/model_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
163
166
|
validmind/tests/model_validation/embeddings/ClusterDistribution.py,sha256=8V2mE_V3S3cIBk29MB0xPqgla1mxiGJcXZ1m99ds3ck,3552
|
164
|
-
validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py,sha256=
|
167
|
+
validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py,sha256=xXM1pI-4XOLLSE-sZqQzdUryrAvql5maytFNjzMlrn4,4900
|
165
168
|
validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py,sha256=B3quw4ZCWVyhDBHbVp637JoVTpSAROJfUwY-ECLOTAo,3459
|
166
|
-
validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py,sha256=
|
169
|
+
validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py,sha256=R16Jq2BQPG4xknAmDGEbRcX8RmDb879NWazSPmB0ARo,3495
|
167
170
|
validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=hLOcJ3lGigyA2VYAQunKB8dkBzh5TORFawg8TZIlG94,4247
|
168
171
|
validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py,sha256=HxXrkp6OKfGgzuRKWzhAGXYAI8VjYIpLWg62nXHOLVw,4342
|
169
|
-
validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py,sha256=
|
170
|
-
validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py,sha256=
|
171
|
-
validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py,sha256=
|
172
|
+
validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py,sha256=UG5etgWn9Rnqts5X_1U6CTj-uDfz6VLqXdQVZ9Mu3y0,4502
|
173
|
+
validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py,sha256=ruMY1LK2LwmzwdKMcgFLeaebhEi4_kbJNpEafVCTPfw,3375
|
174
|
+
validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py,sha256=nUQU9e32RHa3Ytofi_dzId_7VSNH4bJG9I_r8VJNbFk,3893
|
172
175
|
validmind/tests/model_validation/embeddings/StabilityAnalysis.py,sha256=0ZH5zNv52lcA-k1ZohMgo6w8VUXIe1XA0WA3ORCbHtY,4579
|
173
176
|
validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py,sha256=exnaM-XHiHHflflXfJQLNGQByTBDeKwCtxBoNPKNev8,3970
|
174
177
|
validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py,sha256=N1hYFnAQKLxSpjd6ZHwi57Zdx10ssEX2Ci73rrEXTGs,5796
|
175
178
|
validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py,sha256=npnOPAoXb5FoiwQEwp_gDcbGa5xk4rYnXChTJnuGX64,4405
|
176
179
|
validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py,sha256=9dL06PRlzokEpaEQAj_12FuQnlzfQ2-__6alYfSajmU,4636
|
177
|
-
validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py,sha256=
|
178
|
-
validmind/tests/model_validation/ragas/AnswerCorrectness.py,sha256=
|
179
|
-
validmind/tests/model_validation/ragas/AnswerRelevance.py,sha256=
|
180
|
-
validmind/tests/model_validation/ragas/AnswerSimilarity.py,sha256=
|
181
|
-
validmind/tests/model_validation/ragas/AspectCritique.py,sha256=
|
182
|
-
validmind/tests/model_validation/ragas/ContextEntityRecall.py,sha256=
|
183
|
-
validmind/tests/model_validation/ragas/ContextPrecision.py,sha256=
|
184
|
-
validmind/tests/model_validation/ragas/ContextRecall.py,sha256=
|
185
|
-
validmind/tests/model_validation/ragas/ContextRelevancy.py,sha256=
|
186
|
-
validmind/tests/model_validation/ragas/Faithfulness.py,sha256=
|
187
|
-
validmind/tests/model_validation/ragas/utils.py,sha256=
|
180
|
+
validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py,sha256=jfEJjLiBhrXGmafNPI0rk3sDugDmuQ6pbpek4rF8v1k,4512
|
181
|
+
validmind/tests/model_validation/ragas/AnswerCorrectness.py,sha256=PgSxFcyWx2WAI6DsgYJQW3N5EKQgm-uCAZgm8r9Cly4,5002
|
182
|
+
validmind/tests/model_validation/ragas/AnswerRelevance.py,sha256=iIgN6CTAYs8V9sfJVhR_p6B5TQLUQ413rXYqwVP3770,4861
|
183
|
+
validmind/tests/model_validation/ragas/AnswerSimilarity.py,sha256=csCdKnjKXwIAOcc6PdAWl0IO2ttou2ihoXtU-G37hz4,4321
|
184
|
+
validmind/tests/model_validation/ragas/AspectCritique.py,sha256=Tx6dDGLPnHpPdY_93i-gu9robPOsiu1SEdqw0-rs2Ws,6043
|
185
|
+
validmind/tests/model_validation/ragas/ContextEntityRecall.py,sha256=o8zYuCESyYlTqYHzdDfrbAsFeIEPDFTUoLvCm2SuFic,4768
|
186
|
+
validmind/tests/model_validation/ragas/ContextPrecision.py,sha256=JKmz1nI1HE2tlzVIGRjwunkJ3Wmh7ITu_X3y39-sDSw,4494
|
187
|
+
validmind/tests/model_validation/ragas/ContextRecall.py,sha256=VsBtDqKbvcK12Tblfdy7RwGHTBVQ03O67wRphrTHyZE,4431
|
188
|
+
validmind/tests/model_validation/ragas/ContextRelevancy.py,sha256=lLaWSPNDQXae4jiMjDP7841pqnGvcvYqYHYIj6TL698,4019
|
189
|
+
validmind/tests/model_validation/ragas/Faithfulness.py,sha256=zIkTwX4nu78KkuMTzArx0D2HaM3EMKddakB8Bfo0Xr0,4389
|
190
|
+
validmind/tests/model_validation/ragas/utils.py,sha256=wtmY4jWF8RZCl032v0AkfpgZrS1jhnAzkrDhoWNvhEk,2952
|
188
191
|
validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py,sha256=iUt8PJd7Q-nhfDkU0siZY5Gip_uzSCqwOjpd_WBuv2I,2892
|
189
192
|
validmind/tests/model_validation/sklearn/AdjustedRandIndex.py,sha256=Mb03a6R37GagRuy269TE8ZgaMaF3vngcH3-Um6SZYmg,2767
|
190
193
|
validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=bbZkuGEm_D_zZf3hBeqjw9DrDKeKoLQiwfg2Cjd7gZY,5945
|
191
194
|
validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py,sha256=bktc1cEkayjwFd846FgkUwCXChCppcJ7XnbWLauREGo,5485
|
192
|
-
validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=
|
193
|
-
validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py,sha256
|
195
|
+
validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=kDGdMfxyf6BfcRH9BnsK6uWEgk6pwWNRIwbEoadVGjY,5360
|
196
|
+
validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py,sha256=-9Euc3ZCAFoMSsJuz9zrrQqk3GTXQHYKa3i8lYsJilI,8600
|
194
197
|
validmind/tests/model_validation/sklearn/CompletenessScore.py,sha256=Uj_hTTTqRLHDJ-pjajfuun_2Anq7W0GQpwPsAhdWq24,2559
|
195
198
|
validmind/tests/model_validation/sklearn/ConfusionMatrix.py,sha256=Bm9fsw9nD1KurbBbXf0Jph0MN7_-7GRiydiTTfDgiU4,5776
|
196
199
|
validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py,sha256=hL7hfvdeZ_jR9ktxMH9NI-hwvLsl478iQDajOXUuocM,3049
|
@@ -200,15 +203,15 @@ validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py,sha256=o5
|
|
200
203
|
validmind/tests/model_validation/sklearn/MinimumAccuracy.py,sha256=MAkVBawefPT_ST5odD3Pyqg-Jbfj1HcmNUkVGwFYcNk,5337
|
201
204
|
validmind/tests/model_validation/sklearn/MinimumF1Score.py,sha256=5QLwdsFkuT-k2QkVR6CZw3gPb6RFrgJe8VtZkqma1eg,4678
|
202
205
|
validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py,sha256=0KMdAHZOnY_PpoWSNZxmudClqQ469JV_V_vTM3FXAC8,4891
|
203
|
-
validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py,sha256=
|
206
|
+
validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py,sha256=ITimCZ0dPxomj6bSI_0g_I5ft_fWc5QDvCTKukciaRU,6196
|
204
207
|
validmind/tests/model_validation/sklearn/OverfitDiagnosis.py,sha256=BLyDWAHd7dw17QLuwy9JrvsBNPXhM8yhXWu9EeSIVgg,14075
|
205
208
|
validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py,sha256=jBRGRFjWzC3MyhNyJ_5Mv21S_ippcy63lMIZ2MQ4588,4929
|
206
209
|
validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py,sha256=5cp3E78C1OjFomqVmtYOovdoNniLVVg-jmRb9HXQ3XQ,10132
|
207
210
|
validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py,sha256=Ay0Z3NDpP0w3Tz3nPSSUhA5WZGW4EZyNmCIJga2kixQ,4436
|
208
211
|
validmind/tests/model_validation/sklearn/ROCCurve.py,sha256=gXeUoJ8Gxd4sZ_VRDICEznk8iaNyZmDpgZk2M03lVdo,5822
|
209
|
-
validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=
|
210
|
-
validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py,sha256=
|
211
|
-
validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=
|
212
|
+
validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=ozczSJX5jwEXVj-kb6BlLzoUVzNXNkFqeaoYmKfTAdM,5976
|
213
|
+
validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py,sha256=1e0Sv-pfI4sUeMDl-62X97Ai8kezcI_3gUnfZWzq3fA,5789
|
214
|
+
validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=MbVfgxiloCSd32xhlO4_QiDyo3ZTJB4Orc-G3yMltwM,4958
|
212
215
|
validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py,sha256=762ckUxewgv87Aix48gJQ532v7UEdwIUD_l5iMaQoGU,13738
|
213
216
|
validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=FwY2n65uDBz4D4fFy-Ur7G2lb9W_LcOr-HPevmwTxZk,8951
|
214
217
|
validmind/tests/model_validation/sklearn/SilhouettePlot.py,sha256=TznxbLhwybNbht6hUg4MSKxX3TI7zJp75tQH0svWon0,6237
|
@@ -216,50 +219,38 @@ validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=Gy2I6
|
|
216
219
|
validmind/tests/model_validation/sklearn/VMeasure.py,sha256=x2cdcN_Wh_hnfAsF715QgWBPbhZMi533PO-No84iEJ4,2772
|
217
220
|
validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py,sha256=82HubT8NZluBYoLS_t3n6QW3lN6YvFkCeEMR0N43tOQ,14194
|
218
221
|
validmind/tests/model_validation/sklearn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
219
|
-
validmind/tests/model_validation/statsmodels/ADF.py,sha256=97lutdezxrdsFB1rkTESx2uSp8RHPRhEhucrs2ZyR04,4042
|
220
|
-
validmind/tests/model_validation/statsmodels/ADFTest.py,sha256=pNuH0699hyI7533iuMMf2C3FiVb-TM3fSEsZuGdSGJA,4039
|
221
222
|
validmind/tests/model_validation/statsmodels/AutoARIMA.py,sha256=mb-QlmiYDaOWJNneUcgL27km3dGNaqIuP6Bw_rG4Emc,5172
|
222
223
|
validmind/tests/model_validation/statsmodels/BoxPierce.py,sha256=3xhBDYemI07MK-DKO788Vc2q-ST7sycmqr7HN1inU-E,3581
|
223
224
|
validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py,sha256=_l8aPSS_IgGypt3A3nyd3Zd54W8JRvK-t3Rvc7-LQrc,6389
|
224
|
-
validmind/tests/model_validation/statsmodels/
|
225
|
-
validmind/tests/model_validation/statsmodels/
|
226
|
-
validmind/tests/model_validation/statsmodels/
|
227
|
-
validmind/tests/model_validation/statsmodels/
|
228
|
-
validmind/tests/model_validation/statsmodels/
|
229
|
-
validmind/tests/model_validation/statsmodels/
|
230
|
-
validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py,sha256=RXsSi7FeJeUl8Q0QXvacQ8r9HR4hVtRiGPoMrRLtXjg,4371
|
231
|
-
validmind/tests/model_validation/statsmodels/LJungBox.py,sha256=PTPSW8IT5b8lHV66vQRtjbz7VWPcXCn7PGz6YOK9j0w,3309
|
232
|
-
validmind/tests/model_validation/statsmodels/Lilliefors.py,sha256=Gmxw2r4Qsa8kVE-5MCkqE3UJZdR9eGMYTvg-D7s2Mp8,3997
|
233
|
-
validmind/tests/model_validation/statsmodels/PDRatingClassPlot.py,sha256=EqsAG2vpDzBxb-0iGBKegtF25U2nuw8VlQVAWvAnXFs,6064
|
234
|
-
validmind/tests/model_validation/statsmodels/PhillipsPerronArch.py,sha256=Z1wogft3oIJHE795vNUMa1r5r-t0yLm19rJRLKmLFAA,3133
|
225
|
+
validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py,sha256=3NYheqnjfBK2xl6mCCmNiGvOhvbF3-BMUaZJ4mwAwg0,2963
|
226
|
+
validmind/tests/model_validation/statsmodels/GINITable.py,sha256=jJj731XRHaBgJuDj4lgDkJgWfJe5SPfWzGMPCw3arBM,5753
|
227
|
+
validmind/tests/model_validation/statsmodels/JarqueBera.py,sha256=2TlYLc1-jfQfDGhDDaVJjaIa0HmLgsT_AtNgzkYcaBI,3407
|
228
|
+
validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py,sha256=cBksf5Esz_wkQu6lt5ePilVWqzhomfQdjFaDM4EMDHo,4416
|
229
|
+
validmind/tests/model_validation/statsmodels/LJungBox.py,sha256=-Lh6ewdLOdBw7QN9RaE4MYeibmwlrM1A1pECTuc90to,3315
|
230
|
+
validmind/tests/model_validation/statsmodels/Lilliefors.py,sha256=h1MdmcSfcdAzO7qx9tgVuSdkl-otDzFMzWh7PE3M78M,4048
|
235
231
|
validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py,sha256=6HSzbV9oSPZg7olFtnpheTxAD7hFdPISbhOKtmU0QbY,6394
|
236
|
-
validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py,sha256=
|
237
|
-
validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py,sha256=
|
232
|
+
validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py,sha256=pZS68FHseNpdjcRUts3Bg7gUnWOFg8owvtICZyYIFUI,5834
|
233
|
+
validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py,sha256=Q9b7-h5QXB-qM0Oz4Y8dDRoYv0Jv20vyoWmrkWXt8hA,5644
|
238
234
|
validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py,sha256=-RU-HMcSWAZQKYAptVTDerkH03K2ruO-vco0DS8vSJM,6573
|
239
235
|
validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py,sha256=GfEOF5OyxQ2tMLhZutp9O4m9MzFl8xDH0IsIQBtPGTs,8321
|
240
|
-
validmind/tests/model_validation/statsmodels/RegressionModelInsampleComparison.py,sha256=un-7t9pRN4RGv4HYyUH2gVCm7EsjSi7fiotOXEFwJXA,6467
|
241
|
-
validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.py,sha256=3QPYMVJg2EEAWhrh6Cj2jHiqORJpHVC3DfdRze2Vw8s,6276
|
242
236
|
validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py,sha256=q30wFH7QRZKriVMXBmZVE2K30kjcb6zX4IVl1NHT2kA,7320
|
243
237
|
validmind/tests/model_validation/statsmodels/RegressionModelSummary.py,sha256=i4jgUn3Q-GHHXQ3RzjMt5k-scafyNoUuedk_XsuDC5E,4343
|
244
|
-
validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py,sha256
|
245
|
-
validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py,sha256=qECEzP1G1SfQA3EiBBCgDJxzMHgU5bWAIFH6hO59EbY,5436
|
238
|
+
validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py,sha256=7cl9tn5799sctCzEHNWGa_QfVII_L6H5ZoMpxjUkjzc,4549
|
246
239
|
validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py,sha256=hrWFViq7poX_G2-AwGffRQnwN9Vr42e4DfZKP-_gsRo,5044
|
247
|
-
validmind/tests/model_validation/statsmodels/
|
248
|
-
validmind/tests/model_validation/statsmodels/RunsTest.py,sha256=TJdixri2vrrA4HUUpTYveoVzr7V9lcH6CJnPTLxSqms,3684
|
240
|
+
validmind/tests/model_validation/statsmodels/RunsTest.py,sha256=56f5n9hgOkCqaWHJGV0YzLZZhxJ5a-rHTfN0YcPYmt0,3729
|
249
241
|
validmind/tests/model_validation/statsmodels/ScorecardHistogram.py,sha256=p1ab5K553oxMYVNe3R53Rh4IOJ9G7EgKmjvZY7LO2Dg,6192
|
250
|
-
validmind/tests/model_validation/statsmodels/ShapiroWilk.py,sha256=
|
251
|
-
validmind/tests/model_validation/statsmodels/ZivotAndrewsArch.py,sha256=4QrZImKZYVLKrmUgjnBTldtIqXf8-tyz9CiNqMYtj_w,3291
|
242
|
+
validmind/tests/model_validation/statsmodels/ShapiroWilk.py,sha256=wN9ggwb_N-e2qi5YTVELb5kN72wfrX3-UNWfg6SRhJQ,3288
|
252
243
|
validmind/tests/model_validation/statsmodels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
253
244
|
validmind/tests/model_validation/statsmodels/statsutils.py,sha256=s1J7lHJ4kAcp_gGI0LAsaIFxbSqPrqXanxgtDI_Kig0,495
|
254
|
-
validmind/tests/prompt_validation/Bias.py,sha256=
|
255
|
-
validmind/tests/prompt_validation/Clarity.py,sha256=
|
256
|
-
validmind/tests/prompt_validation/Conciseness.py,sha256=
|
257
|
-
validmind/tests/prompt_validation/Delimitation.py,sha256=
|
258
|
-
validmind/tests/prompt_validation/NegativeInstruction.py,sha256=
|
259
|
-
validmind/tests/prompt_validation/Robustness.py,sha256=
|
260
|
-
validmind/tests/prompt_validation/Specificity.py,sha256=
|
245
|
+
validmind/tests/prompt_validation/Bias.py,sha256=h7fC0DiVlSxtciMIJOlS_65bwWuT4soONd7YFhIVHhY,7052
|
246
|
+
validmind/tests/prompt_validation/Clarity.py,sha256=TaVmv6pP3e-b-Nr5-tiMHoQgvGoVmDQbwa8HyabL3l0,6248
|
247
|
+
validmind/tests/prompt_validation/Conciseness.py,sha256=HoUtzMAYSzScLG3crxpg6yXETG_Wpjkpj1TQAAlAoQE,5996
|
248
|
+
validmind/tests/prompt_validation/Delimitation.py,sha256=eYTq6JyEs3LJ6hienklXB5yAEhBe6-BAeBq7op5andg,5514
|
249
|
+
validmind/tests/prompt_validation/NegativeInstruction.py,sha256=PeSvEN1-sp_BrPIknIPFsJqYoTeFqmK-yunlrUwys9o,6663
|
250
|
+
validmind/tests/prompt_validation/Robustness.py,sha256=k1C0HoOiddhNU88VARZMS40tM49Cg8LfT5D8RUtub8w,6829
|
251
|
+
validmind/tests/prompt_validation/Specificity.py,sha256=cHQmRlseosTQVi4sqMtfkS6P8j6z1LZur1_EkVLw8ck,6108
|
261
252
|
validmind/tests/prompt_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
262
|
-
validmind/tests/prompt_validation/ai_powered_test.py,sha256=
|
253
|
+
validmind/tests/prompt_validation/ai_powered_test.py,sha256=7TTeIR5GotQosm7oVT8Y3KnwPB3XkVT1Fzhckpr-SgE,1963
|
263
254
|
validmind/tests/test_providers.py,sha256=1tYn_sWNqifFpOp8eNvcVyJzxBjhHV5Py4FxO8opPZA,4944
|
264
255
|
validmind/unit_metrics/__init__.py,sha256=a7oV8YRC-O6dF7ePz4E8Fqrh4ax6AWT26Y996VPView,7084
|
265
256
|
validmind/unit_metrics/classification/sklearn/Accuracy.py,sha256=2Ra_OpKceY01h1dAFCqRFAwe--K2oVbCUiYjM5AH_nQ,480
|
@@ -267,7 +258,7 @@ validmind/unit_metrics/classification/sklearn/F1.py,sha256=Uiq5sPyNpALhApTkmLUhh
|
|
267
258
|
validmind/unit_metrics/classification/sklearn/Precision.py,sha256=8zO5VDZhfT8R2VFYiV-CzsZwhsTwVAKca4nhD-qALLw,458
|
268
259
|
validmind/unit_metrics/classification/sklearn/ROC_AUC.py,sha256=5-i1xhrLg7Ix4sk7pBKDBtlqBCNRD365LnTvsekSVYs,452
|
269
260
|
validmind/unit_metrics/classification/sklearn/Recall.py,sha256=0WG3A6K9M1UmbWQKoS_wwLfq-cXVDDTIA1ZpaJNyKp8,449
|
270
|
-
validmind/unit_metrics/composite.py,sha256=
|
261
|
+
validmind/unit_metrics/composite.py,sha256=2FRvPv028BvpisGJvyJ0RjS4P3upKB4iRfFn3DSXOBo,8005
|
271
262
|
validmind/unit_metrics/regression/GiniCoefficient.py,sha256=ebh1rOob8mEmQp0EpXcneAXjc4AIfm6O3Y0_mnTahKA,984
|
272
263
|
validmind/unit_metrics/regression/HuberLoss.py,sha256=JAUxKFpXp1NtQKEJMZlGgxDlk8pFT1tY3ZcxNQPDhHM,680
|
273
264
|
validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py,sha256=DRHuFH3DqDMy56tzkN8ETwt36FCu1m-nGxK0OJCPMDk,981
|
@@ -279,28 +270,28 @@ validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py,sha256=LCNgpDw6FB
|
|
279
270
|
validmind/unit_metrics/regression/sklearn/MeanSquaredError.py,sha256=7UQnDTTO7yRRyMe3Zac9ZyjEbbD8pW_8WnZwHdVB_8U,463
|
280
271
|
validmind/unit_metrics/regression/sklearn/RSquaredScore.py,sha256=h9U5ndtnJfNNtKPZIo5n3KRp-m4akQcEo0t1iSwjVzY,420
|
281
272
|
validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py,sha256=_5IQIU9jNfmTE4NLJvaRWXbudRGV2PS7nYF5e4fkSMY,556
|
282
|
-
validmind/utils.py,sha256=
|
273
|
+
validmind/utils.py,sha256=7eK4jGTdGGnHIKGuppmB6SHh8sdtFRRkN6QRVzwnw68,14731
|
283
274
|
validmind/vm_models/__init__.py,sha256=lmWCD2u4tW6_AH39UnJ24sCcMUcsHbUttz7SaZfrh3s,1168
|
284
275
|
validmind/vm_models/dataset/__init__.py,sha256=U4CxZjdoc0dd9u2AqBl5PJh1UVbzXWNrmundmjLF-qE,346
|
285
|
-
validmind/vm_models/dataset/dataset.py,sha256=
|
286
|
-
validmind/vm_models/dataset/utils.py,sha256=
|
276
|
+
validmind/vm_models/dataset/dataset.py,sha256=YP6l5sq7SJNExWK3RvkxeCBTLj4z2GkBsmv4KxfBS1I,22753
|
277
|
+
validmind/vm_models/dataset/utils.py,sha256=ygT6hUw0KklKCboo7tqLxh_hf-dEiaccVyCpR9DCPF8,5177
|
287
278
|
validmind/vm_models/figure.py,sha256=iSrvPcCG5sQrMkX1Fh6c5utRzaroh3bc6IlnGDOK_Eg,6651
|
288
|
-
validmind/vm_models/model.py,sha256=
|
289
|
-
validmind/vm_models/test/metric.py,sha256=
|
279
|
+
validmind/vm_models/model.py,sha256=b-UL73EWOpj-X5aQbHQ3HLkONHCH9hYwUlKxVwPC6gI,6088
|
280
|
+
validmind/vm_models/test/metric.py,sha256=nq3htPGW51D_HZCk0rDovZud6DeTUsmN0voW-zCs4c0,3230
|
290
281
|
validmind/vm_models/test/metric_result.py,sha256=Bak4GDrMlNq5NtgP5exwlPsKZgz3tWgtC6jZqtHjvqM,1987
|
291
282
|
validmind/vm_models/test/output_template.py,sha256=njqCAMyLxwadkCWhACVskyL9-psTgmUysaeeirTVAX4,1500
|
292
283
|
validmind/vm_models/test/result_summary.py,sha256=QJcIKJUeBf5wW3lyue6ctsi1jKSyoiAIfmjudGJiJtc,2028
|
293
|
-
validmind/vm_models/test/result_wrapper.py,sha256=
|
294
|
-
validmind/vm_models/test/test.py,sha256=
|
295
|
-
validmind/vm_models/test/threshold_test.py,sha256=
|
284
|
+
validmind/vm_models/test/result_wrapper.py,sha256=wBCkHg9a5Vrys98EjJG7XwWMU-0L1BkK3aufTCn9KxY,17629
|
285
|
+
validmind/vm_models/test/test.py,sha256=2arTeCZXN3ogc2ONN_RII1bw8FOdkFRwLXx5vOtoB9o,3239
|
286
|
+
validmind/vm_models/test/threshold_test.py,sha256=uN_jgnHE1MGIuL7KVvGIwmOKTIaQwTn7FvydWKh4St8,3677
|
296
287
|
validmind/vm_models/test/threshold_test_result.py,sha256=EXP-g_e3NsnpkvNgYew030qVUoY6ZTHyuuFUXaq-BuM,1954
|
297
288
|
validmind/vm_models/test_context.py,sha256=AN7-atBgOcD04MLVitCFJYooxF6_iNmvI2H4nkv32iw,9035
|
298
|
-
validmind/vm_models/test_suite/runner.py,sha256=
|
289
|
+
validmind/vm_models/test_suite/runner.py,sha256=wgjyqx2CU4bjX3fZKmzJP7gb5GFooGvsrVt93Ko8g1Y,6956
|
299
290
|
validmind/vm_models/test_suite/summary.py,sha256=co-xJJMUYGb7cOiVmw0i8vpZlfiMqrWjaCOmHKMAbcE,4686
|
300
291
|
validmind/vm_models/test_suite/test.py,sha256=_GfbK36l98SjzgVcucmp0OKBJKqMW3neO7SqJ3EWeps,5049
|
301
292
|
validmind/vm_models/test_suite/test_suite.py,sha256=Cns2wL54v0T5Mv5_HJb3kMeaa4rtycdqT8KxK9_rWEU,6279
|
302
|
-
validmind-2.
|
303
|
-
validmind-2.
|
304
|
-
validmind-2.
|
305
|
-
validmind-2.
|
306
|
-
validmind-2.
|
293
|
+
validmind-2.3.1.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
|
294
|
+
validmind-2.3.1.dist-info/METADATA,sha256=GxV1nkn6sX3Cl-vFqqcxhy8W_3YjVrPhB-tlSsnfgbo,3911
|
295
|
+
validmind-2.3.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
296
|
+
validmind-2.3.1.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
|
297
|
+
validmind-2.3.1.dist-info/RECORD,,
|
@@ -1,114 +0,0 @@
|
|
1
|
-
# Copyright © 2023-2024 ValidMind Inc. All rights reserved.
|
2
|
-
# See the LICENSE file in the root of this repository for details.
|
3
|
-
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
4
|
-
|
5
|
-
from dataclasses import dataclass
|
6
|
-
|
7
|
-
import plotly.express as px
|
8
|
-
import plotly.graph_objects as go
|
9
|
-
|
10
|
-
from validmind.vm_models import Figure, Metric
|
11
|
-
|
12
|
-
|
13
|
-
@dataclass
|
14
|
-
class DefaultRatesbyRiskBandPlot(Metric):
|
15
|
-
"""
|
16
|
-
Generates a bar plot showcasing the distribution of default rates across different risk bands in a dataset.
|
17
|
-
|
18
|
-
**Purpose**:
|
19
|
-
The Default Rates by Risk Band Plot metric aims to quantify and visually represent default rates across varying
|
20
|
-
risk bands within a specific dataset. This information is essential in evaluating the functionality of credit risk
|
21
|
-
models, by providing a comprehensive view of default rates across a range of risk categories.
|
22
|
-
|
23
|
-
**Test Mechanism**:
|
24
|
-
The applied test approach involves a calculated bar plot. This plot is derived by initially determining the count
|
25
|
-
of accounts in every risk band and then converting these count values into percentages by dividing by the total
|
26
|
-
quantity of accounts. The percentages are then depicted as a bar plot, clearly showcasing the proportion of total
|
27
|
-
accounts associated with each risk band. Hence, the plot delivers a summarized depiction of default risk across
|
28
|
-
various bands. The 'Dark24' color sequence is used in the plot to ensure each risk band is easily distinguishable.
|
29
|
-
|
30
|
-
**Signs of High Risk**:
|
31
|
-
- High risk may be indicated by a significantly large percentage of accounts associated with high-risk bands.
|
32
|
-
- High exposure to potential default risk in the dataset indicates potential weaknesses in the model's capability
|
33
|
-
to effectively manage or predict credit risk.
|
34
|
-
|
35
|
-
**Strengths**:
|
36
|
-
- The metric's primary strengths lie in its simplicity and visual impact.
|
37
|
-
- The graphical display of default rates allows for a clear understanding of the spread of default risk across risk
|
38
|
-
bands.
|
39
|
-
- Using a bar chart simplifies the comparison between various risk bands and can highlight potential spots of high
|
40
|
-
risk.
|
41
|
-
- This approach assists in identifying any numerical imbalances or anomalies, thus facilitating the task of
|
42
|
-
evaluating and contrasting performance across various credit risk models.
|
43
|
-
|
44
|
-
**Limitations**:
|
45
|
-
- The key constraint of this metric is that it cannot provide any insights as to why certain risk bands might have
|
46
|
-
higher default rates than others.
|
47
|
-
- If there is a large imbalance in the number of accounts across risk bands, the visual representation might not
|
48
|
-
accurately depict the true distribution of risk.
|
49
|
-
- Other factors contributing to credit risk beyond the risk bands are not considered.
|
50
|
-
- The metric's reliance on a visual format might potentially lead to misinterpretation of results, as graphical
|
51
|
-
depictions can sometimes be misleading.
|
52
|
-
"""
|
53
|
-
|
54
|
-
name = "default_rates_by_risk_band_plot"
|
55
|
-
required_context = ["dataset"]
|
56
|
-
default_params = {"title": "Percentage of Total Accounts by Risk Band"}
|
57
|
-
metadata = {
|
58
|
-
"task_types": ["classification"],
|
59
|
-
"tags": ["tabular_data", "visualization", "credit_risk"],
|
60
|
-
}
|
61
|
-
|
62
|
-
@staticmethod
|
63
|
-
def plot_band_percentages(df, risk_band_column, title):
|
64
|
-
# Calculate the count of accounts in each risk band
|
65
|
-
risk_band_counts = df[risk_band_column].value_counts().sort_index()
|
66
|
-
|
67
|
-
# Convert to percentage
|
68
|
-
total_accounts = len(df)
|
69
|
-
risk_band_percentages = (risk_band_counts / total_accounts) * 100
|
70
|
-
|
71
|
-
# Use 'Dark24' color sequence for more distinguishable colors
|
72
|
-
colors = px.colors.qualitative.Dark24[: len(risk_band_percentages)]
|
73
|
-
|
74
|
-
# Create the bar plot
|
75
|
-
fig = go.Figure(
|
76
|
-
data=[
|
77
|
-
go.Bar(
|
78
|
-
x=risk_band_percentages.index,
|
79
|
-
y=risk_band_percentages.values,
|
80
|
-
marker_color=colors,
|
81
|
-
)
|
82
|
-
]
|
83
|
-
)
|
84
|
-
|
85
|
-
# Customize the plot
|
86
|
-
fig.update_layout(
|
87
|
-
title_text=title,
|
88
|
-
xaxis_title="Risk Band",
|
89
|
-
yaxis_title="Percentage of Total Accounts",
|
90
|
-
)
|
91
|
-
|
92
|
-
return fig, risk_band_percentages
|
93
|
-
|
94
|
-
def run(self):
|
95
|
-
df = self.inputs.dataset
|
96
|
-
risk_band_column = self.params["risk_band_column"]
|
97
|
-
title = self.params["title"]
|
98
|
-
|
99
|
-
fig, risk_band_percentages = self.plot_band_percentages(
|
100
|
-
df, risk_band_column, title
|
101
|
-
)
|
102
|
-
|
103
|
-
return self.cache_results(
|
104
|
-
metric_value={
|
105
|
-
"band_percentages": risk_band_percentages.to_dict(),
|
106
|
-
},
|
107
|
-
figures=[
|
108
|
-
Figure(
|
109
|
-
for_object=self,
|
110
|
-
key="band_percentages",
|
111
|
-
figure=fig,
|
112
|
-
)
|
113
|
-
],
|
114
|
-
)
|
@@ -1,150 +0,0 @@
|
|
1
|
-
# Copyright © 2023-2024 ValidMind Inc. All rights reserved.
|
2
|
-
# See the LICENSE file in the root of this repository for details.
|
3
|
-
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
4
|
-
|
5
|
-
from dataclasses import dataclass
|
6
|
-
|
7
|
-
import pandas as pd
|
8
|
-
import plotly.graph_objects as go
|
9
|
-
from plotly.subplots import make_subplots
|
10
|
-
|
11
|
-
from validmind.vm_models import Figure, Metric
|
12
|
-
|
13
|
-
|
14
|
-
@dataclass
|
15
|
-
class PiTCreditScoresHistogram(Metric):
|
16
|
-
"""
|
17
|
-
Generates a histogram visualization for observed and predicted credit default scores.
|
18
|
-
|
19
|
-
**Purpose**:
|
20
|
-
The PiT (Point in Time) Credit Scores Histogram metric is used to evaluate the predictive performance of a credit
|
21
|
-
risk assessment model. This metric provides a visual representation of observed versus predicted default scores and
|
22
|
-
enables quick and intuitive comparison for model assessment.
|
23
|
-
|
24
|
-
**Test Mechanism**:
|
25
|
-
This metric generates histograms for both observed and predicted score distributions of defaults and non-defaults.
|
26
|
-
The simultaneous representation of both the observed and predicted scores sheds light on the model's ability to
|
27
|
-
accurately predict credit risk.
|
28
|
-
|
29
|
-
**Signs of High Risk**:
|
30
|
-
- Significant discrepancies between the observed and predicted histograms, suggesting that the model may not be
|
31
|
-
adequately addressing certain risk factors.
|
32
|
-
- Concentration of predicted defaults towards one end of the graph, or uneven distribution in comparison to
|
33
|
-
observed scores, indicating potential issues in the model's interpretation of the data or outcome prediction.
|
34
|
-
|
35
|
-
**Strengths**:
|
36
|
-
- Provides an intuitive visual representation of model performance that's easy to comprehend, even for individuals
|
37
|
-
without a technical background.
|
38
|
-
- Useful for understanding the model's ability to distinguish between defaulting and non-defaulting entities.
|
39
|
-
- Specifically tailored for assessing credit risk models. The Point in Time (PiT) factor considers the evolution of
|
40
|
-
credit risk over time.
|
41
|
-
|
42
|
-
**Limitations**:
|
43
|
-
- As the information is visual, precise and quantitative results for detailed statistical analyses may not be
|
44
|
-
obtained.
|
45
|
-
- The method relies on manual inspection and comparison, introducing subjectivity and potential bias.
|
46
|
-
- Subtle discrepancies might go unnoticed and it could be less reliable for identifying such cues.
|
47
|
-
- Performance may degrade when score distributions overlap significantly or when too many scores are plotted,
|
48
|
-
resulting in cluttered or hard-to-decipher graphs.
|
49
|
-
"""
|
50
|
-
|
51
|
-
name = "pit_credit_scores_histogram"
|
52
|
-
required_inputs = ["dataset", "model"]
|
53
|
-
default_params = {"title": "Histogram of Scores"}
|
54
|
-
metadata = {
|
55
|
-
"task_types": ["classification"],
|
56
|
-
"tags": ["tabular_data", "visualization", "credit_risk"],
|
57
|
-
}
|
58
|
-
|
59
|
-
@staticmethod
|
60
|
-
def plot_score_histogram(
|
61
|
-
df,
|
62
|
-
default_column,
|
63
|
-
predicted_default_column,
|
64
|
-
scores_column,
|
65
|
-
title,
|
66
|
-
point_in_time_date,
|
67
|
-
):
|
68
|
-
fig = make_subplots(
|
69
|
-
rows=1, cols=2, subplot_titles=("Observed Default", "Predicted Default")
|
70
|
-
)
|
71
|
-
|
72
|
-
observed_data_0 = df[df[default_column] == 0][scores_column]
|
73
|
-
observed_data_1 = df[df[default_column] == 1][scores_column]
|
74
|
-
|
75
|
-
predicted_data_0 = df[df[predicted_default_column] == 0][scores_column]
|
76
|
-
predicted_data_1 = df[df[predicted_default_column] == 1][scores_column]
|
77
|
-
|
78
|
-
fig.add_trace(
|
79
|
-
go.Histogram(x=observed_data_0, opacity=0.75, name="Observed Default = 0"),
|
80
|
-
row=1,
|
81
|
-
col=1,
|
82
|
-
)
|
83
|
-
fig.add_trace(
|
84
|
-
go.Histogram(x=observed_data_1, opacity=0.75, name="Observed Default = 1"),
|
85
|
-
row=1,
|
86
|
-
col=1,
|
87
|
-
)
|
88
|
-
|
89
|
-
fig.add_trace(
|
90
|
-
go.Histogram(
|
91
|
-
x=predicted_data_0, opacity=0.75, name="Predicted Default = 0"
|
92
|
-
),
|
93
|
-
row=1,
|
94
|
-
col=2,
|
95
|
-
)
|
96
|
-
fig.add_trace(
|
97
|
-
go.Histogram(
|
98
|
-
x=predicted_data_1, opacity=0.75, name="Predicted Default = 1"
|
99
|
-
),
|
100
|
-
row=1,
|
101
|
-
col=2,
|
102
|
-
)
|
103
|
-
|
104
|
-
title += f" (PiT: {point_in_time_date.strftime('%d %b %Y')})"
|
105
|
-
fig.update_layout(barmode="overlay", title_text=title)
|
106
|
-
|
107
|
-
return fig
|
108
|
-
|
109
|
-
def run(self):
|
110
|
-
df = self.inputs.dataset.df
|
111
|
-
default_column = (
|
112
|
-
self.params.get("default_column") or self.inputs.dataset.target_column
|
113
|
-
)
|
114
|
-
predicted_default_column = (
|
115
|
-
self.params.get("predicted_default_column")
|
116
|
-
or self.inputs.dataset.y_pred(self.inputs.model),
|
117
|
-
)
|
118
|
-
scores_column = self.params["scores_column"]
|
119
|
-
point_in_time_column = self.params["point_in_time_column"]
|
120
|
-
|
121
|
-
title = self.params["title"]
|
122
|
-
|
123
|
-
point_in_time_date = pd.to_datetime(df[point_in_time_column].iloc[0])
|
124
|
-
|
125
|
-
fig = self.plot_score_histogram(
|
126
|
-
df,
|
127
|
-
default_column,
|
128
|
-
predicted_default_column,
|
129
|
-
scores_column,
|
130
|
-
title,
|
131
|
-
point_in_time_date,
|
132
|
-
)
|
133
|
-
|
134
|
-
return self.cache_results(
|
135
|
-
metric_value={
|
136
|
-
"score_histogram": {
|
137
|
-
"observed_scores": list(df[df[default_column] == 1][scores_column]),
|
138
|
-
"predicted_scores": list(
|
139
|
-
df[df[predicted_default_column] == 1][scores_column]
|
140
|
-
),
|
141
|
-
},
|
142
|
-
},
|
143
|
-
figures=[
|
144
|
-
Figure(
|
145
|
-
for_object=self,
|
146
|
-
key="score_histogram",
|
147
|
-
figure=fig,
|
148
|
-
)
|
149
|
-
],
|
150
|
-
)
|