validmind 2.0.1__py3-none-any.whl → 2.1.0__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.
Files changed (127) hide show
  1. validmind/__init__.py +6 -3
  2. validmind/__version__.py +1 -1
  3. validmind/ai.py +193 -0
  4. validmind/api_client.py +45 -31
  5. validmind/client.py +33 -6
  6. validmind/datasets/classification/customer_churn.py +2 -2
  7. validmind/datasets/credit_risk/__init__.py +11 -0
  8. validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
  9. validmind/datasets/credit_risk/lending_club.py +394 -0
  10. validmind/datasets/nlp/__init__.py +5 -0
  11. validmind/datasets/nlp/cnn_dailymail.py +98 -0
  12. validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +255 -0
  13. validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +1277 -0
  14. validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +4847 -0
  15. validmind/errors.py +11 -1
  16. validmind/logging.py +9 -2
  17. validmind/models/huggingface.py +2 -2
  18. validmind/models/pytorch.py +3 -3
  19. validmind/models/sklearn.py +4 -4
  20. validmind/template.py +2 -2
  21. validmind/test_suites/__init__.py +4 -2
  22. validmind/tests/__init__.py +130 -45
  23. validmind/tests/data_validation/DatasetDescription.py +0 -1
  24. validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +3 -1
  25. validmind/tests/data_validation/PiTCreditScoresHistogram.py +1 -1
  26. validmind/tests/data_validation/ScatterPlot.py +8 -2
  27. validmind/tests/data_validation/nlp/StopWords.py +1 -6
  28. validmind/tests/data_validation/nlp/TextDescription.py +20 -9
  29. validmind/tests/decorator.py +313 -0
  30. validmind/tests/model_validation/BertScore.py +1 -1
  31. validmind/tests/model_validation/BertScoreAggregate.py +1 -1
  32. validmind/tests/model_validation/BleuScore.py +1 -1
  33. validmind/tests/model_validation/ClusterSizeDistribution.py +1 -1
  34. validmind/tests/model_validation/ContextualRecall.py +1 -1
  35. validmind/tests/model_validation/FeaturesAUC.py +110 -0
  36. validmind/tests/model_validation/MeteorScore.py +92 -0
  37. validmind/tests/model_validation/RegardHistogram.py +6 -7
  38. validmind/tests/model_validation/RegardScore.py +4 -6
  39. validmind/tests/model_validation/RegressionResidualsPlot.py +127 -0
  40. validmind/tests/model_validation/RougeMetrics.py +7 -5
  41. validmind/tests/model_validation/RougeMetricsAggregate.py +1 -1
  42. validmind/tests/model_validation/SelfCheckNLIScore.py +112 -0
  43. validmind/tests/model_validation/TokenDisparity.py +1 -1
  44. validmind/tests/model_validation/ToxicityHistogram.py +1 -1
  45. validmind/tests/model_validation/ToxicityScore.py +1 -1
  46. validmind/tests/model_validation/embeddings/ClusterDistribution.py +1 -1
  47. validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +1 -3
  48. validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +17 -22
  49. validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +1 -1
  50. validmind/tests/model_validation/sklearn/ClassifierPerformance.py +16 -17
  51. validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +1 -1
  52. validmind/tests/model_validation/sklearn/ClusterPerformance.py +2 -2
  53. validmind/tests/model_validation/sklearn/ConfusionMatrix.py +21 -3
  54. validmind/tests/model_validation/sklearn/MinimumAccuracy.py +1 -1
  55. validmind/tests/model_validation/sklearn/MinimumF1Score.py +1 -1
  56. validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +1 -1
  57. validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +5 -4
  58. validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +2 -2
  59. validmind/tests/model_validation/sklearn/ROCCurve.py +6 -12
  60. validmind/tests/model_validation/sklearn/RegressionErrors.py +2 -2
  61. validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py +6 -4
  62. validmind/tests/model_validation/sklearn/RegressionR2Square.py +2 -2
  63. validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +55 -5
  64. validmind/tests/model_validation/sklearn/SilhouettePlot.py +1 -1
  65. validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +11 -5
  66. validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +2 -2
  67. validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +140 -0
  68. validmind/tests/model_validation/statsmodels/GINITable.py +22 -45
  69. validmind/tests/model_validation/statsmodels/{LogisticRegPredictionHistogram.py → PredictionProbabilitiesHistogram.py} +67 -92
  70. validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +2 -2
  71. validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +2 -2
  72. validmind/tests/model_validation/statsmodels/RegressionModelInsampleComparison.py +1 -1
  73. validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.py +1 -1
  74. validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +1 -1
  75. validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py +2 -2
  76. validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +128 -0
  77. validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +70 -103
  78. validmind/tests/prompt_validation/ai_powered_test.py +2 -0
  79. validmind/tests/test_providers.py +14 -124
  80. validmind/unit_metrics/__init__.py +75 -70
  81. validmind/unit_metrics/classification/sklearn/Accuracy.py +14 -0
  82. validmind/unit_metrics/classification/sklearn/F1.py +13 -0
  83. validmind/unit_metrics/classification/sklearn/Precision.py +13 -0
  84. validmind/unit_metrics/classification/sklearn/ROC_AUC.py +13 -0
  85. validmind/unit_metrics/classification/sklearn/Recall.py +13 -0
  86. validmind/unit_metrics/composite.py +228 -0
  87. validmind/unit_metrics/regression/GiniCoefficient.py +33 -0
  88. validmind/unit_metrics/regression/HuberLoss.py +23 -0
  89. validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +30 -0
  90. validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +16 -0
  91. validmind/unit_metrics/regression/MeanBiasDeviation.py +13 -0
  92. validmind/unit_metrics/regression/QuantileLoss.py +15 -0
  93. validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py +21 -0
  94. validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py +13 -0
  95. validmind/unit_metrics/regression/sklearn/MeanSquaredError.py +13 -0
  96. validmind/unit_metrics/regression/sklearn/RSquaredScore.py +13 -0
  97. validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py +20 -0
  98. validmind/utils.py +20 -31
  99. validmind/vm_models/__init__.py +0 -2
  100. validmind/vm_models/dataset.py +623 -29
  101. validmind/vm_models/figure.py +52 -17
  102. validmind/vm_models/test/metric.py +33 -31
  103. validmind/vm_models/test/output_template.py +0 -27
  104. validmind/vm_models/test/result_wrapper.py +68 -36
  105. validmind/vm_models/test/test.py +4 -2
  106. validmind/vm_models/test/threshold_test.py +24 -14
  107. validmind/vm_models/test_context.py +7 -0
  108. validmind/vm_models/test_suite/runner.py +1 -1
  109. validmind/vm_models/test_suite/summary.py +3 -3
  110. validmind/vm_models/test_suite/test.py +1 -1
  111. validmind/vm_models/test_suite/test_suite.py +2 -1
  112. {validmind-2.0.1.dist-info → validmind-2.1.0.dist-info}/METADATA +18 -18
  113. {validmind-2.0.1.dist-info → validmind-2.1.0.dist-info}/RECORD +116 -94
  114. validmind-2.1.0.dist-info/entry_points.txt +3 -0
  115. validmind/tests/__types__.py +0 -62
  116. validmind/tests/model_validation/statsmodels/LogRegressionConfusionMatrix.py +0 -128
  117. validmind/tests/model_validation/statsmodels/LogisticRegCumulativeProb.py +0 -172
  118. validmind/tests/model_validation/statsmodels/ScorecardBucketHistogram.py +0 -181
  119. validmind/tests/model_validation/statsmodels/ScorecardProbabilitiesHistogram.py +0 -175
  120. validmind/unit_metrics/sklearn/classification/Accuracy.py +0 -20
  121. validmind/unit_metrics/sklearn/classification/F1.py +0 -22
  122. validmind/unit_metrics/sklearn/classification/Precision.py +0 -22
  123. validmind/unit_metrics/sklearn/classification/ROC_AUC.py +0 -20
  124. validmind/unit_metrics/sklearn/classification/Recall.py +0 -20
  125. validmind/vm_models/test/unit_metric.py +0 -88
  126. {validmind-2.0.1.dist-info → validmind-2.1.0.dist-info}/LICENSE +0 -0
  127. {validmind-2.0.1.dist-info → validmind-2.1.0.dist-info}/WHEEL +0 -0
@@ -1,16 +1,17 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: validmind
3
- Version: 2.0.1
3
+ Version: 2.1.0
4
4
  Summary: ValidMind Developer Framework
5
5
  License: Commercial License
6
6
  Author: Andres Rodriguez
7
7
  Author-email: andres@validmind.ai
8
- Requires-Python: >=3.8,<3.11
8
+ Requires-Python: >=3.8,<3.12
9
9
  Classifier: License :: Other/Proprietary License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.8
12
12
  Classifier: Programming Language :: Python :: 3.9
13
13
  Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
14
15
  Provides-Extra: all
15
16
  Provides-Extra: llm
16
17
  Provides-Extra: pytorch
@@ -21,36 +22,35 @@ Requires-Dist: arch (>=5.4.0,<6.0.0)
21
22
  Requires-Dist: bert-score (>=0.3.13,<0.4.0)
22
23
  Requires-Dist: catboost (>=1.2,<2.0)
23
24
  Requires-Dist: click (>=8.0.4,<9.0.0)
