validmind 2.5.6__tar.gz → 2.5.8__tar.gz

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 (318) hide show
  1. {validmind-2.5.6 → validmind-2.5.8}/PKG-INFO +1 -1
  2. {validmind-2.5.6 → validmind-2.5.8}/pyproject.toml +1 -1
  3. validmind-2.5.8/validmind/__version__.py +1 -0
  4. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +77 -41
  5. validmind-2.5.6/validmind/__version__.py +0 -1
  6. {validmind-2.5.6 → validmind-2.5.8}/LICENSE +0 -0
  7. {validmind-2.5.6 → validmind-2.5.8}/README.pypi.md +0 -0
  8. {validmind-2.5.6 → validmind-2.5.8}/validmind/__init__.py +0 -0
  9. {validmind-2.5.6 → validmind-2.5.8}/validmind/ai/test_descriptions.py +0 -0
  10. {validmind-2.5.6 → validmind-2.5.8}/validmind/ai/utils.py +0 -0
  11. {validmind-2.5.6 → validmind-2.5.8}/validmind/api_client.py +0 -0
  12. {validmind-2.5.6 → validmind-2.5.8}/validmind/client.py +0 -0
  13. {validmind-2.5.6 → validmind-2.5.8}/validmind/client_config.py +0 -0
  14. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/__init__.py +0 -0
  15. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/classification/__init__.py +0 -0
  16. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/classification/customer_churn.py +0 -0
  17. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/classification/datasets/bank_customer_churn.csv +0 -0
  18. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/classification/datasets/taiwan_credit.csv +0 -0
  19. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/classification/taiwan_credit.py +0 -0
  20. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/cluster/digits.py +0 -0
  21. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/credit_risk/__init__.py +0 -0
  22. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz +0 -0
  23. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/credit_risk/lending_club.py +0 -0
  24. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/llm/rag/__init__.py +0 -0
  25. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv +0 -0
  26. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv +0 -0
  27. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_3.csv +0 -0
  28. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_4.csv +0 -0
  29. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_5.csv +0 -0
  30. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/llm/rag/rfp.py +0 -0
  31. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/nlp/__init__.py +0 -0
  32. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/nlp/cnn_dailymail.py +0 -0
  33. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/nlp/datasets/Covid_19.csv +0 -0
  34. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +0 -0
  35. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +0 -0
  36. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +0 -0
  37. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/nlp/twitter_covid_19.py +0 -0
  38. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/__init__.py +0 -0
  39. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/california_housing.py +0 -0
  40. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/CPIAUCSL.csv +0 -0
  41. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/CSUSHPISA.csv +0 -0
  42. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/DRSFRMACBS.csv +0 -0
  43. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/FEDFUNDS.csv +0 -0
  44. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/GDP.csv +0 -0
  45. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/GDPC1.csv +0 -0
  46. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/GS10.csv +0 -0
  47. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/GS3.csv +0 -0
  48. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/GS5.csv +0 -0
  49. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/MORTGAGE30US.csv +0 -0
  50. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred/UNRATE.csv +0 -0
  51. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred_loan_rates.csv +0 -0
  52. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred_loan_rates_test_1.csv +0 -0
  53. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred_loan_rates_test_2.csv +0 -0
  54. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred_loan_rates_test_3.csv +0 -0
  55. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred_loan_rates_test_4.csv +0 -0
  56. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/fred_loan_rates_test_5.csv +0 -0
  57. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/datasets/leanding_club_loan_rates.csv +0 -0
  58. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/fred.py +0 -0
  59. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/fred_timeseries.py +0 -0
  60. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/lending_club.py +0 -0
  61. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/models/fred_loan_rates_model_1.pkl +0 -0
  62. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/models/fred_loan_rates_model_2.pkl +0 -0
  63. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/models/fred_loan_rates_model_3.pkl +0 -0
  64. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/models/fred_loan_rates_model_4.pkl +0 -0
  65. {validmind-2.5.6 → validmind-2.5.8}/validmind/datasets/regression/models/fred_loan_rates_model_5.pkl +0 -0
  66. {validmind-2.5.6 → validmind-2.5.8}/validmind/errors.py +0 -0
  67. {validmind-2.5.6 → validmind-2.5.8}/validmind/html_templates/__init__.py +0 -0
  68. {validmind-2.5.6 → validmind-2.5.8}/validmind/html_templates/content_blocks.py +0 -0
  69. {validmind-2.5.6 → validmind-2.5.8}/validmind/input_registry.py +0 -0
  70. {validmind-2.5.6 → validmind-2.5.8}/validmind/logging.py +0 -0
  71. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/__init__.py +0 -0
  72. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/foundation.py +0 -0
  73. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/function.py +0 -0
  74. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/huggingface.py +0 -0
  75. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/metadata.py +0 -0
  76. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/pipeline.py +0 -0
  77. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/pytorch.py +0 -0
  78. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/r_model.py +0 -0
  79. {validmind-2.5.6 → validmind-2.5.8}/validmind/models/sklearn.py +0 -0
  80. {validmind-2.5.6 → validmind-2.5.8}/validmind/template.py +0 -0
  81. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/__init__.py +0 -0
  82. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/classifier.py +0 -0
  83. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/cluster.py +0 -0
  84. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/embeddings.py +0 -0
  85. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/llm.py +0 -0
  86. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/nlp.py +0 -0
  87. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/parameters_optimization.py +0 -0
  88. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/regression.py +0 -0
  89. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/statsmodels_timeseries.py +0 -0
  90. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/summarization.py +0 -0
  91. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/tabular_datasets.py +0 -0
  92. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/text_data.py +0 -0
  93. {validmind-2.5.6 → validmind-2.5.8}/validmind/test_suites/time_series.py +0 -0
  94. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/__init__.py +0 -0
  95. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/__types__.py +0 -0
  96. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/_store.py +0 -0
  97. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/ACFandPACFPlot.py +0 -0
  98. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/ADF.py +0 -0
  99. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/ANOVAOneWayTable.py +0 -0
  100. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/AutoAR.py +0 -0
  101. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/AutoMA.py +0 -0
  102. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/AutoSeasonality.py +0 -0
  103. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/AutoStationarity.py +0 -0
  104. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/BivariateFeaturesBarPlots.py +0 -0
  105. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/BivariateHistograms.py +0 -0
  106. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/BivariateScatterPlots.py +0 -0
  107. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/ChiSquaredFeaturesTable.py +0 -0
  108. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/ClassImbalance.py +0 -0
  109. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/DFGLSArch.py +0 -0
  110. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/DatasetDescription.py +0 -0
  111. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/DatasetSplit.py +0 -0
  112. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/DescriptiveStatistics.py +0 -0
  113. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/Duplicates.py +0 -0
  114. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/EngleGrangerCoint.py +0 -0
  115. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +0 -0
  116. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/HeatmapFeatureCorrelations.py +0 -0
  117. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/HighCardinality.py +0 -0
  118. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/HighPearsonCorrelation.py +0 -0
  119. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/IQROutliersBarPlot.py +0 -0
  120. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/IQROutliersTable.py +0 -0
  121. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/IsolationForestOutliers.py +0 -0
  122. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/KPSS.py +0 -0
  123. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/LaggedCorrelationHeatmap.py +0 -0
  124. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/MissingValues.py +0 -0
  125. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/MissingValuesBarPlot.py +0 -0
  126. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/MissingValuesRisk.py +0 -0
  127. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/PearsonCorrelationMatrix.py +0 -0
  128. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/PhillipsPerronArch.py +0 -0
  129. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/RollingStatsPlot.py +0 -0
  130. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/ScatterPlot.py +0 -0
  131. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/SeasonalDecompose.py +0 -0
  132. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/Skewness.py +0 -0
  133. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/SpreadPlot.py +0 -0
  134. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TabularCategoricalBarPlots.py +0 -0
  135. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TabularDateTimeHistograms.py +0 -0
  136. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TabularDescriptionTables.py +0 -0
  137. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TabularNumericalHistograms.py +0 -0
  138. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TargetRateBarPlots.py +0 -0
  139. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TimeSeriesDescription.py +0 -0
  140. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +0 -0
  141. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TimeSeriesFrequency.py +0 -0
  142. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TimeSeriesHistogram.py +0 -0
  143. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TimeSeriesLinePlot.py +0 -0
  144. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TimeSeriesMissingValues.py +0 -0
  145. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TimeSeriesOutliers.py +0 -0
  146. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/TooManyZeroValues.py +0 -0
  147. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/UniqueRows.py +0 -0
  148. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/WOEBinPlots.py +0 -0
  149. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/WOEBinTable.py +0 -0
  150. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/ZivotAndrewsArch.py +0 -0
  151. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/__init__.py +0 -0
  152. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/CommonWords.py +0 -0
  153. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/Hashtags.py +0 -0
  154. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/LanguageDetection.py +0 -0
  155. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/Mentions.py +0 -0
  156. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py +0 -0
  157. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/Punctuations.py +0 -0
  158. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/Sentiment.py +0 -0
  159. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/StopWords.py +0 -0
  160. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/TextDescription.py +0 -0
  161. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/Toxicity.py +0 -0
  162. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/data_validation/nlp/__init__.py +0 -0
  163. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/decorator.py +0 -0
  164. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/load.py +0 -0
  165. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/metadata.py +0 -0
  166. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/BertScore.py +0 -0
  167. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/BleuScore.py +0 -0
  168. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ClusterSizeDistribution.py +0 -0
  169. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ContextualRecall.py +0 -0
  170. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/FeaturesAUC.py +0 -0
  171. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/MeteorScore.py +0 -0
  172. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ModelMetadata.py +0 -0
  173. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ModelMetadataComparison.py +0 -0
  174. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ModelPredictionResiduals.py +0 -0
  175. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/RegardScore.py +0 -0
  176. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/RegressionResidualsPlot.py +0 -0
  177. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/RougeScore.py +0 -0
  178. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +0 -0
  179. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +0 -0
  180. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +0 -0
  181. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/TokenDisparity.py +0 -0
  182. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ToxicityScore.py +0 -0
  183. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/__init__.py +0 -0
  184. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/ClusterDistribution.py +0 -0
  185. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/CosineSimilarityComparison.py +0 -0
  186. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +0 -0
  187. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/CosineSimilarityHeatmap.py +0 -0
  188. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +0 -0
  189. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +0 -0
  190. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/EuclideanDistanceComparison.py +0 -0
  191. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/EuclideanDistanceHeatmap.py +0 -0
  192. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/PCAComponentsPairwisePlots.py +0 -0
  193. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/StabilityAnalysis.py +0 -0
  194. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py +0 -0
  195. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py +0 -0
  196. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py +0 -0
  197. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py +0 -0
  198. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py +0 -0
  199. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/AnswerCorrectness.py +0 -0
  200. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/AnswerRelevance.py +0 -0
  201. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/AnswerSimilarity.py +0 -0
  202. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/AspectCritique.py +0 -0
  203. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/ContextEntityRecall.py +0 -0
  204. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/ContextPrecision.py +0 -0
  205. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/ContextRecall.py +0 -0
  206. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/Faithfulness.py +0 -0
  207. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/ragas/utils.py +0 -0
  208. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +0 -0
  209. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +0 -0
  210. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/ClassifierPerformance.py +0 -0
  211. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +0 -0
  212. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/ClusterPerformance.py +0 -0
  213. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +0 -0
  214. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/CompletenessScore.py +0 -0
  215. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/ConfusionMatrix.py +0 -0
  216. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/FeatureImportanceComparison.py +0 -0
  217. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +0 -0
  218. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/HomogeneityScore.py +0 -0
  219. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/HyperParametersTuning.py +0 -0
  220. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +0 -0
  221. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/MinimumAccuracy.py +0 -0
  222. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/MinimumF1Score.py +0 -0
  223. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +0 -0
  224. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +0 -0
  225. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +0 -0
  226. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +0 -0
  227. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +0 -0
  228. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +0 -0
  229. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/ROCCurve.py +0 -0
  230. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/RegressionErrors.py +0 -0
  231. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +0 -0
  232. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py +0 -0
  233. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/RegressionR2Square.py +0 -0
  234. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +0 -0
  235. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +0 -0
  236. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/SilhouettePlot.py +0 -0
  237. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +0 -0
  238. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/VMeasure.py +0 -0
  239. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +0 -0
  240. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/sklearn/__init__.py +0 -0
  241. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/AutoARIMA.py +0 -0
  242. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/BoxPierce.py +0 -0
  243. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +0 -0
  244. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +0 -0
  245. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/GINITable.py +0 -0
  246. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/JarqueBera.py +0 -0
  247. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +0 -0
  248. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/LJungBox.py +0 -0
  249. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/Lilliefors.py +0 -0
  250. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +0 -0
  251. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py +0 -0
  252. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +0 -0
  253. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +0 -0
  254. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +0 -0
  255. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +0 -0
  256. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +0 -0
  257. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py +0 -0
  258. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +0 -0
  259. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/RunsTest.py +0 -0
  260. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +0 -0
  261. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/ShapiroWilk.py +0 -0
  262. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/__init__.py +0 -0
  263. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/model_validation/statsmodels/statsutils.py +0 -0
  264. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/ongoing_monitoring/FeatureDrift.py +0 -0
  265. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/ongoing_monitoring/PredictionAcrossEachFeature.py +0 -0
  266. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/ongoing_monitoring/PredictionCorrelation.py +0 -0
  267. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/ongoing_monitoring/TargetPredictionDistributionPlot.py +0 -0
  268. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/Bias.py +0 -0
  269. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/Clarity.py +0 -0
  270. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/Conciseness.py +0 -0
  271. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/Delimitation.py +0 -0
  272. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/NegativeInstruction.py +0 -0
  273. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/Robustness.py +0 -0
  274. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/Specificity.py +0 -0
  275. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/__init__.py +0 -0
  276. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/prompt_validation/ai_powered_test.py +0 -0
  277. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/run.py +0 -0
  278. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/test_providers.py +0 -0
  279. {validmind-2.5.6 → validmind-2.5.8}/validmind/tests/utils.py +0 -0
  280. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/__init__.py +0 -0
  281. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/classification/sklearn/Accuracy.py +0 -0
  282. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/classification/sklearn/F1.py +0 -0
  283. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/classification/sklearn/Precision.py +0 -0
  284. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/classification/sklearn/ROC_AUC.py +0 -0
  285. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/classification/sklearn/Recall.py +0 -0
  286. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/composite.py +0 -0
  287. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/GiniCoefficient.py +0 -0
  288. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/HuberLoss.py +0 -0
  289. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +0 -0
  290. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +0 -0
  291. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/MeanBiasDeviation.py +0 -0
  292. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/QuantileLoss.py +0 -0
  293. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py +0 -0
  294. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py +0 -0
  295. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/sklearn/MeanSquaredError.py +0 -0
  296. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/sklearn/RSquaredScore.py +0 -0
  297. {validmind-2.5.6 → validmind-2.5.8}/validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py +0 -0
  298. {validmind-2.5.6 → validmind-2.5.8}/validmind/utils.py +0 -0
  299. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/__init__.py +0 -0
  300. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/dataset/__init__.py +0 -0
  301. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/dataset/dataset.py +0 -0
  302. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/dataset/utils.py +0 -0
  303. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/figure.py +0 -0
  304. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/input.py +0 -0
  305. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/model.py +0 -0
  306. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/metric.py +0 -0
  307. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/metric_result.py +0 -0
  308. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/output_template.py +0 -0
  309. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/result_summary.py +0 -0
  310. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/result_wrapper.py +0 -0
  311. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/test.py +0 -0
  312. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/threshold_test.py +0 -0
  313. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test/threshold_test_result.py +0 -0
  314. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test_context.py +0 -0
  315. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test_suite/runner.py +0 -0
  316. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test_suite/summary.py +0 -0
  317. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test_suite/test.py +0 -0
  318. {validmind-2.5.6 → validmind-2.5.8}/validmind/vm_models/test_suite/test_suite.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: validmind
