validmind 2.3.3__py3-none-any.whl → 2.4.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 (162) hide show
  1. validmind/__version__.py +1 -1
  2. validmind/ai/test_descriptions.py +8 -1
  3. validmind/ai/utils.py +2 -1
  4. validmind/client.py +1 -0
  5. validmind/datasets/regression/fred_timeseries.py +272 -0
  6. validmind/tests/__init__.py +14 -468
  7. validmind/tests/__types__.py +10 -0
  8. validmind/tests/_store.py +102 -0
  9. validmind/tests/data_validation/ACFandPACFPlot.py +7 -9
  10. validmind/tests/data_validation/ADF.py +8 -10
  11. validmind/tests/data_validation/ANOVAOneWayTable.py +8 -10
  12. validmind/tests/data_validation/AutoAR.py +2 -4
  13. validmind/tests/data_validation/AutoMA.py +2 -4
  14. validmind/tests/data_validation/AutoSeasonality.py +8 -10
  15. validmind/tests/data_validation/AutoStationarity.py +8 -10
  16. validmind/tests/data_validation/BivariateFeaturesBarPlots.py +8 -10
  17. validmind/tests/data_validation/BivariateHistograms.py +8 -10
  18. validmind/tests/data_validation/BivariateScatterPlots.py +8 -10
  19. validmind/tests/data_validation/ChiSquaredFeaturesTable.py +8 -10
  20. validmind/tests/data_validation/ClassImbalance.py +2 -4
  21. validmind/tests/data_validation/DFGLSArch.py +2 -4
  22. validmind/tests/data_validation/DatasetDescription.py +7 -9
  23. validmind/tests/data_validation/DatasetSplit.py +8 -9
  24. validmind/tests/data_validation/DescriptiveStatistics.py +2 -4
  25. validmind/tests/data_validation/Duplicates.py +2 -4
  26. validmind/tests/data_validation/EngleGrangerCoint.py +2 -4
  27. validmind/tests/data_validation/FeatureTargetCorrelationPlot.py +2 -4
  28. validmind/tests/data_validation/HeatmapFeatureCorrelations.py +2 -4
  29. validmind/tests/data_validation/HighCardinality.py +2 -4
  30. validmind/tests/data_validation/HighPearsonCorrelation.py +2 -4
  31. validmind/tests/data_validation/IQROutliersBarPlot.py +2 -4
  32. validmind/tests/data_validation/IQROutliersTable.py +2 -4
  33. validmind/tests/data_validation/IsolationForestOutliers.py +2 -4
  34. validmind/tests/data_validation/KPSS.py +8 -10
  35. validmind/tests/data_validation/LaggedCorrelationHeatmap.py +2 -4
  36. validmind/tests/data_validation/MissingValues.py +2 -4
  37. validmind/tests/data_validation/MissingValuesBarPlot.py +2 -4
  38. validmind/tests/data_validation/MissingValuesRisk.py +2 -4
  39. validmind/tests/data_validation/PearsonCorrelationMatrix.py +2 -4
  40. validmind/tests/data_validation/PhillipsPerronArch.py +7 -9
  41. validmind/tests/data_validation/RollingStatsPlot.py +2 -4
  42. validmind/tests/data_validation/ScatterPlot.py +2 -4
  43. validmind/tests/data_validation/SeasonalDecompose.py +70 -44
  44. validmind/tests/data_validation/Skewness.py +2 -4
  45. validmind/tests/data_validation/SpreadPlot.py +2 -4
  46. validmind/tests/data_validation/TabularCategoricalBarPlots.py +2 -4
  47. validmind/tests/data_validation/TabularDateTimeHistograms.py +2 -4
  48. validmind/tests/data_validation/TabularDescriptionTables.py +2 -4
  49. validmind/tests/data_validation/TabularNumericalHistograms.py +2 -4
  50. validmind/tests/data_validation/TargetRateBarPlots.py +2 -4
  51. validmind/tests/data_validation/TimeSeriesDescription.py +74 -0
  52. validmind/tests/data_validation/TimeSeriesDescriptiveStatistics.py +76 -0
  53. validmind/tests/data_validation/TimeSeriesFrequency.py +2 -4
  54. validmind/tests/data_validation/TimeSeriesHistogram.py +29 -45
  55. validmind/tests/data_validation/TimeSeriesLinePlot.py +2 -4
  56. validmind/tests/data_validation/TimeSeriesMissingValues.py +2 -4
  57. validmind/tests/data_validation/TimeSeriesOutliers.py +32 -45
  58. validmind/tests/data_validation/TooManyZeroValues.py +2 -4
  59. validmind/tests/data_validation/UniqueRows.py +2 -4
  60. validmind/tests/data_validation/WOEBinPlots.py +2 -4
  61. validmind/tests/data_validation/WOEBinTable.py +2 -4
  62. validmind/tests/data_validation/ZivotAndrewsArch.py +2 -4
  63. validmind/tests/data_validation/nlp/CommonWords.py +2 -4
  64. validmind/tests/data_validation/nlp/Hashtags.py +2 -4
  65. validmind/tests/data_validation/nlp/Mentions.py +2 -4
  66. validmind/tests/data_validation/nlp/Punctuations.py +2 -4
  67. validmind/tests/data_validation/nlp/StopWords.py +2 -4
  68. validmind/tests/data_validation/nlp/TextDescription.py +2 -4
  69. validmind/tests/decorator.py +10 -8
  70. validmind/tests/load.py +264 -0
  71. validmind/tests/metadata.py +59 -0
  72. validmind/tests/model_validation/ClusterSizeDistribution.py +5 -7
  73. validmind/tests/model_validation/FeaturesAUC.py +6 -8
  74. validmind/tests/model_validation/ModelMetadata.py +8 -9
  75. validmind/tests/model_validation/ModelMetadataComparison.py +59 -0
  76. validmind/tests/model_validation/ModelPredictionResiduals.py +103 -0
  77. validmind/tests/model_validation/RegressionResidualsPlot.py +2 -6
  78. validmind/tests/model_validation/TimeSeriesPredictionWithCI.py +131 -0
  79. validmind/tests/model_validation/TimeSeriesPredictionsPlot.py +76 -0
  80. validmind/tests/model_validation/TimeSeriesR2SquareBySegments.py +103 -0
  81. validmind/tests/model_validation/embeddings/ClusterDistribution.py +2 -4
  82. validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py +2 -4
  83. validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +2 -4
  84. validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py +2 -4
  85. validmind/tests/model_validation/embeddings/StabilityAnalysis.py +2 -4
  86. validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py +5 -7
  87. validmind/tests/model_validation/sklearn/AdjustedRandIndex.py +5 -7
  88. validmind/tests/model_validation/sklearn/ClassifierPerformance.py +7 -9
  89. validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py +5 -7
  90. validmind/tests/model_validation/sklearn/ClusterPerformance.py +5 -7
  91. validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py +2 -7
  92. validmind/tests/model_validation/sklearn/CompletenessScore.py +5 -7
  93. validmind/tests/model_validation/sklearn/ConfusionMatrix.py +19 -10
  94. validmind/tests/model_validation/sklearn/FeatureImportanceComparison.py +83 -0
  95. validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py +5 -7
  96. validmind/tests/model_validation/sklearn/HomogeneityScore.py +5 -7
  97. validmind/tests/model_validation/sklearn/HyperParametersTuning.py +2 -7
  98. validmind/tests/model_validation/sklearn/KMeansClustersOptimization.py +4 -7
  99. validmind/tests/model_validation/sklearn/MinimumAccuracy.py +7 -9
  100. validmind/tests/model_validation/sklearn/MinimumF1Score.py +7 -9
  101. validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py +7 -9
  102. validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py +8 -10
  103. validmind/tests/model_validation/sklearn/OverfitDiagnosis.py +7 -9
  104. validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +9 -11
  105. validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py +7 -9
  106. validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py +8 -10
  107. validmind/tests/model_validation/sklearn/ROCCurve.py +10 -11
  108. validmind/tests/model_validation/sklearn/RegressionErrors.py +5 -7
  109. validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py +76 -0
  110. validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py +5 -7
  111. validmind/tests/model_validation/sklearn/RegressionR2Square.py +5 -7
  112. validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py +63 -0
  113. validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py +10 -14
  114. validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +8 -10
  115. validmind/tests/model_validation/sklearn/SilhouettePlot.py +5 -7
  116. validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +8 -10
  117. validmind/tests/model_validation/sklearn/VMeasure.py +5 -7
  118. validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py +8 -10
  119. validmind/tests/model_validation/statsmodels/AutoARIMA.py +2 -4
  120. validmind/tests/model_validation/statsmodels/BoxPierce.py +2 -4
  121. validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py +3 -4
  122. validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +2 -4
  123. validmind/tests/model_validation/statsmodels/GINITable.py +2 -4
  124. validmind/tests/model_validation/statsmodels/JarqueBera.py +7 -9
  125. validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py +7 -9
  126. validmind/tests/model_validation/statsmodels/LJungBox.py +2 -4
  127. validmind/tests/model_validation/statsmodels/Lilliefors.py +7 -9
  128. validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +2 -4
  129. validmind/tests/model_validation/statsmodels/RegressionCoeffsPlot.py +2 -4
  130. validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py +7 -9
  131. validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py +2 -4
  132. validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py +2 -4
  133. validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py +2 -4
  134. validmind/tests/model_validation/statsmodels/RegressionModelSummary.py +2 -4
  135. validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py +2 -4
  136. validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py +6 -8
  137. validmind/tests/model_validation/statsmodels/RunsTest.py +2 -4
  138. validmind/tests/model_validation/statsmodels/ScorecardHistogram.py +3 -4
  139. validmind/tests/model_validation/statsmodels/ShapiroWilk.py +2 -4
  140. validmind/tests/prompt_validation/Bias.py +2 -4
  141. validmind/tests/prompt_validation/Clarity.py +2 -4
  142. validmind/tests/prompt_validation/Conciseness.py +2 -4
  143. validmind/tests/prompt_validation/Delimitation.py +2 -4
  144. validmind/tests/prompt_validation/NegativeInstruction.py +2 -4
  145. validmind/tests/prompt_validation/Robustness.py +2 -4
  146. validmind/tests/prompt_validation/Specificity.py +2 -4
  147. validmind/tests/run.py +394 -0
  148. validmind/tests/test_providers.py +12 -0
  149. validmind/tests/utils.py +16 -0
  150. validmind/unit_metrics/__init__.py +12 -4
  151. validmind/unit_metrics/composite.py +3 -0
  152. validmind/vm_models/test/metric.py +8 -5
  153. validmind/vm_models/test/result_wrapper.py +2 -1
  154. validmind/vm_models/test/test.py +14 -11
  155. validmind/vm_models/test/threshold_test.py +1 -0
  156. validmind/vm_models/test_suite/runner.py +1 -0
  157. {validmind-2.3.3.dist-info → validmind-2.4.0.dist-info}/METADATA +70 -36
  158. {validmind-2.3.3.dist-info → validmind-2.4.0.dist-info}/RECORD +162 -146
  159. /validmind/datasets/regression/datasets/{lending_club_loan_rates.csv → leanding_club_loan_rates.csv} +0 -0
  160. {validmind-2.3.3.dist-info → validmind-2.4.0.dist-info}/LICENSE +0 -0
  161. {validmind-2.3.3.dist-info → validmind-2.4.0.dist-info}/WHEEL +0 -0
  162. {validmind-2.3.3.dist-info → validmind-2.4.0.dist-info}/entry_points.txt +0 -0