24
- Requires-Dist: datasets (>=2.14.5,<3.0.0) ; extra == "all" or extra == "llm"
25
- Requires-Dist: dython (>=0.7.1,<0.8.0)
26
25
  Requires-Dist: evaluate (>=0.4.0,<0.5.0)
27
- Requires-Dist: ipython (==7.34.0)
28
26
  Requires-Dist: ipywidgets (>=8.0.6,<9.0.0)
29
- Requires-Dist: jupyter (>=1.0.0,<2.0.0)
30
- Requires-Dist: kaleido (==0.2.1)
27
+ Requires-Dist: kaleido (>=0.2.1,<0.3.0,!=0.2.1.post1)
31
28
  Requires-Dist: langdetect (>=1.0.9,<2.0.0)
32
29
  Requires-Dist: levenshtein (>=0.21.1,<0.22.0) ; extra == "all" or extra == "llm"
33
- Requires-Dist: markdown (>=3.4.3,<4.0.0)
34
- Requires-Dist: matplotlib (<3.8)
30
+ Requires-Dist: llvmlite (>=0.42.0) ; python_version >= "3.12"
31
+ Requires-Dist: llvmlite ; python_version >= "3.8" and python_full_version <= "3.11.0"
32
+ Requires-Dist: matplotlib (<3.8.3)
33
+ Requires-Dist: mistune (>=3.0.2,<4.0.0)
35
34
  Requires-Dist: nltk (>=3.8.1,<4.0.0)
36
- Requires-Dist: numpy (>=1.23.3,<2.0.0)
35
+ Requires-Dist: numba (<0.59.0)
36
+ Requires-Dist: numpy (>=1.23.3,<2.0.0) ; python_version >= "3.8" and python_full_version <= "3.11.0"
37
+ Requires-Dist: numpy (>=1.26.0) ; python_version >= "3.12"
37
38
  Requires-Dist: openai (>=1.3.7,<2.0.0) ; extra == "all" or extra == "llm"
38
- Requires-Dist: pandas (==1.5.3)
39
- Requires-Dist: pandas-profiling (>=3.6.6,<4.0.0)
40
- Requires-Dist: pdoc (>=13.1.1,<14.0.0)
39
+ Requires-Dist: pandas (>=1.1,<2)
41
40
  Requires-Dist: plotly (>=5.14.1,<6.0.0)
42
41
  Requires-Dist: plotly-express (>=0.4.1,<0.5.0)
42
+ Requires-Dist: polars (>=0.20.15,<0.21.0)
43
43
  Requires-Dist: pycocoevalcap (>=1.2,<2.0) ; extra == "all" or extra == "llm"
44
- Requires-Dist: pydantic (>=1.9.1,<2.0.0)
45
44
  Requires-Dist: pypmml (>=0.9.17,<0.10.0)
46
45
  Requires-Dist: python-dotenv (>=0.20.0,<0.21.0)
47
- Requires-Dist: requests (>=2.27.1,<3.0.0)
48
46
  Requires-Dist: rouge (>=1.0.1,<2.0.0)
49
47
  Requires-Dist: rpy2 (>=3.5.10,<4.0.0) ; extra == "all" or extra == "r-support"
50
48
  Requires-Dist: scikit-learn (>=1.0.2,<2.0.0)
49
+ Requires-Dist: scipy (>=1.12) ; python_version >= "3.12"
50
+ Requires-Dist: scipy ; python_version >= "3.8" and python_full_version <= "3.11.0"
51
51
  Requires-Dist: scorecardpy (>=0.1.9.6,<0.2.0.0)
52
52
  Requires-Dist: seaborn (>=0.11.2,<0.12.0)
53
- Requires-Dist: sentencepiece (>=0.1.99,<0.2.0)
53
+ Requires-Dist: selfcheckgpt (>=0.1.7,<0.2.0)
54
54
  Requires-Dist: sentry-sdk (>=1.24.0,<2.0.0)
55
55
  Requires-Dist: shap (>=0.42.0,<0.43.0)
56
56
  Requires-Dist: statsmodels (>=0.13.5,<0.14.0)
@@ -60,8 +60,8 @@ Requires-Dist: torch (>=1.10.0) ; extra == "all" or extra == "llm" or extra == "
60
60
  Requires-Dist: torchmetrics (>=1.1.1,<2.0.0) ; extra == "all" or extra == "llm"
61
61
  Requires-Dist: tqdm (>=4.64.0,<5.0.0)
62
62
  Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "all" or extra == "llm" or extra == "transformers"
63
- Requires-Dist: wget (>=3.2,<4.0)
64
- Requires-Dist: xgboost (>=1.5.2,<2.0.0)
63
+ Requires-Dist: xgboost (>=1.5.2,<3)
64
+ Requires-Dist: ydata-profiling (>=4.7.0,<5.0.0)
65
65
  Description-Content-Type: text/markdown
66
66
 
67
67
  # ValidMind Developer Framework
@@ -1,17 +1,25 @@
1
- validmind/__init__.py,sha256=rvvTYKsJhDBDliRJp-oLoCehMNKsHZ917BgwYC9BiqI,3627
2
- validmind/__version__.py,sha256=wAxkK8w13vqoF47A8iqWdSlIgRRXmZiQ0R4wePZfzhs,22
3
- validmind/api_client.py,sha256=afeMJi546lP1d_OeMVnBKxK-TK4mmP-iSlIytyTXiW4,14990
4
- validmind/client.py,sha256=RPIDY8SLcuNyIvm4z-Nj7yYSrmRNBkRq77hMM28CIM0,16059
1
+ validmind/__init__.py,sha256=XqPjCbFMvEYl0cIT42EZKP7DFMYDC7KDW6syo8MGkDg,3682
2
+ validmind/__version__.py,sha256=Xybt2skBZamGMNlLuOX1IG-h4uIxqUDGAO8MIGWrJac,22
3
+ validmind/ai.py,sha256=P3cO8FVj_nEhMj7FA5OalMah-lCptCjFC8Sr31fsrHo,6403
4
+ validmind/api_client.py,sha256=aZAwgg7U5IwfX__rmhRdAM6zD5skifuEUV4vvyoWp-U,15432
5
+ validmind/client.py,sha256=C_8KmuiteezpIfvc-D5lnkm8rQRlS70_iMVc9RMltx4,16818
5
6
  validmind/client_config.py,sha256=58L6s6-9vFWC9vkSs_98CjV1YWmlksdhblJtPQxQsAk,1611
6
7
  validmind/datasets/__init__.py,sha256=oYfcvW7BAyUgpghBOnTeGbQF6tpFAWg38rRirdLr8m8,262
7
8
  validmind/datasets/classification/__init__.py,sha256=HlTOBLyb6IorRYmAhP3AIyX-l-NyemyDjV8BBOdrCrY,1787
8
- validmind/datasets/classification/customer_churn.py,sha256=r_iZeb-6k-JX9Go5P-SS2Nq-708OTowRxMQ7TTDIUew,3771
9
+ validmind/datasets/classification/customer_churn.py,sha256=pqw6wjMF7KIDgUKX2KLm3IcIV7QdS2mmRAV_EhWwKLM,3802
9
10
  validmind/datasets/classification/datasets/bank_customer_churn.csv,sha256=b0muNg38DpowgKjhBCSti7k_j1tDJMy2tydz3tAEAL4,545707
10
11
  validmind/datasets/classification/datasets/taiwan_credit.csv,sha256=fe19VfV30li7rdydnXpbqC372JCdf_HvDc3mMlWNbXE,2897191
11
12
  validmind/datasets/classification/taiwan_credit.py,sha256=nj6JyfcyAfaYgh60T3LdBZsCpzRBsMf0RjYMvedHzuQ,1469
12
13
  validmind/datasets/cluster/digits.py,sha256=E600pX6QPrqndfr73kwZ1sTNk0hC5kNj4Fhs8zz8bQo,2097
13
- validmind/datasets/nlp/__init__.py,sha256=oYfcvW7BAyUgpghBOnTeGbQF6tpFAWg38rRirdLr8m8,262
14
+ validmind/datasets/credit_risk/__init__.py,sha256=5y_NKgWbCfPSw34dYEcgu9y2hici2pxidQqkm-emofs,270
15
+ validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz,sha256=bAgdfmUxjYOdZMPvoHtKr_GLoXNAX04KUTfjn2L62eE,5493810
16
+ validmind/datasets/credit_risk/lending_club.py,sha256=oscdu1zmDytSU6dJwinl97si4LDdzMBTFUgiJialRmE,11403
17
+ validmind/datasets/nlp/__init__.py,sha256=lu2-SGOSECgrxhDtHdlh_FsbpsFtuZ4DbLSL1sww5nc,323
18
+ validmind/datasets/nlp/cnn_dailymail.py,sha256=9gAHFWQhSJJ2JF_zarc2oLErZwPtRyfvXV4molhVzXM,3471
14
19
  validmind/datasets/nlp/datasets/Covid_19.csv,sha256=cwAJHgek3JWUhtZQIiC9-wRWycxbiod6nyZikf09iKE,11545066
20
+ validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv,sha256=MSaj0RJ1lbgePDTfpmgganzit64FQ846J1qjm8PJtfI,426676
21
+ validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv,sha256=bR8Z-m43lngaFW983ECJwSKea3GlfhZDYfPC0MDJMec,2246787
22
+ validmind/datasets/nlp/datasets/sentiments_with_predictions.csv,sha256=zwYI-XjUy72XqD0om-cMVYMrEUsL36u4rPAwsicoQtg,754686
15
23
  validmind/datasets/nlp/twitter_covid_19.py,sha256=PtBOh6pri6pVQKpR0ivQfXy4Wcom40G9-dyYgcv0jFI,878