3
- Version: 2.5.6
3
+ Version: 2.5.8
4
4
  Summary: ValidMind Developer Framework
5
5
  License: Commercial License
6
6
  Author: Andres Rodriguez
@@ -10,7 +10,7 @@ description = "ValidMind Developer Framework"
10
10
  license = "Commercial License"
11
11
  name = "validmind"
12
12
  readme = "README.pypi.md"
13
- version = "2.5.6"
13
+ version = "2.5.8"
14
14
 
15
15
  [tool.poetry.dependencies]
16
16
  python = ">=3.8.1,<3.12"
@@ -0,0 +1 @@
1
+ __version__ = "2.5.8"
@@ -7,9 +7,9 @@ from dataclasses import dataclass
7
7
  from operator import add
8
8
  from typing import List, Tuple
9
9
 
10
- import matplotlib.pyplot as plt
11
10
  import numpy as np
12
11
  import pandas as pd
12
+ import plotly.graph_objects as go
13
13
  import seaborn as sns
14
14
  from sklearn import metrics
15
15
 
@@ -132,24 +132,28 @@ def _combine_results(results: List[dict]):
132
132
 
133
133
 
134
134
  def _plot_robustness(
135
- results: pd.DataFrame, metric: str, threshold: float, columns: List[str]
135
+ results: pd.DataFrame, metric: str, threshold: float, columns: List[str], model: str
136
136
  ):
