validmind 2.2.6__py3-none-any.whl → 2.3.3__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/__init__.py +2 -1
- 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 -9
- validmind/test_suites/regression.py +0 -16
- validmind/test_suites/statsmodels_timeseries.py +1 -1
- validmind/tests/__init__.py +7 -7
- validmind/tests/__types__.py +170 -0
- 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 +13 -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 +34 -59
- 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.3.dist-info}/METADATA +1 -1
- {validmind-2.2.6.dist-info → validmind-2.3.3.dist-info}/RECORD +95 -103
- 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.3.dist-info}/LICENSE +0 -0
- {validmind-2.2.6.dist-info → validmind-2.3.3.dist-info}/WHEEL +0 -0
- {validmind-2.2.6.dist-info → validmind-2.3.3.dist-info}/entry_points.txt +0 -0
@@ -1,8 +1,9 @@
|
|
1
|
-
validmind/__init__.py,sha256=
|
2
|
-
validmind/__version__.py,sha256=
|
3
|
-
validmind/ai.py,sha256=
|
4
|
-
validmind/
|
5
|
-
validmind/
|
1
|
+
validmind/__init__.py,sha256=UfmzPwUCdUWbWq3zPqqmq4jw0_kfl3hX4U72p_seE4I,3700
|
2
|
+
validmind/__version__.py,sha256=s0EEVOzZFl_WT6PzFxk9cgtfsNGRuqeXrX3fgGq9Ogs,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,32 @@ 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=T7446YfTnxfBKNFwIXVcbMb4uIyRzHFAyUQLdDQCjVc,7039
|
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
|
-
validmind/tests/__init__.py,sha256=
|
87
|
-
validmind/tests/
|
87
|
+
validmind/tests/__init__.py,sha256=9-SR070X6SUZIURkh7M1jUMiqaDS0SVUmzZ8gNtm-10,15904
|
88
|
+
validmind/tests/__types__.py,sha256=0SjOvsJp9p-6Lt5b_VVmoqJBLLsVG4XfsR_TlcuuY8E,9271
|
89
|
+
validmind/tests/data_validation/ACFandPACFPlot.py,sha256=BMXcVZxrZ09xzw0TZtUM81Mss6q2eQg6md5uEfpGu_8,4960
|
90
|
+
validmind/tests/data_validation/ADF.py,sha256=WEFDUdDJlkvDPcLTFAa9RXwMSv_JD-Y-CN-F3xRGBtc,5177
|
88
91
|
validmind/tests/data_validation/ANOVAOneWayTable.py,sha256=udizp4rxW4VlMaXK2RrkPK5tAUgO0C-A3MIifPjBZMw,6019
|
89
92
|
validmind/tests/data_validation/AutoAR.py,sha256=kulDh8i7p7CjenVvXS54kfZe53M-eXzQ7aHZylnA06M,6676
|
90
93
|
validmind/tests/data_validation/AutoMA.py,sha256=F0Dq1eAnMtM_agQ4QgzeK7bwSb2Am_2V3-ugjFJzY0A,7119
|
@@ -92,36 +95,36 @@ validmind/tests/data_validation/AutoSeasonality.py,sha256=GcCpJgXYA11cEnFl6aSpE5
|
|
92
95
|
validmind/tests/data_validation/AutoStationarity.py,sha256=cDZB8UxoDVq8zj3hNMkHmQnvW0sXTt3WexER5H9QVQA,7902
|
93
96
|
validmind/tests/data_validation/BivariateFeaturesBarPlots.py,sha256=CccBHTjsL2swmGoxpcCtpY_264YwFCO-rZOSqcaMJ_8,5974
|
94
97
|
validmind/tests/data_validation/BivariateHistograms.py,sha256=2GWca2OynF1FVYkDE8yTt_qqcdJeG2we21TbxPcLcx4,5018
|
95
|
-
validmind/tests/data_validation/BivariateScatterPlots.py,sha256=
|
98
|
+
validmind/tests/data_validation/BivariateScatterPlots.py,sha256=46p64fnqj8zuS1Q66mhgbWe-qFu_vY-46ZM9gnhFlyw,5059
|
96
99
|
validmind/tests/data_validation/ChiSquaredFeaturesTable.py,sha256=qKzMADz_jnEMrNx3BhLp8e1CVtD5pSnkLZptMw0ajpg,6041
|
97
100
|
validmind/tests/data_validation/ClassImbalance.py,sha256=TkI67YUu1DdnRxup-sTo3h6aNS-2ww3LPFxMHnOwAHA,6922
|
101
|
+
validmind/tests/data_validation/DFGLSArch.py,sha256=JTxIP79S2sERAba9jwXrvwZd2O2OWYQ4xFlKXlro8TU,5405
|
98
102
|
validmind/tests/data_validation/DatasetDescription.py,sha256=2ez3MyPhkgvJVXDctADQAayltZzfJAiP5Psv6XgxVuU,11401
|
99
103
|
validmind/tests/data_validation/DatasetSplit.py,sha256=JwhIIkxbTwsHAGyJfe1frVYybnd4290DoL6TXO_1Bbs,5127
|
100
|
-
validmind/tests/data_validation/DefaultRatesbyRiskBandPlot.py,sha256=lrVeFrw4rRND7sO2kpv0RHxks9xHQBqkNfz-IN0xw_0,4861
|
101
104
|
validmind/tests/data_validation/DescriptiveStatistics.py,sha256=bQIrHirCrsojciBLeHp5ibAeCpQrMs6wUQ5lW6sWOjQ,6373
|
102
105
|
validmind/tests/data_validation/Duplicates.py,sha256=la6O0Mf2cctT91C3M3lscJ7Jh9u17mkviRDQZ6t9FtM,5632
|
103
106
|
validmind/tests/data_validation/EngleGrangerCoint.py,sha256=Rz8BaptMo79JS8XGrnCGnrMmZo994HBmVGKJCvBqfH0,5580
|
104
107
|
validmind/tests/data_validation/FeatureTargetCorrelationPlot.py,sha256=wfYhyK-hhUHGxfWDAUqoorY2EXbDeLCbroPMi14vkzs,5036
|
105
|
-
validmind/tests/data_validation/HeatmapFeatureCorrelations.py,sha256=
|
108
|
+
validmind/tests/data_validation/HeatmapFeatureCorrelations.py,sha256=vUOUN0FKP4gQJF8ZWt-xpwgQkzUpYccMCIMp3bxqMsI,5711
|
106
109
|
validmind/tests/data_validation/HighCardinality.py,sha256=4cjBNoWYUHVhl3TuRLrBa6tZ4AWJAOLgIjtk3JnrEZ4,5111
|
107
|
-
validmind/tests/data_validation/HighPearsonCorrelation.py,sha256=
|
110
|
+
validmind/tests/data_validation/HighPearsonCorrelation.py,sha256=si_CrnG8ZyxCxyhstZ0ATQTxEHVD1hPpT5vY5jPQWbE,5742
|
108
111
|
validmind/tests/data_validation/IQROutliersBarPlot.py,sha256=_O9GXF1hCafLDX6_PjRj7TubRdgs39_N4qk9F6-SHBM,6350
|
109
112
|
validmind/tests/data_validation/IQROutliersTable.py,sha256=GQ0rfkbnfaLIG-hwm-2_Gl4kHqljxwSZCcDDKgNlnHU,5888
|
110
|
-
validmind/tests/data_validation/IsolationForestOutliers.py,sha256=
|
113
|
+
validmind/tests/data_validation/IsolationForestOutliers.py,sha256=KDXrkOt2J_aQv0KVlbF2bdluNEit4IlOXoDupBOZp0g,4881
|
114
|
+
validmind/tests/data_validation/KPSS.py,sha256=3vX9iSpJo_c4mbmcIXGRu3IrCLPcILejhIONxpCMV8Q,5178
|
111
115
|
validmind/tests/data_validation/LaggedCorrelationHeatmap.py,sha256=iAbdO4AcYoB4dFnoREkR6NewJkgx6ISZVf-8iHAvFgY,6048
|
112
116
|
validmind/tests/data_validation/MissingValues.py,sha256=gvLTy5DiBqp0VemOhVEUq3BsrJ3FTIIsK_CPxKfjW6A,4292
|
113
117
|
validmind/tests/data_validation/MissingValuesBarPlot.py,sha256=bTfMCab8gK0VXF1EZ18pTguZkFdfo1ZHhz2hmkFAyG4,6226
|
114
118
|
validmind/tests/data_validation/MissingValuesRisk.py,sha256=GzsGHFL-qMQxuqdu62SF4O5r8UDoUN5xv_b8drR-Afc,4110
|
115
119
|
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
|
120
|
+
validmind/tests/data_validation/PhillipsPerronArch.py,sha256=ft4ZbeKsM_8WAvdWHou0AZGXFUc4RWiMdOvn1pMXmr4,5075
|
118
121
|
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=
|
122
|
+
validmind/tests/data_validation/ScatterPlot.py,sha256=5mCr37aD92DUSn82BR7AWdx6-RdJqhjWZPhPcpIexGU,4346
|
123
|
+
validmind/tests/data_validation/SeasonalDecompose.py,sha256=f-rvT_ahhiQooQuFt0bL4FXUjVUofhNizw2wauKPL2s,9026
|
121
124
|
validmind/tests/data_validation/Skewness.py,sha256=lygUUQomckvdX5__JGOn6Rx0kJRfyw-0gZOjqqN9Phk,4935
|
122
125
|
validmind/tests/data_validation/SpreadPlot.py,sha256=3FMhokxIexGzRoIlRElkkgpQRRdvnlyx0-tt8aK-wDY,4591
|
123
126
|
validmind/tests/data_validation/TabularCategoricalBarPlots.py,sha256=EM1m1v9V5N6bpaed_QYoqEFl4ipYcDEh7TbUL1B2stE,4241
|
124
|
-
validmind/tests/data_validation/TabularDateTimeHistograms.py,sha256=
|
127
|
+
validmind/tests/data_validation/TabularDateTimeHistograms.py,sha256=Dzrw77U8mbDYFH4wPBOrpyLaPLLr_FMyKUxSLPx3ob4,3987
|
125
128
|
validmind/tests/data_validation/TabularDescriptionTables.py,sha256=Hd78V0CsRR0zbA97GFHV4DuffaT-85CI3wyF3ptdXLk,9281
|
126
129
|
validmind/tests/data_validation/TabularNumericalHistograms.py,sha256=CSdQJxDht6QJRMGXoedP_1MVoem-whlcwxGGBaP3inc,4170
|
127
130
|
validmind/tests/data_validation/TargetRateBarPlots.py,sha256=7BghG2XtWw2ptmNgT-wEWb6gWwUgWIlp-LV5HtQENbM,5737
|
@@ -132,26 +135,27 @@ validmind/tests/data_validation/TimeSeriesMissingValues.py,sha256=4-b55iIMbhDETe
|
|
132
135
|
validmind/tests/data_validation/TimeSeriesOutliers.py,sha256=wwz3SZs2NUTzK5dgQlehcL5kzANj_Ov7NQPqp_qNoEA,9749
|
133
136
|
validmind/tests/data_validation/TooManyZeroValues.py,sha256=lnW0De4o2q56j1LJvoW_4CQbz4OPvPP5K3e0exCnxqc,5875
|
134
137
|
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=
|
138
|
+
validmind/tests/data_validation/WOEBinPlots.py,sha256=C3bNTRzbz3wXWoHUdoHZVmzIgMzJTAgwKtgWK2fPbSc,6946
|
139
|
+
validmind/tests/data_validation/WOEBinTable.py,sha256=XvKqFfJAMQcxU7G6dfqRBnHVUHt4S1pR5WlawDAUQJo,4710
|
140
|
+
validmind/tests/data_validation/ZivotAndrewsArch.py,sha256=gFvlpgxpjBcUWHXAz5nAWZeOBRG2JjENo-NMel7TOek,5252
|
137
141
|
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=
|
142
|
+
validmind/tests/data_validation/nlp/CommonWords.py,sha256=2GCwKA85r5qvgIa53sLQhLGTJo3SbYM9z-8ORunG910,4181
|
143
|
+
validmind/tests/data_validation/nlp/Hashtags.py,sha256=Gc5RivYEPfzJVssODSADBZdulvb8Y2uWAp2_CzXUq-o,4345
|
140
144
|
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=
|
145
|
+
validmind/tests/data_validation/nlp/Mentions.py,sha256=Wlt2ycqj5X-bbb6LTfyLi8aapyd7qCK35yDKJJF3h7o,4650
|
146
|
+
validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py,sha256=2QJZRi8jdkc7NiT5e0QjInf4A6lWeUL71dgybA5M5oA,1676
|
147
|
+
validmind/tests/data_validation/nlp/Punctuations.py,sha256=GdxOOjDs4UiDiwa8On8ZUe5JQMzUF9v1PzTXJCGd5p8,3894
|
148
|
+
validmind/tests/data_validation/nlp/Sentiment.py,sha256=boQqEK85uBmWMjtNFrMywh9RsQGFx02xlNNyv8A4Eng,1839
|
145
149
|
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=
|
150
|
+
validmind/tests/data_validation/nlp/TextDescription.py,sha256=AGDUpdDiAg_s6P-jAe-r-QAG5AZJltEAzdbWshCwohc,8842
|
151
|
+
validmind/tests/data_validation/nlp/Toxicity.py,sha256=5sPYUGE8NFFNJnwXiGa4hqduM0S_6f8LX0ro3FnkGes,1534
|
148
152
|
validmind/tests/data_validation/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
|
-
validmind/tests/decorator.py,sha256=
|
153
|
+
validmind/tests/decorator.py,sha256=JygzPCUWZL2UPL2NV50SK3wKtmHs8h_a5_j3NjvoM1s,9887
|
150
154
|
validmind/tests/model_validation/BertScore.py,sha256=XJss9sqrkkkNkT44vIf6s5ID_M87PPjWJ-pN0bCTe2E,5300
|
151
155
|
validmind/tests/model_validation/BleuScore.py,sha256=UmlOsr2chqSEcOV6OtuJey9Cb3qvBD6hDOuvLg2X9_s,4925
|
152
156
|
validmind/tests/model_validation/ClusterSizeDistribution.py,sha256=IKcMBCBsasbi6i8LTqv0H6PUUsG8FXnBtc15uj209WY,4155
|
153
157
|
validmind/tests/model_validation/ContextualRecall.py,sha256=wzLjaliEG441qXvaonchJFr5pHXuPI9pOnlfo59xEAE,4976
|
154
|
-
validmind/tests/model_validation/FeaturesAUC.py,sha256=
|
158
|
+
validmind/tests/model_validation/FeaturesAUC.py,sha256=RKh3oQIyFSaU0rG4trtuPZDrC4-sIky8cVXnB2z5PYA,4733
|
155
159
|
validmind/tests/model_validation/MeteorScore.py,sha256=3YtSjdzxraFYmam03HtOhjayXScFdS5QR_9V4gD-lLI,5010
|
156
160
|
validmind/tests/model_validation/ModelMetadata.py,sha256=F9ctmlIxngkHgOlggRl0WFLilh46SlM3vYfY9zkhtYk,3733
|
157
161
|
validmind/tests/model_validation/RegardScore.py,sha256=EuR1pAgVcn99m5eWagxGgdOCHDBkB2NIzyGE9ly73z4,5206
|
@@ -161,36 +165,36 @@ validmind/tests/model_validation/TokenDisparity.py,sha256=EZlpFQH6qRWedjTQT5o4u-
|
|
161
165
|
validmind/tests/model_validation/ToxicityScore.py,sha256=nFDHU1Z8mGpJrdKE6sWxo9nOqqzne1JsYIiNFyn_gYA,5299
|
162
166
|
validmind/tests/model_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
163
167
|
validmind/tests/model_validation/embeddings/ClusterDistribution.py,sha256=8V2mE_V3S3cIBk29MB0xPqgla1mxiGJcXZ1m99ds3ck,3552
|
164
|
-
validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py,sha256=
|
168
|
+
validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py,sha256=xXM1pI-4XOLLSE-sZqQzdUryrAvql5maytFNjzMlrn4,4900
|
165
169
|
validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py,sha256=B3quw4ZCWVyhDBHbVp637JoVTpSAROJfUwY-ECLOTAo,3459
|
166
|
-
validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py,sha256=
|
170
|
+
validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py,sha256=R16Jq2BQPG4xknAmDGEbRcX8RmDb879NWazSPmB0ARo,3495
|
167
171
|
validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=hLOcJ3lGigyA2VYAQunKB8dkBzh5TORFawg8TZIlG94,4247
|
168
172
|
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=
|
173
|
+
validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py,sha256=UG5etgWn9Rnqts5X_1U6CTj-uDfz6VLqXdQVZ9Mu3y0,4502
|
174
|
+
validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py,sha256=ruMY1LK2LwmzwdKMcgFLeaebhEi4_kbJNpEafVCTPfw,3375
|
175
|
+
validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py,sha256=nUQU9e32RHa3Ytofi_dzId_7VSNH4bJG9I_r8VJNbFk,3893
|
172
176
|
validmind/tests/model_validation/embeddings/StabilityAnalysis.py,sha256=0ZH5zNv52lcA-k1ZohMgo6w8VUXIe1XA0WA3ORCbHtY,4579
|
173
177
|
validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py,sha256=exnaM-XHiHHflflXfJQLNGQByTBDeKwCtxBoNPKNev8,3970
|
174
178
|
validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py,sha256=N1hYFnAQKLxSpjd6ZHwi57Zdx10ssEX2Ci73rrEXTGs,5796
|
175
179
|
validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py,sha256=npnOPAoXb5FoiwQEwp_gDcbGa5xk4rYnXChTJnuGX64,4405
|
176
180
|
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=
|
181
|
+
validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py,sha256=jfEJjLiBhrXGmafNPI0rk3sDugDmuQ6pbpek4rF8v1k,4512
|
182
|
+
validmind/tests/model_validation/ragas/AnswerCorrectness.py,sha256=PgSxFcyWx2WAI6DsgYJQW3N5EKQgm-uCAZgm8r9Cly4,5002
|
183
|
+
validmind/tests/model_validation/ragas/AnswerRelevance.py,sha256=iIgN6CTAYs8V9sfJVhR_p6B5TQLUQ413rXYqwVP3770,4861
|
184
|
+
validmind/tests/model_validation/ragas/AnswerSimilarity.py,sha256=csCdKnjKXwIAOcc6PdAWl0IO2ttou2ihoXtU-G37hz4,4321
|
185
|
+
validmind/tests/model_validation/ragas/AspectCritique.py,sha256=Tx6dDGLPnHpPdY_93i-gu9robPOsiu1SEdqw0-rs2Ws,6043
|
186
|
+
validmind/tests/model_validation/ragas/ContextEntityRecall.py,sha256=o8zYuCESyYlTqYHzdDfrbAsFeIEPDFTUoLvCm2SuFic,4768
|
187
|
+
validmind/tests/model_validation/ragas/ContextPrecision.py,sha256=JKmz1nI1HE2tlzVIGRjwunkJ3Wmh7ITu_X3y39-sDSw,4494
|
188
|
+
validmind/tests/model_validation/ragas/ContextRecall.py,sha256=VsBtDqKbvcK12Tblfdy7RwGHTBVQ03O67wRphrTHyZE,4431
|
189
|
+
validmind/tests/model_validation/ragas/ContextRelevancy.py,sha256=lLaWSPNDQXae4jiMjDP7841pqnGvcvYqYHYIj6TL698,4019
|
190
|
+
validmind/tests/model_validation/ragas/Faithfulness.py,sha256=zIkTwX4nu78KkuMTzArx0D2HaM3EMKddakB8Bfo0Xr0,4389
|
191
|
+
validmind/tests/model_validation/ragas/utils.py,sha256=wtmY4jWF8RZCl032v0AkfpgZrS1jhnAzkrDhoWNvhEk,2952
|
188
192
|
validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py,sha256=iUt8PJd7Q-nhfDkU0siZY5Gip_uzSCqwOjpd_WBuv2I,2892
|
189
193
|
validmind/tests/model_validation/sklearn/AdjustedRandIndex.py,sha256=Mb03a6R37GagRuy269TE8ZgaMaF3vngcH3-Um6SZYmg,2767
|
190
194
|
validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=bbZkuGEm_D_zZf3hBeqjw9DrDKeKoLQiwfg2Cjd7gZY,5945
|
191
195
|
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
|
196
|
+
validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=kDGdMfxyf6BfcRH9BnsK6uWEgk6pwWNRIwbEoadVGjY,5360
|
197
|
+
validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py,sha256=-9Euc3ZCAFoMSsJuz9zrrQqk3GTXQHYKa3i8lYsJilI,8600
|
194
198
|
validmind/tests/model_validation/sklearn/CompletenessScore.py,sha256=Uj_hTTTqRLHDJ-pjajfuun_2Anq7W0GQpwPsAhdWq24,2559
|
195
199
|
validmind/tests/model_validation/sklearn/ConfusionMatrix.py,sha256=Bm9fsw9nD1KurbBbXf0Jph0MN7_-7GRiydiTTfDgiU4,5776
|
196
200
|
validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py,sha256=hL7hfvdeZ_jR9ktxMH9NI-hwvLsl478iQDajOXUuocM,3049
|
@@ -200,15 +204,15 @@ validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py,sha256=o5
|
|
200
204
|
validmind/tests/model_validation/sklearn/MinimumAccuracy.py,sha256=MAkVBawefPT_ST5odD3Pyqg-Jbfj1HcmNUkVGwFYcNk,5337
|
201
205
|
validmind/tests/model_validation/sklearn/MinimumF1Score.py,sha256=5QLwdsFkuT-k2QkVR6CZw3gPb6RFrgJe8VtZkqma1eg,4678
|
202
206
|
validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py,sha256=0KMdAHZOnY_PpoWSNZxmudClqQ469JV_V_vTM3FXAC8,4891
|
203
|
-
validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py,sha256=
|
207
|
+
validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py,sha256=ITimCZ0dPxomj6bSI_0g_I5ft_fWc5QDvCTKukciaRU,6196
|
204
208
|
validmind/tests/model_validation/sklearn/OverfitDiagnosis.py,sha256=BLyDWAHd7dw17QLuwy9JrvsBNPXhM8yhXWu9EeSIVgg,14075
|
205
209
|
validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py,sha256=jBRGRFjWzC3MyhNyJ_5Mv21S_ippcy63lMIZ2MQ4588,4929
|
206
210
|
validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py,sha256=5cp3E78C1OjFomqVmtYOovdoNniLVVg-jmRb9HXQ3XQ,10132
|
207
211
|
validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py,sha256=Ay0Z3NDpP0w3Tz3nPSSUhA5WZGW4EZyNmCIJga2kixQ,4436
|
208
212
|
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=
|
213
|
+
validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=ozczSJX5jwEXVj-kb6BlLzoUVzNXNkFqeaoYmKfTAdM,5976
|
214
|
+
validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py,sha256=1e0Sv-pfI4sUeMDl-62X97Ai8kezcI_3gUnfZWzq3fA,5789
|
215
|
+
validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=MbVfgxiloCSd32xhlO4_QiDyo3ZTJB4Orc-G3yMltwM,4958
|
212
216
|
validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py,sha256=762ckUxewgv87Aix48gJQ532v7UEdwIUD_l5iMaQoGU,13738
|
213
217
|
validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=FwY2n65uDBz4D4fFy-Ur7G2lb9W_LcOr-HPevmwTxZk,8951
|
214
218
|
validmind/tests/model_validation/sklearn/SilhouettePlot.py,sha256=TznxbLhwybNbht6hUg4MSKxX3TI7zJp75tQH0svWon0,6237
|
@@ -216,50 +220,38 @@ validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=Gy2I6
|
|
216
220
|
validmind/tests/model_validation/sklearn/VMeasure.py,sha256=x2cdcN_Wh_hnfAsF715QgWBPbhZMi533PO-No84iEJ4,2772
|
217
221
|
validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py,sha256=82HubT8NZluBYoLS_t3n6QW3lN6YvFkCeEMR0N43tOQ,14194
|
218
222
|
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
223
|
validmind/tests/model_validation/statsmodels/AutoARIMA.py,sha256=mb-QlmiYDaOWJNneUcgL27km3dGNaqIuP6Bw_rG4Emc,5172
|
222
224
|
validmind/tests/model_validation/statsmodels/BoxPierce.py,sha256=3xhBDYemI07MK-DKO788Vc2q-ST7sycmqr7HN1inU-E,3581
|
223
225
|
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
|
226
|
+
validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py,sha256=3NYheqnjfBK2xl6mCCmNiGvOhvbF3-BMUaZJ4mwAwg0,2963
|
227
|
+
validmind/tests/model_validation/statsmodels/GINITable.py,sha256=jJj731XRHaBgJuDj4lgDkJgWfJe5SPfWzGMPCw3arBM,5753
|
228
|
+
validmind/tests/model_validation/statsmodels/JarqueBera.py,sha256=2TlYLc1-jfQfDGhDDaVJjaIa0HmLgsT_AtNgzkYcaBI,3407
|
229
|
+
validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py,sha256=cBksf5Esz_wkQu6lt5ePilVWqzhomfQdjFaDM4EMDHo,4416
|
230
|
+
validmind/tests/model_validation/statsmodels/LJungBox.py,sha256=-Lh6ewdLOdBw7QN9RaE4MYeibmwlrM1A1pECTuc90to,3315
|
231
|
+
validmind/tests/model_validation/statsmodels/Lilliefors.py,sha256=h1MdmcSfcdAzO7qx9tgVuSdkl-otDzFMzWh7PE3M78M,4048
|
235
232
|
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=
|
233
|
+
validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py,sha256=pZS68FHseNpdjcRUts3Bg7gUnWOFg8owvtICZyYIFUI,5834
|
234
|
+
validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py,sha256=Q9b7-h5QXB-qM0Oz4Y8dDRoYv0Jv20vyoWmrkWXt8hA,5644
|
238
235
|
validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py,sha256=-RU-HMcSWAZQKYAptVTDerkH03K2ruO-vco0DS8vSJM,6573
|
239
236
|
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
237
|
validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py,sha256=q30wFH7QRZKriVMXBmZVE2K30kjcb6zX4IVl1NHT2kA,7320
|
243
238
|
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
|
239
|
+
validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py,sha256=7cl9tn5799sctCzEHNWGa_QfVII_L6H5ZoMpxjUkjzc,4549
|
246
240
|
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
|
241
|
+
validmind/tests/model_validation/statsmodels/RunsTest.py,sha256=56f5n9hgOkCqaWHJGV0YzLZZhxJ5a-rHTfN0YcPYmt0,3729
|
249
242
|
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
|
243
|
+
validmind/tests/model_validation/statsmodels/ShapiroWilk.py,sha256=wN9ggwb_N-e2qi5YTVELb5kN72wfrX3-UNWfg6SRhJQ,3288
|
252
244
|
validmind/tests/model_validation/statsmodels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
253
245
|
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=
|
246
|
+
validmind/tests/prompt_validation/Bias.py,sha256=h7fC0DiVlSxtciMIJOlS_65bwWuT4soONd7YFhIVHhY,7052
|
247
|
+
validmind/tests/prompt_validation/Clarity.py,sha256=TaVmv6pP3e-b-Nr5-tiMHoQgvGoVmDQbwa8HyabL3l0,6248
|
248
|
+
validmind/tests/prompt_validation/Conciseness.py,sha256=HoUtzMAYSzScLG3crxpg6yXETG_Wpjkpj1TQAAlAoQE,5996
|
249
|
+
validmind/tests/prompt_validation/Delimitation.py,sha256=eYTq6JyEs3LJ6hienklXB5yAEhBe6-BAeBq7op5andg,5514
|
250
|
+
validmind/tests/prompt_validation/NegativeInstruction.py,sha256=PeSvEN1-sp_BrPIknIPFsJqYoTeFqmK-yunlrUwys9o,6663
|
251
|
+
validmind/tests/prompt_validation/Robustness.py,sha256=k1C0HoOiddhNU88VARZMS40tM49Cg8LfT5D8RUtub8w,6829
|
252
|
+
validmind/tests/prompt_validation/Specificity.py,sha256=cHQmRlseosTQVi4sqMtfkS6P8j6z1LZur1_EkVLw8ck,6108
|
261
253
|
validmind/tests/prompt_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
262
|
-
validmind/tests/prompt_validation/ai_powered_test.py,sha256=
|
254
|
+
validmind/tests/prompt_validation/ai_powered_test.py,sha256=7TTeIR5GotQosm7oVT8Y3KnwPB3XkVT1Fzhckpr-SgE,1963
|
263
255
|
validmind/tests/test_providers.py,sha256=1tYn_sWNqifFpOp8eNvcVyJzxBjhHV5Py4FxO8opPZA,4944
|
264
256
|
validmind/unit_metrics/__init__.py,sha256=a7oV8YRC-O6dF7ePz4E8Fqrh4ax6AWT26Y996VPView,7084
|
265
257
|
validmind/unit_metrics/classification/sklearn/Accuracy.py,sha256=2Ra_OpKceY01h1dAFCqRFAwe--K2oVbCUiYjM5AH_nQ,480
|
@@ -267,7 +259,7 @@ validmind/unit_metrics/classification/sklearn/F1.py,sha256=Uiq5sPyNpALhApTkmLUhh
|
|
267
259
|
validmind/unit_metrics/classification/sklearn/Precision.py,sha256=8zO5VDZhfT8R2VFYiV-CzsZwhsTwVAKca4nhD-qALLw,458
|
268
260
|
validmind/unit_metrics/classification/sklearn/ROC_AUC.py,sha256=5-i1xhrLg7Ix4sk7pBKDBtlqBCNRD365LnTvsekSVYs,452
|
269
261
|
validmind/unit_metrics/classification/sklearn/Recall.py,sha256=0WG3A6K9M1UmbWQKoS_wwLfq-cXVDDTIA1ZpaJNyKp8,449
|
270
|
-
validmind/unit_metrics/composite.py,sha256=
|
262
|
+
validmind/unit_metrics/composite.py,sha256=2FRvPv028BvpisGJvyJ0RjS4P3upKB4iRfFn3DSXOBo,8005
|
271
263
|
validmind/unit_metrics/regression/GiniCoefficient.py,sha256=ebh1rOob8mEmQp0EpXcneAXjc4AIfm6O3Y0_mnTahKA,984
|
272
264
|
validmind/unit_metrics/regression/HuberLoss.py,sha256=JAUxKFpXp1NtQKEJMZlGgxDlk8pFT1tY3ZcxNQPDhHM,680
|
273
265
|
validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py,sha256=DRHuFH3DqDMy56tzkN8ETwt36FCu1m-nGxK0OJCPMDk,981
|
@@ -279,28 +271,28 @@ validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py,sha256=LCNgpDw6FB
|
|
279
271
|
validmind/unit_metrics/regression/sklearn/MeanSquaredError.py,sha256=7UQnDTTO7yRRyMe3Zac9ZyjEbbD8pW_8WnZwHdVB_8U,463
|
280
272
|
validmind/unit_metrics/regression/sklearn/RSquaredScore.py,sha256=h9U5ndtnJfNNtKPZIo5n3KRp-m4akQcEo0t1iSwjVzY,420
|
281
273
|
validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py,sha256=_5IQIU9jNfmTE4NLJvaRWXbudRGV2PS7nYF5e4fkSMY,556
|
282
|
-
validmind/utils.py,sha256=
|
274
|
+
validmind/utils.py,sha256=MQDsW7YuwEJ50tA01n3xb8D_Ihmji_Mn22AlMnJJQT8,15819
|
283
275
|
validmind/vm_models/__init__.py,sha256=lmWCD2u4tW6_AH39UnJ24sCcMUcsHbUttz7SaZfrh3s,1168
|
284
276
|
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=
|
277
|
+
validmind/vm_models/dataset/dataset.py,sha256=YP6l5sq7SJNExWK3RvkxeCBTLj4z2GkBsmv4KxfBS1I,22753
|
278
|
+
validmind/vm_models/dataset/utils.py,sha256=ygT6hUw0KklKCboo7tqLxh_hf-dEiaccVyCpR9DCPF8,5177
|
287
279
|
validmind/vm_models/figure.py,sha256=iSrvPcCG5sQrMkX1Fh6c5utRzaroh3bc6IlnGDOK_Eg,6651
|
288
|
-
validmind/vm_models/model.py,sha256=
|
289
|
-
validmind/vm_models/test/metric.py,sha256=
|
280
|
+
validmind/vm_models/model.py,sha256=b-UL73EWOpj-X5aQbHQ3HLkONHCH9hYwUlKxVwPC6gI,6088
|
281
|
+
validmind/vm_models/test/metric.py,sha256=nq3htPGW51D_HZCk0rDovZud6DeTUsmN0voW-zCs4c0,3230
|
290
282
|
validmind/vm_models/test/metric_result.py,sha256=Bak4GDrMlNq5NtgP5exwlPsKZgz3tWgtC6jZqtHjvqM,1987
|
291
283
|
validmind/vm_models/test/output_template.py,sha256=njqCAMyLxwadkCWhACVskyL9-psTgmUysaeeirTVAX4,1500
|
292
284
|
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=
|
285
|
+
validmind/vm_models/test/result_wrapper.py,sha256=wBCkHg9a5Vrys98EjJG7XwWMU-0L1BkK3aufTCn9KxY,17629
|
286
|
+
validmind/vm_models/test/test.py,sha256=2arTeCZXN3ogc2ONN_RII1bw8FOdkFRwLXx5vOtoB9o,3239
|
287
|
+
validmind/vm_models/test/threshold_test.py,sha256=uN_jgnHE1MGIuL7KVvGIwmOKTIaQwTn7FvydWKh4St8,3677
|
296
288
|
validmind/vm_models/test/threshold_test_result.py,sha256=EXP-g_e3NsnpkvNgYew030qVUoY6ZTHyuuFUXaq-BuM,1954
|
297
289
|
validmind/vm_models/test_context.py,sha256=AN7-atBgOcD04MLVitCFJYooxF6_iNmvI2H4nkv32iw,9035
|
298
|
-
validmind/vm_models/test_suite/runner.py,sha256=
|
290
|
+
validmind/vm_models/test_suite/runner.py,sha256=wgjyqx2CU4bjX3fZKmzJP7gb5GFooGvsrVt93Ko8g1Y,6956
|
299
291
|
validmind/vm_models/test_suite/summary.py,sha256=co-xJJMUYGb7cOiVmw0i8vpZlfiMqrWjaCOmHKMAbcE,4686
|
300
292
|
validmind/vm_models/test_suite/test.py,sha256=_GfbK36l98SjzgVcucmp0OKBJKqMW3neO7SqJ3EWeps,5049
|
301
293
|
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.
|
294
|
+
validmind-2.3.3.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
|
295
|
+
validmind-2.3.3.dist-info/METADATA,sha256=enT83SFLRsAK6vYP6sJRnjx8JFWRzSQnCwnFa291nXc,3911
|
296
|
+
validmind-2.3.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
297
|
+
validmind-2.3.3.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
|
298
|
+
validmind-2.3.3.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
|
-
)
|