16
24
  validmind/datasets/regression/__init__.py,sha256=wBcJyMyX4U6XjY6Y-aLozHdbjQlXbeFgB2YqFTk2kVU,1653
17
25
  validmind/datasets/regression/california_housing.py,sha256=dZHVZ7ufR5ZVfsBlaIlQtEgBUNGuXjEuZm1OrwRl4KY,1046
@@ -40,21 +48,21 @@ validmind/datasets/regression/models/fred_loan_rates_model_2.pkl,sha256=J1ukMdeF
40
48
  validmind/datasets/regression/models/fred_loan_rates_model_3.pkl,sha256=IogZPcUQc1F_v11fR6KWT-nRt5JzvK5f7p4Hrw7vLps,40063
41
49
  validmind/datasets/regression/models/fred_loan_rates_model_4.pkl,sha256=cSxhpcrI4hCbxCwZwE2-nr7KObbWpDii3NzpECoXmmM,48292
42
50
  validmind/datasets/regression/models/fred_loan_rates_model_5.pkl,sha256=FkNLHq9xkPMbYks_vyMjFL371mw9SQYbP1iX9lY4Ljo,60343
43
- validmind/errors.py,sha256=yWTMjtRYcTYtEHC0FM4rCeuSl9_dqyv-n9udLtm9wy4,7763
51
+ validmind/errors.py,sha256=jHj__AKOMiwIb7qSs2mxu3LSi0lyzFwSAt1gy2lpDaE,7993
44
52
  validmind/html_templates/content_blocks.py,sha256=M5BGGXT90kqUrxynkB4DPC4BQziLWglB2oK2En6KP9s,1607
45
53
  validmind/input_registry.py,sha256=zexO3x-vncaoWvQ6VfkvgDLn6x72e2BNel_jCbrVHSE,793
46
- validmind/logging.py,sha256=AnCOUd6VyCl-5iJCJxXoNfGKyxSxHLRN8nOAMs4WBCU,4808
54
+ validmind/logging.py,sha256=Ui67RYoB1qbuHm_KX1aGj_8DoK_ljjUDGG6a1XJ4yoY,5041
47
55
  validmind/models/__init__.py,sha256=SWfy_JTnifVCbl04SZg3vwSJpRX_kWtb5wQlSIhJ9T8,623
48
56
  validmind/models/catboost.py,sha256=xw3m2iE4k4TL8FLi-hQy5ylIGG7ta4Q58bcQ_04BJbw,1036
49
57
  validmind/models/foundation.py,sha256=pZVmIC1lpszQLluEOtnuvdVRoOf-j6XsjRfBZQXVITc,2269
50
- validmind/models/huggingface.py,sha256=zSOzOmctuxk4nGZNHqYJhzIYG4t1PQ47I6Y8mwqmJg8,2863
51
- validmind/models/pytorch.py,sha256=5PPV8lhSPpOsZiP_jhmVr8UUkhCI-sn-cRyZ536H4y8,2575
58
+ validmind/models/huggingface.py,sha256=MjHVm4X8_9_5Qos4UyNyLokN9xi3I4Ebl4ML90Fi_YE,2881
59
+ validmind/models/pytorch.py,sha256=sFcfH92nLe0WVBEUuovZxuGIy_PTp1t0fWMpBrej_6U,2602
52
60
  validmind/models/r_model.py,sha256=GzlVeJgPNwtzcbyThjGyZ4T3vBJFOYDSh0aqRMsIDOQ,8344
53
- validmind/models/sklearn.py,sha256=YMI9buhWgFCv4rEHYcLxaiO3KEo8HMwJi35Se4teKZQ,2284
61
+ validmind/models/sklearn.py,sha256=pSg3eSQovxSD2cqcUDwQOXGseg0Bicsn_FXa9_URekE,2405
54
62
  validmind/models/statsmodels.py,sha256=_8GYhO21-rs3QUE_YOFi1eGMMBIr-weJmxmCrw1HZxQ,1455
55
63
  validmind/models/xgboost.py,sha256=joL0uyhE4bJfINHh-dMtPhQ5d1MfWfRMVD77XWmAUnY,951
56
- validmind/template.py,sha256=X6Hl6JHaUll7yVcC_VNu66YaCXAAsPPiDhBqTSeOtm4,7918
57
- validmind/test_suites/__init__.py,sha256=cQPKtZldzeVKfyD6BCz8diFi5yxbewQXQ3wR_1yN8L8,7231
64
+ validmind/template.py,sha256=6k9IcnHwS5Dd4KQrUIpjQ83TZOI3YAhJML7GEB22ZtI,7907
65
+ validmind/test_suites/__init__.py,sha256=u_qMwPxpqgIkT7UOuE1qb0qDcNk0tXAVrUg1kGMqW2Q,7259
58
66
  validmind/test_suites/classifier.py,sha256=0ZE3z5X_ZewTvmwQ3cVGJQh7dPgg0IlqcQshJJxCFWQ,4003
59
67
  validmind/test_suites/cluster.py,sha256=Wc2NViwivjiuiJMwrnGbOJYeZ3ApN8usWlOPYZYWAgE,2276
60
68
  validmind/test_suites/embeddings.py,sha256=sBQRMjlp7kzsvPkA0qkgmAr4yzUrHMmXSEfSHMkn-_s,1949
@@ -67,8 +75,7 @@ validmind/test_suites/summarization.py,sha256=unEpfk8_etLMuYAtSmBzlqrUpo0kd9Vc3S
67
75
  validmind/test_suites/tabular_datasets.py,sha256=WE4eLzRCfiqAxRqXnZFRR3Lo_u-TI6KM6hmTbR8rg5o,1798
68
76
  validmind/test_suites/text_data.py,sha256=YGVGBB05356jN9Gzcy5CHShRzo1fm5mKsZY7YBq0cYU,739
69
77
  validmind/test_suites/time_series.py,sha256=msUyYySAe5VHJJp6z0k0cNt2ekMB8-XkxGER75Zs1hs,6724
70
- validmind/tests/__init__.py,sha256=ADeOdXNpwr2NlUE04fqd1AlM_3DLWj1_pank9OPAg7U,12416
71
- validmind/tests/__types__.py,sha256=qpviIvN-OGmgd9Kmw0kZ6HVjYe-IuaSCygXgZyNv1-8,1603
78
+ validmind/tests/__init__.py,sha256=5V86X-H_z2Dx6gxD2-VnOBjE-pGqXesrm8wkBrgv3YE,15290
72
79
  validmind/tests/data_validation/ACFandPACFPlot.py,sha256=__JowNXtc511g_g8VXc0IX7j6qBE5J_v7IoWUKmj_E8,4745
73
80
  validmind/tests/data_validation/ANOVAOneWayTable.py,sha256=PEHFVJnFAK6Oy5RW1wJThEzri92THRgwQ45f6RXMGMI,6026
74
81
  validmind/tests/data_validation/AutoAR.py,sha256=kulDh8i7p7CjenVvXS54kfZe53M-eXzQ7aHZylnA06M,6676
@@ -80,13 +87,13 @@ validmind/tests/data_validation/BivariateHistograms.py,sha256=2GWca2OynF1FVYkDE8
80
87
  validmind/tests/data_validation/BivariateScatterPlots.py,sha256=5JuSs7I1JZaUpXwhGV9u_biMq4xJEUr3CHfh2JXv9JQ,5208
81
88
  validmind/tests/data_validation/ChiSquaredFeaturesTable.py,sha256=ss6Ewgigch0Ck25Bn-cwNviWup9OOGH8KgDpfT8DiL4,6048
82
89
  validmind/tests/data_validation/ClassImbalance.py,sha256=TkI67YUu1DdnRxup-sTo3h6aNS-2ww3LPFxMHnOwAHA,6922
83
- validmind/tests/data_validation/DatasetDescription.py,sha256=dQsHQASStkcE2U1sIXZ3Pn5eVlvx_DB2o2hCprtoXao,11402
90
+ validmind/tests/data_validation/DatasetDescription.py,sha256=2ez3MyPhkgvJVXDctADQAayltZzfJAiP5Psv6XgxVuU,11401
84
91
  validmind/tests/data_validation/DatasetSplit.py,sha256=JwhIIkxbTwsHAGyJfe1frVYybnd4290DoL6TXO_1Bbs,5127
85
92
  validmind/tests/data_validation/DefaultRatesbyRiskBandPlot.py,sha256=lrVeFrw4rRND7sO2kpv0RHxks9xHQBqkNfz-IN0xw_0,4861
86
93
  validmind/tests/data_validation/DescriptiveStatistics.py,sha256=oVjFO-mR5sMQwzGFrjN5UP9jugNy0nSRtNwPbcGthGk,6411
87
94
  validmind/tests/data_validation/Duplicates.py,sha256=rDLxdNLGqfL-Yon04b8uFESazKtn7hqxsegvPfoRHBE,5639
88
95
  validmind/tests/data_validation/EngleGrangerCoint.py,sha256=Rz8BaptMo79JS8XGrnCGnrMmZo994HBmVGKJCvBqfH0,5580