137
- fig, ax = plt.subplots()
138
-
139
- pallete = sns.color_palette("muted", len(results["Dataset"].unique()))
140
- sns.lineplot(
141
- data=results,
142
- x="Perturbation Size",
143
- y=metric.upper(),
144
- hue="Dataset",
145
- style="Dataset",
146
- linewidth=3,
147
- markers=True,
148
- markersize=10,
149
- dashes=False,
150
- palette=pallete,
151
- ax=ax,
152
- )
137
+ fig = go.Figure()
138
+
139
+ datasets = results["Dataset"].unique()
140
+ pallete = [
141
+ f"#{int(r*255):02x}{int(g*255):02x}{int(b*255):02x}"
142
+ for r, g, b in sns.color_palette("husl", len(datasets))
143
+ ]
144
+
145
+ for i, dataset in enumerate(datasets):
146
+ dataset_results = results[results["Dataset"] == dataset]
147
+ fig.add_trace(
148
+ go.Scatter(
149
+ x=dataset_results["Perturbation Size"],
150
+ y=dataset_results[metric.upper()],
151
+ mode="lines+markers",
152
+ name=dataset,
153
+ line=dict(width=3, color=pallete[i]),
154
+ marker=dict(size=10),
155
+ )
156
+ )
153
157
 