validmind/__version__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2.3.3"
1
+ __version__ = "2.4.0"
@@ -218,6 +218,7 @@ def get_description_metadata(
218
218
  summary=None,
219
219
  figures=None,
220
220
  prefix="metric_description",
221
+ should_generate=True,
221
222
  ):
222
223
  """Get Metadata Dictionary for a Test or Metric Result
223
224
 
@@ -238,6 +239,7 @@ def get_description_metadata(
238
239
  summary (Any): The test summary or results to interpret
239
240
  figures (List[Figure]): The figures to attach to the test suite result
240
241
  prefix (str): The prefix to use for the content ID (Default: "metric_description")
242
+ should_generate (bool): Whether to generate the description or not (Default: True)
241
243
 
242
244
  Returns:
243
245
  dict: The metadata object to be logged with the test results
@@ -250,7 +252,12 @@ def get_description_metadata(
250
252
  # TODO: fix circular import
251
253
  from validmind.ai.utils import is_configured
252
254
 
253
- if (summary or figures) and not env_disabled and is_configured():
255
+ if (
256
+ should_generate
257
+ and (summary or figures)
258
+ and not env_disabled
259
+ and is_configured()
260
+ ):
254
261
  revision_name = AI_REVISION_NAME
255
262
 
256
263
  # get description future and set it as the description in the metadata
validmind/ai/utils.py CHANGED
@@ -3,6 +3,7 @@
3
3
  # SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
4
4
 
5
5
  import os
6
+ from urllib.parse import urljoin
6
7
 
7
8
  from openai import AzureOpenAI, Client, OpenAI
8
9
 
@@ -63,7 +64,7 @@ def get_client_and_model():
63
64
  # TODO: improve this to be a bit more dynamic
64
65
  "http://localhost:4000/genai"
65
66
  if "localhost" in get_api_host()
66
- else f"{get_api_host()}/genai"
67
+ else urljoin(get_api_host(), "/genai")
67
68
  ),
68
69
  api_key=response["key"],
69
70
  )
validmind/client.py CHANGED
@@ -162,6 +162,7 @@ def init_dataset(
162
162
  raise UnsupportedDatasetError(
163
163
  "Only Pandas datasets and Tensor Datasets are supported at the moment."
164
164
  )
165
+
165
166
  if __log:
166
167
  log_input(
167
168
  name=input_id,
@@ -0,0 +1,272 @@
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
+ import os
6
+
7
+ import pandas as pd
8
+
9
+ current_path = os.path.dirname(os.path.abspath(__file__))
10
+ mortgage30us_path = os.path.join(current_path, "datasets", "fred", "MORTGAGE30US.csv")
11
+ fedfunds_path = os.path.join(current_path, "datasets", "fred", "FEDFUNDS.csv")
12
+ gs10_path = os.path.join(current_path, "datasets", "fred", "GS10.csv")
13
+ unrate_path = os.path.join(current_path, "datasets", "fred", "UNRATE.csv")
14
+
15
+ target_column = "MORTGAGE30US"
16
+ feature_columns = ["FEDFUNDS", "GS10", "UNRATE"]
17
+
18
+
19
+ def get_common_date_range(dfs):
20
+ start_dates = [df.index.min() for df in dfs]
21
+ end_dates = [df.index.max() for df in dfs]
22
+
23
+ common_start_date = max(start_dates)
24
+ common_end_date = min(end_dates)
25
+
26
+ return common_start_date, common_end_date
27
+
28
+
29
+ def align_date_range(dfs, start_date, end_date):
30
+ return [df.loc[start_date:end_date] for df in dfs]
31
+
32
+
33
+ def load_data():
34
+ mortgage30us = pd.read_csv(
35
+ mortgage30us_path, parse_dates=["DATE"], index_col="DATE"
36
+ )
37
+ fedfunds = pd.read_csv(fedfunds_path, parse_dates=["DATE"], index_col="DATE")
38
+ gs10 = pd.read_csv(gs10_path, parse_dates=["DATE"], index_col="DATE")
39
+ unrate = pd.read_csv(unrate_path, parse_dates=["DATE"], index_col="DATE")
40
+
41
+ # Resample mortgage30us to monthly frequency
42
+ mortgage30us = mortgage30us.resample("MS").last()
43
+
44
+ # Get the common date range
45
+ common_start_date, common_end_date = get_common_date_range(
46
+ [mortgage30us, fedfunds, gs10, unrate]
47
+ )
48
+
49
+ # Align the date range for all dataframes
50
+ mortgage30us, fedfunds, gs10, unrate = align_date_range(
51
+ [mortgage30us, fedfunds, gs10, unrate], common_start_date, common_end_date
52
+ )
53
+
54
+ # Combine into a single DataFrame
55
+ df = pd.concat([mortgage30us, fedfunds, gs10, unrate], axis=1, join="inner")
56
+ df.columns = [target_column] + feature_columns
57
+
58
+ return df
59
+
60
+
61
+ # Convert data back to levels
62
+ def convert_to_levels(diff_df, original_df, target_column):
63
+ """
64
+ Convert differenced data back to original levels.
65
+ """
66
+ previous_values = original_df[target_column].shift(1).dropna()
67
+ levels_df = diff_df.add(previous_values, axis=0)
68
+ return levels_df
69
+
70
+
71
+ def get_demo_test_config(test_suite=None):
72
+
73
+ default_config = {}
74
+
75
+ default_config["validmind.data_validation.TimeSeriesDescription"] = {
76
+ "inputs": {
77
+ "dataset": "raw_ds",
78
+ }
79
+ }
80
+ default_config["validmind.data_validation.TimeSeriesLinePlot"] = {
81
+ "inputs": {
82
+ "dataset": "raw_ds",
83
+ }
84
+ }
85
+ default_config["validmind.data_validation.TimeSeriesMissingValues"] = {
86
+ "inputs": {
87
+ "dataset": "raw_ds",
88
+ }
89
+ }
90
+ default_config["validmind.data_validation.SeasonalDecompose"] = {
91
+ "inputs": {
92
+ "dataset": "raw_ds",
93
+ }
94
+ }
95
+ default_config[
96
+ "validmind.data_validation.TimeSeriesDescriptiveStatistics:train_diff_data"
97
+ ] = {
98
+ "inputs": {
99
+ "dataset": "train_diff_ds",
100
+ }
101
+ }
102
+ default_config[
103
+ "validmind.data_validation.TimeSeriesDescriptiveStatistics:test_diff_data"
104
+ ] = {
105
+ "inputs": {
106
+ "dataset": "test_diff_ds",
107
+ }
108
+ }
109
+ default_config["validmind.data_validation.TimeSeriesOutliers:train_diff_data"] = {
110
+ "inputs": {
111
+ "dataset": "train_diff_ds",
112
+ },
113
+ "params": {"zscore_threshold": 4},
114
+ }
115
+ default_config["validmind.data_validation.TimeSeriesOutliers:test_diff_data"] = {
116
+ "inputs": {
117
+ "dataset": "test_diff_ds",
118
+ },
119
+ "params": {"zscore_threshold": 4},
120
+ }
121
+ default_config["validmind.data_validation.TimeSeriesHistogram:train_diff_data"] = {
122
+ "inputs": {
123
+ "dataset": "train_diff_ds",
124
+ },
125
+ "params": {"nbins": 100},
126
+ }
127
+ default_config["validmind.data_validation.TimeSeriesHistogram:test_diff_data"] = {
128
+ "inputs": {
129
+ "dataset": "test_diff_ds",
130
+ },
131
+ "params": {"nbins": 100},
132
+ }
133
+ default_config["validmind.data_validation.DatasetSplit"] = {
134
+ "inputs": {
135
+ "datasets": ["train_diff_ds", "test_diff_ds"],
136
+ }
137
+ }
138
+ default_config["validmind.model_validation.ModelMetadataComparison"] = {
139
+ "inputs": {
140
+ "models": ["random_forests_model", "gradient_boosting_model"],
141
+ }
142
+ }
143
+ default_config[
144
+ "validmind.model_validation.sklearn.RegressionErrorsComparison:train_data"
145
+ ] = {
146
+ "inputs": {
147
+ "datasets": ["train_ds", "train_ds"],
148
+ "models": ["random_forests_model", "gradient_boosting_model"],
149
+ }
150
+ }
151
+ default_config[
152
+ "validmind.model_validation.sklearn.RegressionErrorsComparison:test_data"
153
+ ] = {
154
+ "inputs": {
155
+ "datasets": ["test_ds", "test_ds"],
156
+ "models": ["random_forests_model", "gradient_boosting_model"],
157
+ }
158
+ }
159
+ default_config[
160
+ "validmind.model_validation.sklearn.RegressionR2SquareComparison:train_data"
161
+ ] = {
162
+ "inputs": {
163
+ "datasets": ["train_ds", "train_ds"],
164
+ "models": ["random_forests_model", "gradient_boosting_model"],
165
+ }
166
+ }
167
+ default_config[
168
+ "validmind.model_validation.sklearn.RegressionR2SquareComparison:test_data"
169
+ ] = {
170
+ "inputs": {
171
+ "datasets": ["test_ds", "test_ds"],
172
+ "models": ["random_forests_model", "gradient_boosting_model"],
173
+ }
174
+ }
175
+ default_config[
176
+ "validmind.model_validation.TimeSeriesR2SquareBySegments:train_data"
177
+ ] = {
178
+ "inputs": {
179
+ "datasets": ["train_ds", "train_ds"],
180
+ "models": ["random_forests_model", "gradient_boosting_model"],
181
+ }
182
+ }
183
+ default_config[
184
+ "validmind.model_validation.TimeSeriesR2SquareBySegments:test_data"
185
+ ] = {
186
+ "inputs": {
187
+ "datasets": ["test_ds", "test_ds"],
188
+ "models": ["random_forests_model", "gradient_boosting_model"],
189
+ },
190
+ "params": {
191
+ "segments": {
192
+ "start_date": ["2012-11-01", "2018-02-01"],
193
+ "end_date": ["2018-01-01", "2023-03-01"],
194
+ }
195
+ },
196
+ }
197
+ default_config[
198
+ "validmind.model_validation.TimeSeriesPredictionsPlot:train_data"
199
+ ] = {
200
+ "inputs": {
201
+ "datasets": ["train_ds", "train_ds"],
202
+ "models": ["random_forests_model", "gradient_boosting_model"],
203
+ }
204
+ }
205
+ default_config["validmind.model_validation.TimeSeriesPredictionsPlot:test_data"] = {
206
+ "inputs": {
207
+ "datasets": ["test_ds", "test_ds"],
208
+ "models": ["random_forests_model", "gradient_boosting_model"],
209
+ }
210
+ }
211
+ default_config[
212
+ "validmind.model_validation.TimeSeriesPredictionWithCI:random_forests_model"
213
+ ] = {
214
+ "inputs": {
215
+ "dataset": "test_ds",
216
+ "model": "random_forests_model",
217
+ }
218
+ }
219
+ default_config[
220
+ "validmind.model_validation.TimeSeriesPredictionWithCI:gradient_boosting_model"
221
+ ] = {
222
+ "inputs": {
223
+ "dataset": "test_ds",
224
+ "model": "gradient_boosting_model",
225
+ }
226
+ }
227
+ default_config["validmind.model_validation.ModelPredictionResiduals:train_data"] = {
228
+ "inputs": {
229
+ "datasets": ["train_ds", "train_ds"],
230
+ "models": ["random_forests_model", "gradient_boosting_model"],
231
+ }
232
+ }
233
+ default_config["validmind.model_validation.ModelPredictionResiduals:test_data"] = {
234
+ "inputs": {
235
+ "datasets": ["test_ds", "test_ds"],
236
+ "models": ["random_forests_model", "gradient_boosting_model"],
237
+ }
238
+ }
239
+ default_config[
240
+ "validmind.model_validation.sklearn.FeatureImportanceComparison:train_data"
241
+ ] = {
242
+ "inputs": {
243
+ "datasets": ["train_ds", "train_ds"],
244
+ "models": ["random_forests_model", "gradient_boosting_model"],
245
+ }
246
+ }
247
+ default_config[
248
+ "validmind.model_validation.sklearn.FeatureImportanceComparison:test_data"
249
+ ] = {
250
+ "inputs": {
251
+ "datasets": ["test_ds", "test_ds"],
252
+ "models": ["random_forests_model", "gradient_boosting_model"],
253
+ }
254
+ }
255
+ default_config[
256
+ "validmind.model_validation.sklearn.PermutationFeatureImportance:random_forests_model"
257
+ ] = {
258
+ "inputs": {
259
+ "dataset": "test_ds",
260
+ "model": "random_forests_model",
261
+ }
262
+ }
263
+ default_config[
264
+ "validmind.model_validation.sklearn.PermutationFeatureImportance:gradient_boosting_model"
265
+ ] = {
266
+ "inputs": {
267
+ "dataset": "test_ds",
268
+ "model": "gradient_boosting_model",
269
+ }
270
+ }
271
+
272
+ return default_config