89
- validmind/tests/data_validation/FeatureTargetCorrelationPlot.py,sha256=qqxA6EM-PLqREn64S_bxl9lwEm7KuhCe6yhY7t3x7PI,5001
96
+ validmind/tests/data_validation/FeatureTargetCorrelationPlot.py,sha256=wfYhyK-hhUHGxfWDAUqoorY2EXbDeLCbroPMi14vkzs,5036
90
97
  validmind/tests/data_validation/HeatmapFeatureCorrelations.py,sha256=JAxx9JUmplFTcQtaFaCk9JCDCMLkDABMhSgj65ARAUc,5707
91
98
  validmind/tests/data_validation/HighCardinality.py,sha256=4cjBNoWYUHVhl3TuRLrBa6tZ4AWJAOLgIjtk3JnrEZ4,5111
92
99
  validmind/tests/data_validation/HighPearsonCorrelation.py,sha256=0W_nai0F169rH-rsQynEkozTUrFEnTkS0RaFjL-zodA,5582
@@ -98,10 +105,10 @@ validmind/tests/data_validation/MissingValues.py,sha256=gvLTy5DiBqp0VemOhVEUq3Bs
98
105
  validmind/tests/data_validation/MissingValuesBarPlot.py,sha256=bTfMCab8gK0VXF1EZ18pTguZkFdfo1ZHhz2hmkFAyG4,6226
99
106
  validmind/tests/data_validation/MissingValuesRisk.py,sha256=GzsGHFL-qMQxuqdu62SF4O5r8UDoUN5xv_b8drR-Afc,4110
100
107
  validmind/tests/data_validation/PearsonCorrelationMatrix.py,sha256=dM6M8jjGHNL9umM1vcKwG5bP3BIW8Psle-_0naKg6iE,4747
101
- validmind/tests/data_validation/PiTCreditScoresHistogram.py,sha256=7NdDCVO7rUO66LZqS3C2XQEmWowDWUm2hWsOQ5Nap3I,5639
108
+ validmind/tests/data_validation/PiTCreditScoresHistogram.py,sha256=tH6DB9mlNsg87p2JIYhUaCEiRCrYh2JCFYnS4anoD44,5630
102
109
  validmind/tests/data_validation/PiTPDHistogram.py,sha256=d37gdsUle_m7rzJEgvR735P7hZdzz2ly5YA1huwMbgc,5950
103
110
  validmind/tests/data_validation/RollingStatsPlot.py,sha256=MqKooEL1cIRandoSN7sWhKgXDhdbIbCcBTVvc-FIp5k,5901
104
- validmind/tests/data_validation/ScatterPlot.py,sha256=E82xyP8-GdlQJ1IeXsyS3BE_fwuYw38gtkf_UTbb4m8,4047
111
+ validmind/tests/data_validation/ScatterPlot.py,sha256=57wfWhJY0c0l_iqVYq6DqrbHHNYdH-AJY_sPppLqeYI,4371
105
112
  validmind/tests/data_validation/SeasonalDecompose.py,sha256=U56NXO1q9wnzCWnK3xCeklKPGVUxIOTzi-6cLrUkUsY,8903
106
113
  validmind/tests/data_validation/Skewness.py,sha256=lygUUQomckvdX5__JGOn6Rx0kJRfyw-0gZOjqqN9Phk,4935
107
114
  validmind/tests/data_validation/SpreadPlot.py,sha256=3FMhokxIexGzRoIlRElkkgpQRRdvnlyx0-tt8aK-wDY,4591
@@ -124,27 +131,32 @@ validmind/tests/data_validation/nlp/CommonWords.py,sha256=vrURXSTcfuPKDmcUJoCBuD
124
131
  validmind/tests/data_validation/nlp/Hashtags.py,sha256=CVFvv6hTrB4Mb-b9WqHK1w1GUVs8J8gIrYP2v5OqPOo,4368
125
132
  validmind/tests/data_validation/nlp/Mentions.py,sha256=4nhJQhZoOEPPjw00tmTmEzUP1lSGL6lHdyVwISBkujA,4673
126
133
  validmind/tests/data_validation/nlp/Punctuations.py,sha256=5WI3Uu9EpdJ2FWBY2qBXRn6Nf4sldis0huq9QVbDaJ4,3867
127
- validmind/tests/data_validation/nlp/StopWords.py,sha256=VA3GUBUYxaP8qg8w1z01ssQVMjfoyYykGWVokUl2VmQ,6353
128
- validmind/tests/data_validation/nlp/TextDescription.py,sha256=ZYTEykuZIIuEqm8CQabQa2DcuUpShpRdHtXq7PW6A9Y,8109
134
+ validmind/tests/data_validation/nlp/StopWords.py,sha256=YAwXyfoCLR8jLm7dlXknSpgUoN4JoBK3750hNByJ5FA,6131
135
+ validmind/tests/data_validation/nlp/TextDescription.py,sha256=27u4xpFX-FYuMcDVRkw3p1ajcCzd5TgaVkPIqOi8GJc,8718
129
136
  validmind/tests/data_validation/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
- validmind/tests/model_validation/BertScore.py,sha256=1BSgPQkxy2XhmOjlON6tAY_Lq8PQzfqXlFVqRX6Ad6o,4560
131
- validmind/tests/model_validation/BertScoreAggregate.py,sha256=up6gqYCYM-RrSN9L4E32qR_obTwHms_VN49MHZYMhH0,3781
132
- validmind/tests/model_validation/BleuScore.py,sha256=_WJv510lB2HEdBbdITMJnOZLx_lb5NBEK6h-39cixyk,3848
133
- validmind/tests/model_validation/ClusterSizeDistribution.py,sha256=ev5_9VjH1DxMfMquijkTYuinZ9uFT0753emk-PbWo6g,4164
134
- validmind/tests/model_validation/ContextualRecall.py,sha256=AEIJKkRT1SiR-Y9Pkl4VrgsjEKboJcttsjjY_RFeGOY,4801
137
+ validmind/tests/decorator.py,sha256=d08RohEbcWSzUJvNukmRPD9ajTr_Xcpzgc1LQqvzeRY,9319
138
+ validmind/tests/model_validation/BertScore.py,sha256=IcYrorBjpm65Zhg7nwQpYTpmow9QZeW5EOB9wc4IQP0,4551
139
+ validmind/tests/model_validation/BertScoreAggregate.py,sha256=UVKZdQ0a0CDRLvCm5OkSw-ERnEoboJAgAWf3s70QKLU,3772
140
+ validmind/tests/model_validation/BleuScore.py,sha256=-EVViGcu40ZW6g8v4DTlE1K5q7XoCRuoagvsEgLBlXA,3839
141
+ validmind/tests/model_validation/ClusterSizeDistribution.py,sha256=IKcMBCBsasbi6i8LTqv0H6PUUsG8FXnBtc15uj209WY,4155
142
+ validmind/tests/model_validation/ContextualRecall.py,sha256=wYyjGu8wMdFfS8y59CB8XxWX2Yblh4GI2qmm1H14HpM,4792
143
+ validmind/tests/model_validation/FeaturesAUC.py,sha256=aJucUD5u9VxnLpE3klr49VvyvtqT5QGhYE5VNT4hE44,4657
144
+ validmind/tests/model_validation/MeteorScore.py,sha256=Ym8jaioq6qKlnvltYyHNZ1yDymV7VMGLqn5M-X3tsgQ,4387
135
145
  validmind/tests/model_validation/ModelMetadata.py,sha256=F9ctmlIxngkHgOlggRl0WFLilh46SlM3vYfY9zkhtYk,3733
136
- validmind/tests/model_validation/RegardHistogram.py,sha256=sJ59iovqqKQ6_ZEI__XNzLEou94i0VnTMniPW4txn4U,6330
137
- validmind/tests/model_validation/RegardScore.py,sha256=RdYVF1TWzenisoQPQh6mravsw9TkVo60F3gXJo2RX_k,6339
138
- validmind/tests/model_validation/RougeMetrics.py,sha256=ZDPE3W65RaEKJxB20aY-_C95P2xllrqAMA4ctIbvPrw,5694
139
- validmind/tests/model_validation/RougeMetricsAggregate.py,sha256=mqTauD_joTSghAp3f6kB8WdgdDAv2M49UJsM4ICymiA,5213
140
- validmind/tests/model_validation/TokenDisparity.py,sha256=Fi-ut8imGEydcmtIv4eCjgqlV88POcE3BIMU10-UIqw,5465
141
- validmind/tests/model_validation/ToxicityHistogram.py,sha256=t8ONPo5Uugp7Kg1LB_kkVeSaC51ok2wKuVpKW7w1BTE,5108
142
- validmind/tests/model_validation/ToxicityScore.py,sha256=w4WdNgnxizlZ5ND2CghDA6A3M670TQNdy8SSWEAn6G8,5571
146
+ validmind/tests/model_validation/RegardHistogram.py,sha256=zkllYyWi18My7s-dq4aNPEUfDF3Ike5ma9QyQXxiep8,6151
147
+ validmind/tests/model_validation/RegardScore.py,sha256=3N_QcE6zfn1Oi_FxjyGYxseu1mu8mZovQTaUZTeb3As,6172
148
+ validmind/tests/model_validation/RegressionResidualsPlot.py,sha256=EQzJn9wH_1pztHr2JI26Um3E9KzHmu6o76o4ffbXZj4,5025
149
+ validmind/tests/model_validation/RougeMetrics.py,sha256=XeenuungQUquTDqpLx34XwIqmc7_uO5MoQyOCahDCEo,5793
150
+ validmind/tests/model_validation/RougeMetricsAggregate.py,sha256=A3RwyCZ_btNpEsIM-9p5wg529C7lVrMFOKHbHkaZXgI,5204
151
+ validmind/tests/model_validation/SelfCheckNLIScore.py,sha256=dE7X22unmCGwg5E0Fh5zo3R6VhNBX83tQNyEp6wmnzc,5477
152
+ validmind/tests/model_validation/TokenDisparity.py,sha256=SnJC9mGywLt0HDxDge83uVJ-0z8qybb7OoedUiaTncc,5456
153
+ validmind/tests/model_validation/ToxicityHistogram.py,sha256=V1-SkHqp3-JlLV9c4pO-FulvTSwtThQIrOlQc6gDVSc,5099
154
+ validmind/tests/model_validation/ToxicityScore.py,sha256=IWzFMisP7BiM2Tuya4RJkdAbfvHbfsbVunBK8Dgfl20,5562
143
155
  validmind/tests/model_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