154
158
  if PERFORMANCE_METRICS[metric]["is_lower_better"]:
155
159
  y_label = f"{metric.upper()} (lower is better)"
@@ -157,33 +161,64 @@ def _plot_robustness(
157
161
  threshold = -threshold
158
162
  y_label = f"{metric.upper()} (higher is better)"
159
163
 
160
- # add dotted threshold line
161
- for i in range(len(results["Dataset"].unique())):
162
- baseline = results[results["Dataset"] == results["Dataset"].unique()[i]][
163
- metric.upper()
164
- ].iloc[0]
165
- ax.axhline(
166
- y=baseline + threshold,
167
- color=pallete[i],
168
- linestyle="dotted",
164
+ # add threshold lines
165
+ for i, dataset in enumerate(datasets):
166
+ baseline = results[results["Dataset"] == dataset][metric.upper()].iloc[0]
167
+ fig.add_trace(
168
+ go.Scatter(
169
+ x=results["Perturbation Size"].unique(),
170
+ y=[baseline + threshold] * len(results["Perturbation Size"].unique()),
171
+ mode="lines",
172
+ name=f"threshold_{dataset}",
173
+ line=dict(dash="dash", width=2, color=pallete[i]),
174
+ showlegend=True,
175
+ )
169
176
  )
170
177
 
171
- ax.tick_params(axis="x")
172
- ax.set_ylabel(y_label, weight="bold", fontsize=18)
173
- ax.legend(fontsize=18)
174
- ax.set_xlabel(
175
- "Perturbation Size (X * Standard Deviation)", weight="bold", fontsize=18
176
- )
177
- ax.set_title(
178
- f"Perturbed Features: {', '.join(columns)}",
179
- weight="bold",
180
- fontsize=20,
181
- wrap=True,
178
+ columns_lines = [""]
179
+ for column in columns:
180
+ # keep adding to the last line in list until character limit (40)
181
+ if len(columns_lines[-1]) + len(column) < 40:
182
+ columns_lines[-1] += f"{column}, "
183
+ else:
184
+ columns_lines.append(f"{column}, ")
185
+
186
+ fig.update_layout(
187
+ title=dict(
188
+ text=(
189
+ f"Model Robustness for '{model}'<br><sup>As determined by calculating "
190
+ f"{metric.upper()} decay in the presence of random gaussian noise</sup>"
191
+ ),
192
+ font=dict(size=20),
193
+ x=0.5,
194
+ xanchor="center",
195
+ ),
196
+ xaxis_title=dict(
197
+ text="Perturbation Size (X * Standard Deviation)",
198
+ ),
199
+ yaxis_title=dict(text=y_label),
200
+ plot_bgcolor="white",
201
+ margin=dict(t=60, b=80, r=20, l=60),
202
+ xaxis=dict(showgrid=True, gridcolor="lightgrey"),
203
+ yaxis=dict(showgrid=True, gridcolor="lightgrey"),
204
+ annotations=[
205
+ go.layout.Annotation(
206
+ text=f"Perturbed Features:<br><sup>{'<br>'.join(columns_lines)}</sup>",
207
+ align="left",
208
+ font=dict(size=14),
209
+ bordercolor="lightgrey",
210
+ borderwidth=1,
211
+ borderpad=4,
212
+ showarrow=False,
213
+ x=1.025,
214
+ xref="paper",
215
+ xanchor="left",
216
+ y=-0.15,
217
+ yref="paper",
218
+ )
219
+ ],
182
220
  )
183
221
 
184
- # prevent the figure from being displayed
185
- plt.close("all")
186
-
187
222
  return fig
188
223
 
189
224
 
@@ -267,6 +302,7 @@ def robustness_diagnosis(
267
302
  metric=metric,
268
303
  threshold=performance_decay_threshold,
269
304
  columns=datasets[0].feature_columns_numeric,
305
+ model=model.input_id,
270
306
  )
271
307
 
272
308
  # rename perturbation size for baseline
@@ -1 +0,0 @@
1
- __version__ = "2.5.6"
File without changes
File without changes
File without changes
File without changes