- validmind/tests/model_validation/embeddings/ClusterDistribution.py,sha256=PtS59NO2aTkBYvdCtH3rW28LnNtLY0IjdNhej8th5bs,3561
145
- validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py,sha256=PZ0_mfowMZjJKTYOkQpY344x3LhgsAxIgGSgtfyxu40,3490
146
- validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=eeKbz8_bLSgQJWPZwSwOIWetPOhvmMBrBchVmfuXOnI,4124
147
- validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py,sha256=ZJperoku3tQzjWTtAdPFA8Dj6B1T5nAGVbdjw3CyWT8,4351
156
+ validmind/tests/model_validation/embeddings/ClusterDistribution.py,sha256=8V2mE_V3S3cIBk29MB0xPqgla1mxiGJcXZ1m99ds3ck,3552
157
+ validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py,sha256=B3quw4ZCWVyhDBHbVp637JoVTpSAROJfUwY-ECLOTAo,3459
158
+ validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=hLOcJ3lGigyA2VYAQunKB8dkBzh5TORFawg8TZIlG94,4247
159
+ validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py,sha256=HxXrkp6OKfGgzuRKWzhAGXYAI8VjYIpLWg62nXHOLVw,4342
148
160
  validmind/tests/model_validation/embeddings/StabilityAnalysis.py,sha256=L8nx-ihORWr9sAPLXcUwzgek9wfauQLaQkO4fCEtAMc,4185
149
161
  validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py,sha256=qXqGaK8OVcP6h_iEZOf_-5XtbOGpiU00RyI535deAm0,3907
150
162
  validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py,sha256=N20bQgBP0AUt3EASZHofQUWbE3N5ix04-r6cXS7YFcg,5672
@@ -152,68 +164,66 @@ validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py,sha256=
152
164
  validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py,sha256=mvAmv3PcysITo48GbMS-F_tHUAX_wmS173jrBhBB6mc,4573
153
165
  validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py,sha256=iUt8PJd7Q-nhfDkU0siZY5Gip_uzSCqwOjpd_WBuv2I,2892
154
166
  validmind/tests/model_validation/sklearn/AdjustedRandIndex.py,sha256=Mb03a6R37GagRuy269TE8ZgaMaF3vngcH3-Um6SZYmg,2767
155
- validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=Dj5j_0CK-yYmOc9ovJ8t8e_fK5e_RoBJxKMpp2Ni2yw,5953
156
- validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py,sha256=i0XyfOUnw-HrntRN9Si2sFdzszvVUQFB7nVp1AOD9fQ,5494
157
- validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=OTR7_JudQFkC5HnnuMKZOsEd-jRXYTtXUwQaLbSKGZM,5387
167
+ validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=bbZkuGEm_D_zZf3hBeqjw9DrDKeKoLQiwfg2Cjd7gZY,5945
168
+ validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py,sha256=bktc1cEkayjwFd846FgkUwCXChCppcJ7XnbWLauREGo,5485
169
+ validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=Rq2OXSx6DgbUrR9VP8ncUvCK-BFTzxTrMMlLKMQyu7M,5369
158
170
  validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py,sha256=iFbLvZkiYUDa9Lul1jX85TfrkwUAIkOhGTUrRlV3U4Y,8604
159
171
  validmind/tests/model_validation/sklearn/CompletenessScore.py,sha256=Uj_hTTTqRLHDJ-pjajfuun_2Anq7W0GQpwPsAhdWq24,2559
160
- validmind/tests/model_validation/sklearn/ConfusionMatrix.py,sha256=p_E4qOH0Ppi1aM9U_SrvzrGAlI5xEJYJZv9Pm00140c,5267
172
+ validmind/tests/model_validation/sklearn/ConfusionMatrix.py,sha256=Bm9fsw9nD1KurbBbXf0Jph0MN7_-7GRiydiTTfDgiU4,5776
161
173
  validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py,sha256=hL7hfvdeZ_jR9ktxMH9NI-hwvLsl478iQDajOXUuocM,3049
162
174
  validmind/tests/model_validation/sklearn/HomogeneityScore.py,sha256=ykBkNCNm1HRyMoU2x5hK20tuKbU0vYrwj4huc4x7v6w,2753
163
175
  validmind/tests/model_validation/sklearn/HyperParametersTuning.py,sha256=YGJ38Px-RRIkWVHavLr_FNm6sod_k_t6U32BLmIFMTg,4660
164
176
  validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py,sha256=o5ScxbbwW0BziLOVW2hxgj91C0fY5KVanU0tyVBNWBs,5960
165
- validmind/tests/model_validation/sklearn/MinimumAccuracy.py,sha256=gXrcCqyNrjcyYXOraDzSeseJfaBAxoRh2jTc9dEJano,5346
166
- validmind/tests/model_validation/sklearn/MinimumF1Score.py,sha256=V7bb_Yqi3u2fIo-ow9VOmIaWqvdD_UzZwa9ri2FNavA,4687
167
- validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py,sha256=D_KCCE6vmdC7HCJxV3dxTUa1SVK88J7sThUGRiOmzZY,4900
168
- validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py,sha256=EKI6v-YKVETLIjZtQgla8ISILYpuEZ5fYjgFgpLLt2c,6303
169
- validmind/tests/model_validation/sklearn/OverfitDiagnosis.py,sha256=xMVu18XM-1zpsysG-Mqu594iNmi-aop391ejXYcjL5Q,14174
177
+ validmind/tests/model_validation/sklearn/MinimumAccuracy.py,sha256=MAkVBawefPT_ST5odD3Pyqg-Jbfj1HcmNUkVGwFYcNk,5337
178
+ validmind/tests/model_validation/sklearn/MinimumF1Score.py,sha256=5QLwdsFkuT-k2QkVR6CZw3gPb6RFrgJe8VtZkqma1eg,4678
179
+ validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py,sha256=0KMdAHZOnY_PpoWSNZxmudClqQ469JV_V_vTM3FXAC8,4891
180
+ validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py,sha256=sUKPQCOrc8r5jCzWyU1n_Cuj9bY4uD8B8aoe-pUoGzY,6297
181
+ validmind/tests/model_validation/sklearn/OverfitDiagnosis.py,sha256=dnyk2MR4YZSLGm378NqEW5l4tkS4HcRbNc1PqYE96UI,14156
170
182
  validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py,sha256=APnrI-jXTew4nq4CkCqAkIcNS0uwWegxSwvhiHN5kV0,5038
171
183
  validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py,sha256=4X3tvbzl5X-hF23kqqAQlMSSHhLltVTFeBwODF_cz00,10242
172
184
  validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py,sha256=XA3_5uXvqJ7rawyK8_i8oB59cpZwh8T1FU9c-PTMY3Q,4401
173
- validmind/tests/model_validation/sklearn/ROCCurve.py,sha256=uhQ_Tru91pbaUhc80FLSHHFkAArhJQrB1MWW5YQ3r0s,5964
174
- validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=Oo1ywVHv1hxi4RNtkx7wqiiLGu0Tfdikplp5mkZQz3o,5998
175
- validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py,sha256=JUnmMb44YBdEcgjN4IOaYTkhP3GjaLW_w2pruyBbDvY,5522
176
- validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=4bvErRBYJqrMVDNCAzIPt9fgQVfdBAYOBY7L-1fgBjQ,4987
185
+ validmind/tests/model_validation/sklearn/ROCCurve.py,sha256=llDy61r921sIcoTZk4tXhjM50sOO90h_zsEKxa3Y4wA,5785
186
+ validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=SBxFPZ1-C_ObpLeol7ghf5cdJBimNljYTlFsfohagtA,5980
187
+ validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py,sha256=RIup0L4cXycyWfU4GY9J7BuX88OoJ9eSs6ruT4Ho1vU,5539
188
+ validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=-EWxr6T6y59whYDDaDeenduHMaYoOpc8AVwe-X0j83o,4969
177
189
  validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py,sha256=JQTWfdocIHYYv69nzbC0M0GAh6ldUMfQ4TKK9jUnhCI,13780
178
- validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=1-I2KmS77onjhfrB6TKIvGTWPaAf_yu-jERrk7f92pY,6713
179
- validmind/tests/model_validation/sklearn/SilhouettePlot.py,sha256=FifZA2aL8SPgnD6T_mEDwCFgMjpce5cB8WO-WwvrFr8,6246
180
- validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=SrQ3SgxWfaq7pA6dAvQKhXdjOvra5umIsH4XnaCHvvw,7078
190
+ validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=iGx_y-6NrzptmEzTKpKmUPz_bwS6ewXEuwOSM1LRQM4,8650
191
+ validmind/tests/model_validation/sklearn/SilhouettePlot.py,sha256=TznxbLhwybNbht6hUg4MSKxX3TI7zJp75tQH0svWon0,6237
192
+ validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=Gy2I67FFu1q_Ny92RAiXyZ_l6TZEY0_X_MMNHy7pqc4,7273
181
193
  validmind/tests/model_validation/sklearn/VMeasure.py,sha256=x2cdcN_Wh_hnfAsF715QgWBPbhZMi533PO-No84iEJ4,2772
182
- validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py,sha256=5kprqZWReOZm14cYvxA0_DmFP9Kus1L82ha_yVVpu88,14245
194
+ validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py,sha256=5Ishn16wtBsfmlnlj9mufaElNQ6uGfI9hakvvAVq7os,14227
183
195
  validmind/tests/model_validation/sklearn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
196
  validmind/tests/model_validation/statsmodels/ADF.py,sha256=97lutdezxrdsFB1rkTESx2uSp8RHPRhEhucrs2ZyR04,4042
185
197
  validmind/tests/model_validation/statsmodels/ADFTest.py,sha256=pNuH0699hyI7533iuMMf2C3FiVb-TM3fSEsZuGdSGJA,4039
186
198
  validmind/tests/model_validation/statsmodels/AutoARIMA.py,sha256=mb-QlmiYDaOWJNneUcgL27km3dGNaqIuP6Bw_rG4Emc,5172
187
199
  validmind/tests/model_validation/statsmodels/BoxPierce.py,sha256=3xhBDYemI07MK-DKO788Vc2q-ST7sycmqr7HN1inU-E,3581
200
+ validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py,sha256=_l8aPSS_IgGypt3A3nyd3Zd54W8JRvK-t3Rvc7-LQrc,6389
188
201
  validmind/tests/model_validation/statsmodels/DFGLSArch.py,sha256=SjmQYMazR4QzfpCwwhxty_JvJaUU88hcdqH0uFz3tlE,3365
189
202
  validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py,sha256=dkdMH0dfFCbHacpFCL_7KBUzHiwmV5DYhsJlV4_k9dI,2957
190
203
  validmind/tests/model_validation/statsmodels/FeatureImportanceAndSignificance.py,sha256=ZOZucyM6YbWInqS_flSpgC2saOVDPdrcvUYWZ_gk9Go,7199
191
- validmind/tests/model_validation/statsmodels/GINITable.py,sha256=bVI8mBg6yDS9lDVvgDMMxKLIyoBJkf_PrKDYf6iO_D8,6335
204
+ validmind/tests/model_validation/statsmodels/GINITable.py,sha256=QUbvTuxm8l0vL7OkVqLmiI21gaDEZ35SA4wikxK93YM,5753
192
205
  validmind/tests/model_validation/statsmodels/JarqueBera.py,sha256=G2Jyry_knx3h5daErRUNZO5JP63M9OurUSuCQBVEke4,3362
193
206
  validmind/tests/model_validation/statsmodels/KPSS.py,sha256=tP6Xzp7oZ_p1ktIV3g8bG4CA4YTrXt7hrTdvnfCUf4M,3313
194
207
  validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py,sha256=RXsSi7FeJeUl8Q0QXvacQ8r9HR4hVtRiGPoMrRLtXjg,4371
195
208
  validmind/tests/model_validation/statsmodels/LJungBox.py,sha256=PTPSW8IT5b8lHV66vQRtjbz7VWPcXCn7PGz6YOK9j0w,3309
196
209
  validmind/tests/model_validation/statsmodels/Lilliefors.py,sha256=Gmxw2r4Qsa8kVE-5MCkqE3UJZdR9eGMYTvg-D7s2Mp8,3997
197
- validmind/tests/model_validation/statsmodels/LogRegressionConfusionMatrix.py,sha256=MEN1gPkrUjcEtRcxxGoiH9G63VyKggHDQKdzlY2M1W0,5339
198
- validmind/tests/model_validation/statsmodels/LogisticRegCumulativeProb.py,sha256=DO3HBhekqi0oyKfbC2j-ktXTJe_o8s63UUt5ySCSH80,7155
199
- validmind/tests/model_validation/statsmodels/LogisticRegPredictionHistogram.py,sha256=Mvi88U6hFQfFwi45uajXTg0r2mEaoxh8GPOU3uWx90w,6859
200
210
  validmind/tests/model_validation/statsmodels/PDRatingClassPlot.py,sha256=EqsAG2vpDzBxb-0iGBKegtF25U2nuw8VlQVAWvAnXFs,6064
201
211
  validmind/tests/model_validation/statsmodels/PhillipsPerronArch.py,sha256=Z1wogft3oIJHE795vNUMa1r5r-t0yLm19rJRLKmLFAA,3133
212
+ validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py,sha256=6HSzbV9oSPZg7olFtnpheTxAD7hFdPISbhOKtmU0QbY,6394
202
213
  validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py,sha256=zWOzmEcdsQMzGzT4nCpSSQLQcdc0BERju-xgLBBGC4Y,5657
203
214
  validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py,sha256=TGz8ei7pG31tLKjzqNiBNO-UbzGWCabv2rWX-DjiJ4Y,5494
204
- validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py,sha256=vOmkrnuSQdlCkFcqb84vecCG1RYqQhqOjhE3Z-cUyr0,6598
205
- validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py,sha256=Go-cNjS3FCMOFFDR0nBvQ1c2H0w3xcwVIuj9lE6PPvY,8346
206
- validmind/tests/model_validation/statsmodels/RegressionModelInsampleComparison.py,sha256=iBcHel2OafCBxOVvtAAQz64Qp292Go1tD46XHgVxQxA,6483
207
- validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.py,sha256=TVjuqrwzU4P6sxDkzdyy_vHgyBFIre-MDF9adohkmWk,6292
215
+ validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py,sha256=6WlwIoUTQKP8IMuqKtS0AVvM49ubLUmOWYIK3DoHjeo,6580
216
+ validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py,sha256=fERW8xCHVGLkJVEMVmHdCrhyBhlNf08Bi22BxyNSXeg,8328
217
+ validmind/tests/model_validation/statsmodels/RegressionModelInsampleComparison.py,sha256=4fJixhDEbMdZOg8EOxNJe3J5H6_PiC1QFg2hWIuauu4,6474
218
+ validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.py,sha256=YrFnY3Vy_0L6uQ_1drz-EUNjgqVaQgPtGohf_pFIJRY,6283
208
219
  validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py,sha256=q30wFH7QRZKriVMXBmZVE2K30kjcb6zX4IVl1NHT2kA,7320
209
- validmind/tests/model_validation/statsmodels/RegressionModelSummary.py,sha256=JsIvZDmZssB5EEzs_-dlYknmrybPqQOjQOOzmRMAZ_I,4359
220
+ validmind/tests/model_validation/statsmodels/RegressionModelSummary.py,sha256=IkWo8tBh7np_4xTy5cm8SHoXEYggwjk0jiFw3wg1YKA,4350
210
221
  validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py,sha256=XTirM2uYbl-Idf1MooaTPZcrN1s5g-nibHUz5SdYfBg,4592
211
- validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py,sha256=q9LfCRflncSHtTe0b9kMxPSPyiQI9_LHksK_D6WrEjA,5454
222
+ validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py,sha256=oY57hquPFXsfrzmOxCvY66CfK3CVAsF9W_XbpMaSaQo,5443
223
+ validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py,sha256=hrWFViq7poX_G2-AwGffRQnwN9Vr42e4DfZKP-_gsRo,5044
212
224
  validmind/tests/model_validation/statsmodels/ResidualsVisualInspection.py,sha256=ROF3y_akn0cxo6sA38aWElkleg0bcvQfttPc1pjJaHc,5771
213
225
  validmind/tests/model_validation/statsmodels/RunsTest.py,sha256=TJdixri2vrrA4HUUpTYveoVzr7V9lcH6CJnPTLxSqms,3684
214
- validmind/tests/model_validation/statsmodels/ScorecardBucketHistogram.py,sha256=pYMuUkIf5vHNC_EjTYBlmsA_SdfsXvHPVrLQOdcM5VU,6901
215
- validmind/tests/model_validation/statsmodels/ScorecardHistogram.py,sha256=UfiGDiOuraGz8vu9R3cw132oxahLqte7jEpNoeW6Ses,7073
216
- validmind/tests/model_validation/statsmodels/ScorecardProbabilitiesHistogram.py,sha256=-SfsY5gZU4w-LmWdAHzKizU4tAqZipZcrX-7AzDhDEI,7140
226
+ validmind/tests/model_validation/statsmodels/ScorecardHistogram.py,sha256=uESuMD8UA_BPRjnIbsnHUQUCzTSWxGG6646QRW1wMH8,6300
217
227
  validmind/tests/model_validation/statsmodels/ShapiroWilk.py,sha256=W8_EARepPA0CpApy0w7cLcbnP7ZegBjntGSUOcuyrqQ,3243
218
228
  validmind/tests/model_validation/statsmodels/ZivotAndrewsArch.py,sha256=4QrZImKZYVLKrmUgjnBTldtIqXf8-tyz9CiNqMYtj_w,3291
219
229
  validmind/tests/model_validation/statsmodels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -226,34 +236,46 @@ validmind/tests/prompt_validation/NegativeInstruction.py,sha256=1aqNV_vB5oM2_8UX
226
236
  validmind/tests/prompt_validation/Robustness.py,sha256=VIQotugWQ32Q1kr1kacBuqk-q1EPTRi9NZAIYrTDsY0,6826
227
237
  validmind/tests/prompt_validation/Specificity.py,sha256=v823rZAr9a810Q_RlgH7FqPPxXZ00hDJApkFaJJ8mgk,6116
228
238
  validmind/tests/prompt_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- validmind/tests/prompt_validation/ai_powered_test.py,sha256=veHPYDC9c4k-pnzePJ8L0zC_kdq6AEBE6vfWXMayOZ4,2917
230
- validmind/tests/test_providers.py,sha256=00H3loloGi2aw6yn2e8a072mcb7KNcplkA7LBP4NEDQ,8280
231
- validmind/unit_metrics/__init__.py,sha256=tEaoa1DsDIVf0xHzN2X-ri3uqL8DxkVM7pkzk4axhZE,8257
232
- validmind/unit_metrics/sklearn/classification/Accuracy.py,sha256=DALnoDXQN5hbMydq13uPjQHo-SLUgNn_GglEIF-gxvE,610
233
- validmind/unit_metrics/sklearn/classification/F1.py,sha256=Q3IBcIY-xWqAuXYDFRINBnKG6Dn4NgOwFriGDmgonHU,615
234
- validmind/unit_metrics/sklearn/classification/Precision.py,sha256=LitjqT7r5IjNjKaG22Ls11QvvmKOolLtYIRb_p74u4Q,636
235
- validmind/unit_metrics/sklearn/classification/ROC_AUC.py,sha256=QfxbUK_ELInxdEfdL3_8mDmH5-aHotvGFfbBGSWyrjs,607
236
- validmind/unit_metrics/sklearn/classification/Recall.py,sha256=ZOi2SCJrXA2UgnXfArrPzhHJeV3uFef334lWURrznY0,604
237
- validmind/utils.py,sha256=NlqF7lUsDUEvdnHG6qmSp0c_Cy_yCI4S_XXRb173LRU,13179
238
- validmind/vm_models/__init__.py,sha256=uOV4bUElAryj_d6gWZkdokY6JXWCXyYiemzrhbZ3H_U,1219
239
- validmind/vm_models/dataset.py,sha256=ElDiO9SdFTx96mdVjPq-AZ-F2mq35LJZmXVOZixfddo,22477
240
- validmind/vm_models/figure.py,sha256=ihQEPQ5prIl1Igi8cny_3aDWum5S0SIsY32ghNyRlF0,5579
239
+ validmind/tests/prompt_validation/ai_powered_test.py,sha256=pogmrOR2fTY34Tx5TXIs5Smjz09mdh5Kp4NifrmPrFY,2975
240
+ validmind/tests/test_providers.py,sha256=1tYn_sWNqifFpOp8eNvcVyJzxBjhHV5Py4FxO8opPZA,4944
241
+ validmind/unit_metrics/__init__.py,sha256=gPrZWA8hYuV7fGR2sQ5FqzSWU_4l0xkKgDq2mox2Prw,8368
242
+ validmind/unit_metrics/classification/sklearn/Accuracy.py,sha256=2Ra_OpKceY01h1dAFCqRFAwe--K2oVbCUiYjM5AH_nQ,480
243
+ validmind/unit_metrics/classification/sklearn/F1.py,sha256=Uiq5sPyNpALhApTkmLUhh76mF91bLCABB5OVHOlbmGo,437
244
+ validmind/unit_metrics/classification/sklearn/Precision.py,sha256=8zO5VDZhfT8R2VFYiV-CzsZwhsTwVAKca4nhD-qALLw,458
245
+ validmind/unit_metrics/classification/sklearn/ROC_AUC.py,sha256=5-i1xhrLg7Ix4sk7pBKDBtlqBCNRD365LnTvsekSVYs,452
246
+ validmind/unit_metrics/classification/sklearn/Recall.py,sha256=0WG3A6K9M1UmbWQKoS_wwLfq-cXVDDTIA1ZpaJNyKp8,449
247
+ validmind/unit_metrics/composite.py,sha256=3bf8oUPCevOixJIHsc_y0WTb7mG1B1Wt54RTyyx7QK0,7603
248
+ validmind/unit_metrics/regression/GiniCoefficient.py,sha256=ebh1rOob8mEmQp0EpXcneAXjc4AIfm6O3Y0_mnTahKA,984
249
+ validmind/unit_metrics/regression/HuberLoss.py,sha256=JAUxKFpXp1NtQKEJMZlGgxDlk8pFT1tY3ZcxNQPDhHM,680
250
+ validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py,sha256=DRHuFH3DqDMy56tzkN8ETwt36FCu1m-nGxK0OJCPMDk,981
251
+ validmind/unit_metrics/regression/MeanAbsolutePercentageError.py,sha256=u7dOSwSnxYsszp-0uyYwVVvMDTh9jKbWUh1gi8pbczM,471
252
+ validmind/unit_metrics/regression/MeanBiasDeviation.py,sha256=TCjnGGOSqgPYcOU8MpMZgYkYQbXKXekQNzOVIFEQ5ZA,395
253
+ validmind/unit_metrics/regression/QuantileLoss.py,sha256=9WITHNHCy-RFVZiUp-bSDrKsePKYbb0a7o13Ohvhvas,470
254
+ validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py,sha256=rhFpUMFI1mUaB8dGnNz_vO79VmdUIkJVRS-f1cB-6l0,636
255
+ validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py,sha256=LCNgpDw6FBHUuMZfDkJj0VEI7g3miH8xucrMQQ0Qgio,491
256
+ validmind/unit_metrics/regression/sklearn/MeanSquaredError.py,sha256=7UQnDTTO7yRRyMe3Zac9ZyjEbbD8pW_8WnZwHdVB_8U,463
257
+ validmind/unit_metrics/regression/sklearn/RSquaredScore.py,sha256=h9U5ndtnJfNNtKPZIo5n3KRp-m4akQcEo0t1iSwjVzY,420
258
+ validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py,sha256=_5IQIU9jNfmTE4NLJvaRWXbudRGV2PS7nYF5e4fkSMY,556
259
+ validmind/utils.py,sha256=8vJutsXoSi9v3_0UznWEvSm-m-TGgLv33rTcuZtsqw8,12876
260
+ validmind/vm_models/__init__.py,sha256=QjrOZpqDNJlW8cH2D0xTkPAgX9UadS_ITNHgJ4NxrFs,1160
261
+ validmind/vm_models/dataset.py,sha256=aNDR0tkqZUipTZG21ajkvJ7DumhWNT_h6E2X-binc1w,43308
262
+ validmind/vm_models/figure.py,sha256=iSrvPcCG5sQrMkX1Fh6c5utRzaroh3bc6IlnGDOK_Eg,6651
241
263
  validmind/vm_models/model.py,sha256=f6hAy1J-UfVxLsSCu4VjpGyL-UnJWMivqkBB2Uhd2uU,4823
242
- validmind/vm_models/test/metric.py,sha256=s5ZBnq6dapfVPotWCVT0CMCeZUztmBi1VWShEK50jZg,3848
264
+ validmind/vm_models/test/metric.py,sha256=C2AjlSOC0N72ucAaMdH3EMHXnvZ8jXlGSQwEs3S1N1g,3911
243
265
  validmind/vm_models/test/metric_result.py,sha256=Bak4GDrMlNq5NtgP5exwlPsKZgz3tWgtC6jZqtHjvqM,1987
244
- validmind/vm_models/test/output_template.py,sha256=JCtvULCg_z0u8EBpujwcFS4Bfo1AQ6oJSXGOSxvx6Yg,2369
266
+ validmind/vm_models/test/output_template.py,sha256=njqCAMyLxwadkCWhACVskyL9-psTgmUysaeeirTVAX4,1500
245
267
  validmind/vm_models/test/result_summary.py,sha256=QJcIKJUeBf5wW3lyue6ctsi1jKSyoiAIfmjudGJiJtc,2028
246
- validmind/vm_models/test/result_wrapper.py,sha256=o4P9X3yYqWeqyd4_UE5PzjxhQfPLnXvvINmTjN2epaw,12332
247
- validmind/vm_models/test/test.py,sha256=DqXSBp79aBMVhJgB_IIhroEekiuY53bLa9oVdQW-LoA,3028
248
- validmind/vm_models/test/threshold_test.py,sha256=SMtqvPwXfYTDcydmmxy1RfuUojh_TYhX2wctSIHJ3Pc,3934
268
+ validmind/vm_models/test/result_wrapper.py,sha256=Fkj2KFBjy_fRiBtOLJmnplXhLn2D3cnRrQhwlopowkg,13938
269
+ validmind/vm_models/test/test.py,sha256=434PqhPcbwfCmNjYVwHGMG-rViIatb9-1nmxkdZF8Xo,3104
270
+ validmind/vm_models/test/threshold_test.py,sha256=Iy84PLsuabhZSPlxVQZ_kAo_FTqxmZ8AeN9yQDO5wMI,4270
249
271
  validmind/vm_models/test/threshold_test_result.py,sha256=EXP-g_e3NsnpkvNgYew030qVUoY6ZTHyuuFUXaq-BuM,1954
250
- validmind/vm_models/test/unit_metric.py,sha256=w25r8ls-91z8gLA1wmSJN13z5DVMOdpk9cNJnBeIs3k,2556
251
- validmind/vm_models/test_context.py,sha256=gsN4QcBlr2n-Offyrceizkw0tSTRJ8hqMP6ZSe2wVgQ,8801
252
- validmind/vm_models/test_suite/runner.py,sha256=BCmyuOPbNq_TN7neLqU8EZqvS4ZZshcRac4EikCJiiE,6748
253
- validmind/vm_models/test_suite/summary.py,sha256=h_r-gXsyTihCUdU4S5fzca832cI6FTMOVf1BZvcSPVU,4583
254
- validmind/vm_models/test_suite/test.py,sha256=HbnlixkykDii8-uA6Pgngi3n-m17Z6xhkgMU3cU994M,5279
255
- validmind/vm_models/test_suite/test_suite.py,sha256=X6bal6m_8l-cKnXKlz_CJAUY_FKdJ1B3zLqYLlOncwE,6244
256
- validmind-2.0.1.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
257
- validmind-2.0.1.dist-info/METADATA,sha256=QytQ4ZMoINpEmbLqVVifX5hIa-fayQaopBYpjNM6wpg,3622
258
- validmind-2.0.1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
259
- validmind-2.0.1.dist-info/RECORD,,
272
+ validmind/vm_models/test_context.py,sha256=URm6YvK6ReRevngIIVSPmV2tdc4rRZaWbB6hlRKsOj4,9027
273
+ validmind/vm_models/test_suite/runner.py,sha256=U93TauwLNEbAgJIzBZ9k9ip9NnlTt0gACHVgfO7J9BI,6754
274
+ validmind/vm_models/test_suite/summary.py,sha256=roSzR-wWs6_eoKq-yDA-cMi5pA0K3H7cpR2TUCG0uog,4555
275
+ validmind/vm_models/test_suite/test.py,sha256=cIa-6_YkFp7Io4wBkr09aFNmljmUFSagV4JreLd1Q6Y,5285
276
+ validmind/vm_models/test_suite/test_suite.py,sha256=Cns2wL54v0T5Mv5_HJb3kMeaa4rtycdqT8KxK9_rWEU,6279
277
+ validmind-2.1.0.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
278
+ validmind-2.1.0.dist-info/METADATA,sha256=wId7ww5qTi3rRptAQIQc4BYkTRxi5Zq0oBH8VeRDyDs,3826
279
+ validmind-2.1.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
280
+ validmind-2.1.0.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
281
+ validmind-2.1.0.dist-info/RECORD,,
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ vm-create-new-test=scripts.create_new_test:generate_test
3
+
@@ -1,62 +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
- """All Tests for ValidMind"""
6
-
7
- from typing import Any, Dict, Protocol
8
-
9
-
10
- class ExternalTest(Protocol):
11
- """Protocol for user-defined tests"""
12
-
13
- test_type: str
14
-
15
- def description(self) -> str:
16
- """Return the test description (optional)
17
-
18
- If this method is not implemented, the test description will be
19
- automatically generated from the docstring of the test class.
20
-
21
- Returns:
22
- str: The test description
23
- """
24
- ...
25
-
26
- def run(self) -> Dict[str, Any]:
27
- """Run the test and return the results
28
-
29
- Returns:
30
- dict: The test results object to be saved
31
- """
32
- ...
33
-
34
- def summary(self, test_results: Dict[str, Any]) -> Dict[str, Any]:
35
- """Summarize the test results
36
-
37
- Args:
38
- test_results (dict): The test results object
39
-
40
- Returns:
41
- dict: The test summary object to be displayed
42
- """
43
- ...
44
-
45
-
46
- class ExternalTestProvider(Protocol):
47
- """Protocol for user-defined test providers"""
48
-
49
- def load_test(self, test_id: str) -> ExternalTest:
50
- """Load the test by test ID
51
-
52
- Args:
53
- test_id (str): The test ID (does not contain the namespace under which
54
- the test is registered)
55
-
56
- Returns:
57
- ExternalTest: The test object
58
-
59
- Raises:
60
- FileNotFoundError: If the test is not found
61
- """
62
- ...
@@ -1,128 +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 numpy as np
8
- import plotly.figure_factory as ff
9
- from sklearn import metrics
10
-
11
- from validmind.vm_models import Figure, Metric
12
-
13
-
14
- @dataclass
15
- class LogRegressionConfusionMatrix(Metric):
16
- """
17
- Generates a confusion matrix for logistic regression model performance, utilizing thresholded probabilities for
18
- classification assessments.
19
-
20
- **Purpose**: The Logistic Regression Confusion Matrix is a metric used to measure the performance of a logistic
21
- regression classification model. This metric is particularly useful for scenarios where a model's predictions are
22
- formulated by thresholding probabilities. The main advantage of this approach is that it includes true positives,
23
- true negatives, false positives, and false negatives in its assessment, providing a more comprehensive overview of
24
- the model's effectiveness in distinguishing between correct and incorrect classifications.
25
-
26
- **Test Mechanism**: The methodology behind the Logistic Regression Confusion Matrix uses the
27
- `sklearn.metrics.confusion_matrix` function from the Python library to generate a matrix. This matrix is created by
28
- comparing the model's predicted probabilities, which are initially converted to binary predictions using a
29
- predetermined cut-off threshold (default is 0.5), against the actual classes. The matrix's design consists of the
30
- predicted class labels forming the x-axis, and the actual class labels forming the y-axis, with each cell
31
- containing the record of true positives, true negatives, false positives, and false negatives respectively.
32
-
33
- **Signs of High Risk**:
34
- - A significant number of false positives and false negatives, indicating that the model is incorrectly classifying
35
- instances.
36
- - The counts of true positives and true negatives being substantially lower than projected, positioning this as a
37
- potential high-risk indicator.
38
-
39
- **Strengths**:
40
- - Simple, intuitive, and provides a comprehensive understanding of the model's performance.
41
- - Provides a detailed breakdown of error types, improving transparency.
42
- - Offers flexible adaptation for diverse prediction scenarios by allowing adjustments to the cut-off threshold, and
43
- enabling exploration of trade-offs between precision (minimizing false positives) and recall (minimizing false
44
- negatives).
45
-
46
- **Limitations**:
47
- - Acceptable performance on majority classes but potential poor performance on minority classes in imbalanced
48
- datasets, as the confusion matrix may supply misleading results.
49
- - Lack of insight into the severity of the mistakes and the cost trade-off between different types of
50
- misclassification.
51
- - Selection of the cut-off threshold can significantly alter the interpretation, and a poorly chosen threshold may
52
- lead to erroneous conclusions.
53
- """
54
-
55
- name = "log_regression_confusion_matrix"
56
- required_inputs = ["model", "dataset"]
57
- metadata = {
58
- "task_types": ["classification"],
59
- "tags": ["visualization", "model_performance", "logistic_regression"],
60
- }
61
-
62
- default_params = {
63
- "cut_off_threshold": 0.5, # Add a cut_off_threshold parameter
64
- }
65
-
66
- def run(self):
67
- cut_off_threshold = self.default_parameters["cut_off_threshold"]
68
-
69
- y_true = self.inputs.dataset.y
70
- y_labels = np.unique(y_true)
71
- y_labels.sort()
72
-
73
- y_pred_prob = self.inputs.model.predict_proba(self.inputs.dataset.x)
74
- y_pred = np.where(y_pred_prob > cut_off_threshold, 1, 0)
75
- y_true = y_true.astype(y_pred.dtype)
76
-
77
- cm = metrics.confusion_matrix(y_true, y_pred, labels=y_labels)
78
- tn, fp, fn, tp = cm.ravel()
79
-
80
- # Custom text to display on the heatmap cells
81
- text = [
82
- [
83
- f"<b>True Negatives (TN)</b><br />{tn}",
84
- f"<b>False Positives (FP)</b><br />{fp}",
85
- ],
86
- [
87
- f"<b>False Negatives (FN)</b><br />{fn}",
88
- f"<b>True Positives (TP)</b><br />{tp}",
89
- ],
90
- ]
91
-
92
- fig = ff.create_annotated_heatmap(
93
- [[tn, fp], [fn, tp]],
94
- x=[0, 1],
95
- y=[0, 1],
96
- colorscale="Blues",
97
- annotation_text=text,
98
- )
99
- # Reverse the xaxis so that 1 is on the left
100
- fig["layout"]["xaxis"]["autorange"] = "reversed"
101
-
102
- fig["data"][0][
103
- "hovertemplate"
104
- ] = "True Label:%{y}<br>Predicted Label:%{x}<br>Count:%{z}<extra></extra>"
105
-
106
- fig.update_layout(
107
- xaxis=dict(title="Predicted label", constrain="domain"),
108
- yaxis=dict(title="True label", scaleanchor="x", scaleratio=1),
109
- autosize=False,
110
- width=600,
111
- height=600,
112
- )
113
-
114
- return self.cache_results(
115
- metric_value={
116
- "tn": tn,
117
- "fp": fp,
118
- "fn": fn,
119
- "tp": tp,
120
- },
121
- figures=[
122
- Figure(
123
- for_object=self,
124
- key="confusion_matrix",
125
- figure=fig,
126
- )
127
- ],
128
- )