validmind 2.5.15__py3-none-any.whl → 2.5.19__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- validmind/__version__.py +1 -1
- validmind/ai/test_descriptions.py +54 -112
- validmind/ai/test_result_description/config.yaml +29 -0
- validmind/ai/test_result_description/context.py +73 -0
- validmind/ai/test_result_description/image_processing.py +124 -0
- validmind/ai/test_result_description/system.jinja +39 -0
- validmind/ai/test_result_description/user.jinja +25 -0
- validmind/datasets/credit_risk/__init__.py +1 -0
- validmind/datasets/credit_risk/datasets/lending_club_biased.csv.gz +0 -0
- validmind/datasets/credit_risk/lending_club_bias.py +142 -0
- validmind/errors.py +17 -0
- validmind/tests/__types__.py +19 -10
- validmind/tests/{model_validation/statsmodels → data_validation}/BoxPierce.py +20 -24
- validmind/tests/data_validation/ChiSquaredFeaturesTable.py +4 -1
- validmind/tests/{model_validation/statsmodels → data_validation}/JarqueBera.py +22 -30
- validmind/tests/{model_validation/statsmodels → data_validation}/LJungBox.py +23 -27
- validmind/tests/data_validation/ProtectedClassesCombination.py +205 -0
- validmind/tests/data_validation/ProtectedClassesDescription.py +130 -0
- validmind/tests/data_validation/ProtectedClassesDisparity.py +141 -0
- validmind/tests/data_validation/ProtectedClassesThresholdOptimizer.py +180 -0
- validmind/tests/{model_validation/statsmodels → data_validation}/RunsTest.py +17 -20
- validmind/tests/{model_validation/statsmodels → data_validation}/ShapiroWilk.py +20 -22
- validmind/tests/data_validation/nlp/Hashtags.py +15 -20
- validmind/tests/data_validation/nlp/TextDescription.py +3 -1
- validmind/tests/load.py +21 -5
- validmind/tests/model_validation/ContextualRecall.py +3 -0
- validmind/tests/model_validation/ragas/AnswerCorrectness.py +12 -5
- validmind/tests/model_validation/ragas/AnswerRelevance.py +12 -6
- validmind/tests/model_validation/ragas/AnswerSimilarity.py +12 -6
- validmind/tests/model_validation/ragas/AspectCritique.py +22 -17
- validmind/tests/model_validation/ragas/ContextEntityRecall.py +12 -6
- validmind/tests/model_validation/ragas/ContextPrecision.py +12 -6
- validmind/tests/model_validation/ragas/ContextRecall.py +12 -6
- validmind/tests/model_validation/ragas/ContextUtilization.py +161 -0
- validmind/tests/model_validation/ragas/Faithfulness.py +12 -6
- validmind/tests/model_validation/ragas/NoiseSensitivity.py +158 -0
- validmind/tests/model_validation/sklearn/FeatureImportance.py +3 -3
- validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py +1 -1
- validmind/tests/model_validation/sklearn/RegressionR2Square.py +1 -2
- validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +59 -0
- validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py +40 -20
- validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py +0 -1
- validmind/tests/model_validation/statsmodels/RegressionCoeffs.py +1 -1
- validmind/utils.py +4 -0
- validmind/vm_models/test/metric.py +1 -0
- validmind/vm_models/test/result_wrapper.py +50 -26
- validmind/vm_models/test/threshold_test.py +1 -0
- {validmind-2.5.15.dist-info → validmind-2.5.19.dist-info}/METADATA +4 -3
- {validmind-2.5.15.dist-info → validmind-2.5.19.dist-info}/RECORD +52 -39
- {validmind-2.5.15.dist-info → validmind-2.5.19.dist-info}/WHEEL +1 -1
- {validmind-2.5.15.dist-info → validmind-2.5.19.dist-info}/LICENSE +0 -0
- {validmind-2.5.15.dist-info → validmind-2.5.19.dist-info}/entry_points.txt +0 -0
@@ -78,6 +78,7 @@ class SHAPGlobalImportance(Metric):
|
|
78
78
|
default_params = {
|
79
79
|
"kernel_explainer_samples": 10,
|
80
80
|
"tree_or_linear_explainer_samples": 200,
|
81
|
+
"class_of_interest": None,
|
81
82
|
}
|
82
83
|
|
83
84
|
def _generate_shap_plot(self, type_, shap_values, x_test):
|
@@ -107,6 +108,7 @@ class SHAPGlobalImportance(Metric):
|
|
107
108
|
shap_values / max_shap_value * 100
|
108
109
|
) # scaling factor to make the top feature 100%
|
109
110
|
summary_plot_extra_args = {"plot_type": "bar"}
|
111
|
+
|
110
112
|
shap.summary_plot(
|
111
113
|
shap_values, x_test, show=False, **summary_plot_extra_args
|
112
114
|
)
|
@@ -192,6 +194,10 @@ class SHAPGlobalImportance(Metric):
|
|
192
194
|
|
193
195
|
shap_values = explainer.shap_values(shap_sample)
|
194
196
|
|
197
|
+
# Select the SHAP values for the specified class (classification) or for the regression output.
|
198
|
+
class_of_interest = self.params["class_of_interest"]
|
199
|
+
shap_values = _select_shap_values(shap_values, class_of_interest)
|
200
|
+
|
195
201
|
figures = [
|
196
202
|
self._generate_shap_plot("mean", shap_values, shap_sample),
|
197
203
|
self._generate_shap_plot("summary", shap_values, shap_sample),
|
@@ -214,3 +220,56 @@ class SHAPGlobalImportance(Metric):
|
|
214
220
|
for fig_num, type_ in enumerate(["mean", "summary"], start=1):
|
215
221
|
assert isinstance(self.result.figures[fig_num - 1], Figure)
|
216
222
|
assert self.result.figures[fig_num - 1].metadata["type"] == type_
|
223
|
+
|
224
|
+
|
225
|
+
def _select_shap_values(shap_values, class_of_interest=None):
|
226
|
+
"""
|
227
|
+
Selects SHAP values for binary or multiclass classification. For regression models,
|
228
|
+
returns the SHAP values directly as there are no classes.
|
229
|
+
|
230
|
+
Parameters:
|
231
|
+
-----------
|
232
|
+
shap_values : list or numpy.ndarray
|
233
|
+
The SHAP values returned by the SHAP explainer. For multiclass classification,
|
234
|
+
this will be a list where each element corresponds to a class. For regression,
|
235
|
+
this will be a single array of SHAP values.
|
236
|
+
|
237
|
+
class_of_interest : int, optional
|
238
|
+
The class index for which to retrieve SHAP values. If None (default), the function
|
239
|
+
will assume binary classification and use class 1 by default.
|
240
|
+
|
241
|
+
Returns:
|
242
|
+
--------
|
243
|
+
numpy.ndarray
|
244
|
+
The SHAP values for the specified class (classification) or for the regression output.
|
245
|
+
|
246
|
+
Raises:
|
247
|
+
-------
|
248
|
+
ValueError
|
249
|
+
If class_of_interest is specified and is out of bounds for the number of classes.
|
250
|
+
"""
|
251
|
+
# Check if we are dealing with a multiclass classification
|
252
|
+
if isinstance(shap_values, list):
|
253
|
+
num_classes = len(shap_values)
|
254
|
+
|
255
|
+
# Default to class 1 for binary classification
|
256
|
+
if num_classes == 2 and class_of_interest is None:
|
257
|
+
logger.info(
|
258
|
+
"Binary classification detected: using SHAP values for class 1 (positive class)."
|
259
|
+
)
|
260
|
+
return shap_values[1]
|
261
|
+
else:
|
262
|
+
# Multiclass classification: use the specified class_of_interest
|
263
|
+
if class_of_interest is not None and 0 <= class_of_interest < num_classes:
|
264
|
+
logger.info(
|
265
|
+
f"Multiclass classification: using SHAP values for class {class_of_interest}."
|
266
|
+
)
|
267
|
+
return shap_values[class_of_interest]
|
268
|
+
else:
|
269
|
+
raise ValueError(
|
270
|
+
f"Invalid class_of_interest: {class_of_interest}. Must be between 0 and {num_classes - 1}."
|
271
|
+
)
|
272
|
+
else:
|
273
|
+
# For regression, return the SHAP values as they are
|
274
|
+
logger.info("Regression model detected: returning SHAP values as-is.")
|
275
|
+
return shap_values
|
@@ -2,15 +2,15 @@
|
|
2
2
|
# See the LICENSE file in the root of this repository for details.
|
3
3
|
# SPDX-License-Identifier: AGPL-3.0 AND ValidMind Commercial
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
import pandas as pd
|
7
6
|
from statsmodels.stats.stattools import durbin_watson
|
8
7
|
|
9
|
-
from validmind
|
8
|
+
from validmind import tags, tasks
|
10
9
|
|
11
10
|
|
12
|
-
@
|
13
|
-
|
11
|
+
@tasks("regression")
|
12
|
+
@tags("time_series_data", "forecasting", "statistical_test", "statsmodels")
|
13
|
+
def DurbinWatsonTest(dataset, model, threshold=[1.5, 2.5]):
|
14
14
|
"""
|
15
15
|
Assesses autocorrelation in time series data features using the Durbin-Watson statistic.
|
16
16
|
|
@@ -49,18 +49,38 @@ class DurbinWatsonTest(Metric):
|
|
49
49
|
to detect higher-order autocorrelation.
|
50
50
|
"""
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
52
|
+
# Validate threshold values
|
53
|
+
if not (0 < threshold[0] < threshold[1] < 4):
|
54
|
+
raise ValueError(
|
55
|
+
"Invalid threshold. It should be in the form [a, b] where 0 < a < b < 4."
|
56
|
+
)
|
57
|
+
|
58
|
+
# Check if threshold values are around 2
|
59
|
+
if abs(2 - threshold[0]) > 1 or abs(2 - threshold[1]) > 1:
|
60
|
+
raise ValueError(
|
61
|
+
"Threshold values should be around 2 for meaningful Durbin-Watson test results."
|
62
|
+
)
|
63
|
+
|
64
|
+
y_true = dataset.y
|
65
|
+
y_pred = dataset.y_pred(model)
|
66
|
+
residuals = y_true - y_pred
|
67
|
+
|
68
|
+
dw_statistic = durbin_watson(residuals)
|
69
|
+
|
70
|
+
def get_autocorrelation(dw_value, threshold):
|
71
|
+
if dw_value < threshold[0]:
|
72
|
+
return "Positive autocorrelation"
|
73
|
+
elif dw_value > threshold[1]:
|
74
|
+
return "Negative autocorrelation"
|
75
|
+
else:
|
76
|
+
return "No autocorrelation"
|
77
|
+
|
78
|
+
results = pd.DataFrame(
|
79
|
+
{
|
80
|
+
"dw_statistic": [dw_statistic],
|
81
|
+
"threshold": [str(threshold)],
|
82
|
+
"autocorrelation": [get_autocorrelation(dw_statistic, threshold)],
|
83
|
+
}
|
84
|
+
)
|
85
|
+
|
86
|
+
return results
|
@@ -7,8 +7,8 @@ import pandas as pd
|
|
7
7
|
import plotly.graph_objects as go
|
8
8
|
from scipy import stats
|
9
9
|
|
10
|
-
from validmind.errors import SkipTestError
|
11
10
|
from validmind import tags, tasks
|
11
|
+
from validmind.errors import SkipTestError
|
12
12
|
|
13
13
|
|
14
14
|
@tags("tabular_data", "visualization", "model_training")
|
validmind/utils.py
CHANGED
@@ -175,6 +175,10 @@ def format_records(df):
|
|
175
175
|
continue
|
176
176
|
not_zero = df[col][df[col] != 0]
|
177
177
|
min_number = not_zero.min()
|
178
|
+
if math.isnan(min_number) or math.isinf(min_number):
|
179
|
+
df[col] = df[col].round(DEFAULT_SMALL_NUMBER_DECIMALS)
|
180
|
+
continue
|
181
|
+
|
178
182
|
_, min_scale = precision_and_scale(min_number)
|
179
183
|
|
180
184
|
if min_number >= 10:
|
@@ -128,6 +128,8 @@ class ResultWrapper(ABC):
|
|
128
128
|
# id of the result, can be set by the subclass. This helps
|
129
129
|
# looking up results later on
|
130
130
|
result_id: str = None
|
131
|
+
# Text description from test or metric (docstring usually)
|
132
|
+
result_description: str = None
|
131
133
|
# Text metadata about the result, can include description, etc.
|
132
134
|
result_metadata: List[dict] = None
|
133
135
|
# Output template to use for rendering the result
|
@@ -300,38 +302,60 @@ class MetricResultWrapper(ResultWrapper):
|
|
300
302
|
return VBox(vbox_children)
|
301
303
|
|
302
304
|
def _get_filtered_summary(self):
|
303
|
-
"""Check if the metric summary has columns from input datasets"""
|
304
|
-
dataset_columns =
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
dataset_columns
|
311
|
-
|
312
|
-
for table in [*self.metric.summary.results]:
|
313
|
-
columns = set()
|
305
|
+
"""Check if the metric summary has columns from input datasets with matching row counts."""
|
306
|
+
dataset_columns = self._get_dataset_columns()
|
307
|
+
filtered_results = []
|
308
|
+
|
309
|
+
for table in self.metric.summary.results:
|
310
|
+
table_columns = self._get_table_columns(table)
|
311
|
+
sensitive_columns = self._find_sensitive_columns(
|
312
|
+
dataset_columns, table_columns
|
313
|
+
)
|
314
314
|
|
315
|
-
if
|
316
|
-
|
317
|
-
elif isinstance(table.data, list):
|
318
|
-
columns.update(table.data[0].keys())
|
315
|
+
if sensitive_columns:
|
316
|
+
self._log_sensitive_data_warning(sensitive_columns)
|
319
317
|
else:
|
320
|
-
|
318
|
+
filtered_results.append(table)
|
321
319
|
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
320
|
+
self.metric.summary.results = filtered_results
|
321
|
+
return self.metric.summary
|
322
|
+
|
323
|
+
def _get_dataset_columns(self):
|
324
|
+
dataset_columns = {}
|
325
|
+
for input_item in self.inputs:
|
326
|
+
input_id = (
|
327
|
+
input_item if isinstance(input_item, str) else input_item.input_id
|
328
|
+
)
|
329
|
+
input_obj = input_registry.get(input_id)
|
330
|
+
if isinstance(input_obj, VMDataset):
|
331
|
+
dataset_columns.update(
|
332
|
+
{col: len(input_obj.df) for col in input_obj.columns}
|
330
333
|
)
|
334
|
+
return dataset_columns
|
331
335
|
|
332
|
-
|
336
|
+
def _get_table_columns(self, table):
|
337
|
+
if isinstance(table.data, pd.DataFrame):
|
338
|
+
return {col: len(table.data) for col in table.data.columns}
|
339
|
+
elif isinstance(table.data, list) and table.data:
|
340
|
+
return {col: len(table.data) for col in table.data[0].keys()}
|
341
|
+
else:
|
342
|
+
raise ValueError("Invalid data type in summary table")
|
333
343
|
|
334
|
-
|
344
|
+
def _find_sensitive_columns(self, dataset_columns, table_columns):
|
345
|
+
return [
|
346
|
+
col
|
347
|
+
for col, row_count in table_columns.items()
|
348
|
+
if col in dataset_columns and row_count == dataset_columns[col]
|
349
|
+
]
|
350
|
+
|
351
|
+
def _log_sensitive_data_warning(self, sensitive_columns):
|
352
|
+
logger.warning(
|
353
|
+
"Sensitive data in metric summary table. Not logging to API automatically. "
|
354
|
+
"Pass `unsafe=True` to result.log() method to override manually."
|
355
|
+
)
|
356
|
+
logger.warning(
|
357
|
+
f"The following columns are present in the table with matching row counts: {sensitive_columns}"
|
358
|
+
)
|
335
359
|
|
336
360
|
async def log_async(
|
337
361
|
self, section_id: str = None, position: int = None, unsafe=False
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: validmind
|
3
|
-
Version: 2.5.
|
3
|
+
Version: 2.5.19
|
4
4
|
Summary: ValidMind Developer Framework
|
5
5
|
License: Commercial License
|
6
6
|
Author: Andres Rodriguez
|
@@ -20,6 +20,7 @@ Requires-Dist: aiohttp[speedups]
|
|
20
20
|
Requires-Dist: arch
|
21
21
|
Requires-Dist: bert-score (>=0.3.13)
|
22
22
|
Requires-Dist: catboost
|
23
|
+
Requires-Dist: datasets (>=2.10.0,<3.0.0)
|
23
24
|
Requires-Dist: evaluate
|
24
25
|
Requires-Dist: ipywidgets
|
25
26
|
Requires-Dist: kaleido (>=0.2.1,!=0.2.1.post1)
|
@@ -34,13 +35,13 @@ Requires-Dist: nltk (>=3.8.1,<4.0.0)
|
|
34
35
|
Requires-Dist: numba (<0.59.0)
|
35
36
|
Requires-Dist: numpy
|
36
37
|
Requires-Dist: openai (>=1)
|
37
|
-
Requires-Dist: pandas (>=1.1
|
38
|
+
Requires-Dist: pandas (>=1.1,<=2.0.3)
|
38
39
|
Requires-Dist: plotly
|
39
40
|
Requires-Dist: plotly-express
|
40
41
|
Requires-Dist: polars
|
41
42
|
Requires-Dist: pycocoevalcap (>=1.2,<2.0) ; extra == "all" or extra == "llm"
|
42
43
|
Requires-Dist: python-dotenv
|
43
|
-
Requires-Dist: ragas (>=0.1.
|
44
|
+
Requires-Dist: ragas (>=0.1.19) ; extra == "all" or extra == "llm"
|
44
45
|
Requires-Dist: rouge (>=1)
|
45
46
|
Requires-Dist: rpy2 (>=3.5.10,<4.0.0) ; extra == "all" or extra == "r-support"
|
46
47
|
Requires-Dist: scikit-learn
|
@@ -1,6 +1,11 @@
|
|
1
1
|
validmind/__init__.py,sha256=UfmzPwUCdUWbWq3zPqqmq4jw0_kfl3hX4U72p_seE4I,3700
|
2
|
-
validmind/__version__.py,sha256=
|
3
|
-
validmind/ai/test_descriptions.py,sha256=
|
2
|
+
validmind/__version__.py,sha256=_2cKtG-ZR8Z0nSHFPo_JNxXI6FCvHE4pVUbtlYKUQfI,23
|
3
|
+
validmind/ai/test_descriptions.py,sha256=BUJz-aZ3eu_i4LI16P8MD1ek_GfeB263CWks9T6W3Iw,7419
|
4
|
+
validmind/ai/test_result_description/config.yaml,sha256=E1gPd-uv-MzdrWZA_rP6LSk8pVmkYijx6v78hZ8ceL0,787
|
5
|
+
validmind/ai/test_result_description/context.py,sha256=tIdhPsrphomeTXdDcFE04kPYKbDNDPy2K8Xxg-dWWo0,2331
|
6
|
+
validmind/ai/test_result_description/image_processing.py,sha256=JNaO1zyM9293WWuyzUp1meQQbHuut0XN4kKUGzQTwYY,4061
|
7
|
+
validmind/ai/test_result_description/system.jinja,sha256=BjMvZCC3UXEH8p3VPpnHtGjhnqnbNcEG2_kYZ_QZrgg,2358
|
8
|
+
validmind/ai/test_result_description/user.jinja,sha256=kyWJK9RcBKvtPf6O2rEzCAHAdUFEIlAwK-exLhtoPRI,630
|
4
9
|
validmind/ai/utils.py,sha256=TEXII_S5CpkpczzSyHwTlqLcPMLnPBJWEBR6QFMKh1U,3421
|
5
10
|
validmind/api_client.py,sha256=arMEyVMNTlHnbThOTVhXV2BvKy7JlBKKv-pcG-ICigU,19228
|
6
11
|
validmind/client.py,sha256=Fi9WmDTt6J3KWJDpvkXy8CnSn00Xqwqf2qcV2rCTx8Y,18910
|
@@ -12,9 +17,11 @@ validmind/datasets/classification/datasets/bank_customer_churn.csv,sha256=b0muNg
|
|
12
17
|
validmind/datasets/classification/datasets/taiwan_credit.csv,sha256=fe19VfV30li7rdydnXpbqC372JCdf_HvDc3mMlWNbXE,2897191
|
13
18
|
validmind/datasets/classification/taiwan_credit.py,sha256=nj6JyfcyAfaYgh60T3LdBZsCpzRBsMf0RjYMvedHzuQ,1469
|
14
19
|
validmind/datasets/cluster/digits.py,sha256=E600pX6QPrqndfr73kwZ1sTNk0hC5kNj4Fhs8zz8bQo,2097
|
15
|
-
validmind/datasets/credit_risk/__init__.py,sha256=
|
20
|
+
validmind/datasets/credit_risk/__init__.py,sha256=vK0wyUcA2mpjasNR-EaBj_0MdPhJw5KK8xlrKj_xl68,295
|
21
|
+
validmind/datasets/credit_risk/datasets/lending_club_biased.csv.gz,sha256=PdsyEqHtfShtfl_xoNWva2Ofyfx5hmrLhowPka4hLew,6266192
|
16
22
|
validmind/datasets/credit_risk/datasets/lending_club_loan_data_2007_2014_clean.csv.gz,sha256=bAgdfmUxjYOdZMPvoHtKr_GLoXNAX04KUTfjn2L62eE,5493810
|
17
23
|
validmind/datasets/credit_risk/lending_club.py,sha256=oscdu1zmDytSU6dJwinl97si4LDdzMBTFUgiJialRmE,11403
|
24
|
+
validmind/datasets/credit_risk/lending_club_bias.py,sha256=8_Xf1qxCTUPv1wYHYkjabO2WtQsfVudJ6eje3phQUrc,4461
|
18
25
|
validmind/datasets/llm/rag/__init__.py,sha256=v8BygB6rGECoMIXv2_I1lVUAfPJ_gVo0GgVKhzk60h4,264
|
19
26
|
validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_1.csv,sha256=8Ae8TD5Yh6rQ67HMCu7iKipj5tyOOhzylZqLppAeKzs,24095
|
20
27
|
validmind/datasets/llm/rag/datasets/rfp_existing_questions_client_2.csv,sha256=PV7eD-h_KWwLzboCPCAEg2LD4XMVO3tS1cWpu18V6Ok,24520
|
@@ -57,7 +64,7 @@ validmind/datasets/regression/models/fred_loan_rates_model_2.pkl,sha256=J1ukMdeF
|
|
57
64
|
validmind/datasets/regression/models/fred_loan_rates_model_3.pkl,sha256=IogZPcUQc1F_v11fR6KWT-nRt5JzvK5f7p4Hrw7vLps,40063
|
58
65
|
validmind/datasets/regression/models/fred_loan_rates_model_4.pkl,sha256=cSxhpcrI4hCbxCwZwE2-nr7KObbWpDii3NzpECoXmmM,48292
|
59
66
|
validmind/datasets/regression/models/fred_loan_rates_model_5.pkl,sha256=FkNLHq9xkPMbYks_vyMjFL371mw9SQYbP1iX9lY4Ljo,60343
|
60
|
-
validmind/errors.py,sha256=
|
67
|
+
validmind/errors.py,sha256=GiOrZR1c11E5eJtPs-HkKnvRcfKNNfuFhYCAV9uWtVQ,8589
|
61
68
|
validmind/html_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
69
|
validmind/html_templates/content_blocks.py,sha256=LTsv2Hr_drUUZVLEfY2JcT4z0M-45RGYy2sFInt1VKY,3998
|
63
70
|
validmind/input_registry.py,sha256=8C_mrhgLT72hwbt_lo3ZwXb5NCyIcSuCQI1HdJ3bK2A,1042
|
@@ -86,7 +93,7 @@ validmind/test_suites/tabular_datasets.py,sha256=WE4eLzRCfiqAxRqXnZFRR3Lo_u-TI6K
|
|
86
93
|
validmind/test_suites/text_data.py,sha256=YGVGBB05356jN9Gzcy5CHShRzo1fm5mKsZY7YBq0cYU,739
|
87
94
|
validmind/test_suites/time_series.py,sha256=3hzWc9gXHBf8aMecD-1YYGFS5RI1o8A-eor9akeBzSU,4403
|
88
95
|
validmind/tests/__init__.py,sha256=niYvgTHmjS5E42mJMCrzq1vP8PTKCWxVsqSkAaw2wsE,1036
|
89
|
-
validmind/tests/__types__.py,sha256=
|
96
|
+
validmind/tests/__types__.py,sha256=hpNSChkR53muc_IgNuCT5grYeU0PLbpXujmFji4fAlM,9955
|
90
97
|
validmind/tests/_store.py,sha256=G604L9g-XIJz8u7BLbHVVVcbx96tDYjAAciaF7wJoiM,2743
|
91
98
|
validmind/tests/data_validation/ACFandPACFPlot.py,sha256=gnEo0wbtXioK6XYo1KWgMTTX_c_dn61Y613T7tkOYnI,4897
|
92
99
|
validmind/tests/data_validation/ADF.py,sha256=a_LF0TV14c-B-wLtZW7buX_9mtWIpIYkcqOoSaOIl9Q,5053
|
@@ -95,7 +102,8 @@ validmind/tests/data_validation/AutoMA.py,sha256=_O-Io05ZnJvZLJ9tLFWXRFjyGbO7ULi
|
|
95
102
|
validmind/tests/data_validation/AutoSeasonality.py,sha256=dmYNoKVuuJPVELK-xAy1NNNobApeLlpMk7dDp7nXNAo,7982
|
96
103
|
validmind/tests/data_validation/AutoStationarity.py,sha256=E_IgRNkd6DkxuLMBoaTDF-c2peGGMCPO6ltOaZ5lcS0,7841
|
97
104
|
validmind/tests/data_validation/BivariateScatterPlots.py,sha256=IFOihmr8Kf96Cvgs-HzDjMWKERZ26GYH8D_yzw0C3So,3330
|
98
|
-
validmind/tests/data_validation/
|
105
|
+
validmind/tests/data_validation/BoxPierce.py,sha256=XdWf4vqdirQc3GdK19lfUtpG06QuFy42wkl6loxQLt8,3432
|
106
|
+
validmind/tests/data_validation/ChiSquaredFeaturesTable.py,sha256=il0L9AwlI2ukk1MOVECu7tddsbJTFD1m8vK2-tpvBTA,4077
|
99
107
|
validmind/tests/data_validation/ClassImbalance.py,sha256=10ZyWMy4KUAsDo5bifqNE9Wsu1PlpSpsxw0NY0BjHWo,6884
|
100
108
|
validmind/tests/data_validation/DFGLSArch.py,sha256=_Ri9A-d9sesn1hhqzMQczkdDzkiVtGQcwOxiNd6nOf0,5364
|
101
109
|
validmind/tests/data_validation/DatasetDescription.py,sha256=KSHe3nZUoaiJNBcIeS8CC8VVr--YR802_SEgJcYMyxI,11387
|
@@ -109,15 +117,23 @@ validmind/tests/data_validation/HighPearsonCorrelation.py,sha256=gY-qeddWAxXR79I
|
|
109
117
|
validmind/tests/data_validation/IQROutliersBarPlot.py,sha256=CeR8fqo2YhIWTqQSyE2fD5_uMnuXQfk4UN5XC_GQp0I,6276
|
110
118
|
validmind/tests/data_validation/IQROutliersTable.py,sha256=QfXsSMFoggL835aKJo-DBHZt_mjqA9V-hf-jx_4ApsA,5489
|
111
119
|
validmind/tests/data_validation/IsolationForestOutliers.py,sha256=lWBn08eAuSNcLJWTNocfn8O9T6L47zlHWGDMuunPlrw,4847
|
120
|
+
validmind/tests/data_validation/JarqueBera.py,sha256=KnUfQLrhV3KKqyGOA49pwxRLQ6wl6txjkxO1pqXFKS4,3159
|
112
121
|
validmind/tests/data_validation/KPSS.py,sha256=qdNLHtdDO7zIUhwjmNjUL1pc_IBYzn5kx3Nr5M7IDJ0,4959
|
122
|
+
validmind/tests/data_validation/LJungBox.py,sha256=8ujAg7ZcEYquYxHEqBZkD8otBnSpu6OH3kkyKVsX_c4,2895
|
113
123
|
validmind/tests/data_validation/LaggedCorrelationHeatmap.py,sha256=sdrDkCgtjymxqkfr0v1SZWHyd7nCpvbmosznwi9StpA,6016
|
114
124
|
validmind/tests/data_validation/MissingValues.py,sha256=hrAD6YhI5_tmQEcAddYmI3vWEWbIs2Q6R8N1sUAh_Iw,4048
|
115
125
|
validmind/tests/data_validation/MissingValuesBarPlot.py,sha256=Zp7cMLb7iAAC2ZbEFMBmTP4hAxKuRejL__24309mKe8,6210
|
116
126
|
validmind/tests/data_validation/PearsonCorrelationMatrix.py,sha256=GB8Ca8UT4ARBV7Oeha53UL0aTOrvUrwrwsJHKYeEL74,3797
|
117
127
|
validmind/tests/data_validation/PhillipsPerronArch.py,sha256=_YN_RVr0vOrb117XgxOl3W3YPcxfPNcTI_kf0r3CI38,4867
|
128
|
+
validmind/tests/data_validation/ProtectedClassesCombination.py,sha256=YIZSgjnWKtDy5GmBsBdMiYZar6p9r2waBPSnmNEgNBA,6695
|
129
|
+
validmind/tests/data_validation/ProtectedClassesDescription.py,sha256=j1ymn-gRZUBVRR3BML2PytyFfOGGFGlcoAveMzTn04M,5203
|
130
|
+
validmind/tests/data_validation/ProtectedClassesDisparity.py,sha256=lK62HoyHsFt7EU9bzafnU--H77wDzFyZ3cmCVN-ZSEs,5422
|
131
|
+
validmind/tests/data_validation/ProtectedClassesThresholdOptimizer.py,sha256=w8ntA8eupshLS4-nQV8yqKwtmoQWwQ_b9KJUashvWSI,5914
|
118
132
|
validmind/tests/data_validation/RollingStatsPlot.py,sha256=St9LAWSawZ7YmNrCOzVH4Oi_tu6iYvi1WPS9R6ePRQU,5888
|
133
|
+
validmind/tests/data_validation/RunsTest.py,sha256=0xbi4K86m-qL1nxQPeZIp_HWo3NiDv6MPGaeRhvL6I8,3475
|
119
134
|
validmind/tests/data_validation/ScatterPlot.py,sha256=WeyeAq3QMY_OpzssY5S07a4Y46qiad6h2NunSVCYrQo,3423
|
120
135
|
validmind/tests/data_validation/SeasonalDecompose.py,sha256=fYdN2Kj-WoOE-fOJKDAgGrmZZPlNRgMj-2bgpsenRfI,9454
|
136
|
+
validmind/tests/data_validation/ShapiroWilk.py,sha256=AhqJwbmKAy8lpac5ELM_hKt_60PA3DCUqO8kCgnVgQE,3132
|
121
137
|
validmind/tests/data_validation/Skewness.py,sha256=B0lmASCEEJI3-BzPVhUNr6qf-XWc0QHwqeYEig9pvUY,4515
|
122
138
|
validmind/tests/data_validation/SpreadPlot.py,sha256=7bABKP6sSyh0eqn4k8f6e0045-y8yzv4lFgS-7YxY64,4343
|
123
139
|
validmind/tests/data_validation/TabularCategoricalBarPlots.py,sha256=hYDWqG5TJOVuPVhzNTf2mGu2rYPTK_qAaiqDJkj9ecY,4132
|
@@ -139,23 +155,23 @@ validmind/tests/data_validation/WOEBinTable.py,sha256=E8s4bWKQKuywSCn-2oRwVliWb0
|
|
139
155
|
validmind/tests/data_validation/ZivotAndrewsArch.py,sha256=sI2dc7bFyscAAQTi1eeAgWAiAC3qKxePK8epZmcMBX0,5006
|
140
156
|
validmind/tests/data_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
157
|
validmind/tests/data_validation/nlp/CommonWords.py,sha256=Vt0TcWOo2ndATxa7SIl6PcFT2SPELsBFx_QGIeENJRE,4149
|
142
|
-
validmind/tests/data_validation/nlp/Hashtags.py,sha256=
|
158
|
+
validmind/tests/data_validation/nlp/Hashtags.py,sha256=NOgPg0V_E8O34YDlyviIjGxSjacVYHk_IuXb-z7n2QI,4178
|
143
159
|
validmind/tests/data_validation/nlp/LanguageDetection.py,sha256=axbhQeOOPmmFFhxV0b605qress5cVv--XlvK_CVRU6E,3055
|
144
160
|
validmind/tests/data_validation/nlp/Mentions.py,sha256=oDKDUAOA7r3E3HOV4UI5Q84aNIcoAiMMnjkjgJgKpqs,4594
|
145
161
|
validmind/tests/data_validation/nlp/PolarityAndSubjectivity.py,sha256=ypIYPw3GJYngYzkj-d6Q4m_2YiQTSjAKJOJkwQ0y49g,2996
|
146
162
|
validmind/tests/data_validation/nlp/Punctuations.py,sha256=ESV9yl276Qubm1UYP9b_7zD33JX5g3BayZpTwqqlHiM,3681
|
147
163
|
validmind/tests/data_validation/nlp/Sentiment.py,sha256=AgKMyXU0gzMX6j2p1YYQY3zcW92jeTl9ScSZMJtkS7c,2780
|
148
164
|
validmind/tests/data_validation/nlp/StopWords.py,sha256=vr-nSIYxp-IX0xrIMbmMiY2Jj8pwjibXfLBPaAEZpMQ,6079
|
149
|
-
validmind/tests/data_validation/nlp/TextDescription.py,sha256=
|
165
|
+
validmind/tests/data_validation/nlp/TextDescription.py,sha256=cYGILdpglV7fWMl_cG2HxfKKmnB7R5swBP3wRYDDbas,8071
|
150
166
|
validmind/tests/data_validation/nlp/Toxicity.py,sha256=-t51-sh8S5vkHeQHK8nRveqC0HqSh_C7xJBsGkOXW_o,2541
|
151
167
|
validmind/tests/data_validation/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
152
168
|
validmind/tests/decorator.py,sha256=vPcECxNZTYEkeaaZKGiuKOOuJYs0H344Bg5XcFmvei0,11276
|
153
|
-
validmind/tests/load.py,sha256=
|
169
|
+
validmind/tests/load.py,sha256=b4F4tw8KsufmEeJtJtWqidP3E2BKs48pYkRJVRpRMzQ,9500
|
154
170
|
validmind/tests/metadata.py,sha256=wAfWWD3s1GAlWsabjUUfoKlnAQhOn17Rym4y-gC4iCE,1370
|
155
171
|
validmind/tests/model_validation/BertScore.py,sha256=q-zdZazfVdgzr7Fgf4a4veEDblycwbepEkyG1RI5mKc,5279
|
156
172
|
validmind/tests/model_validation/BleuScore.py,sha256=eRK39XpbXXgXFpm5PFzj34U_ekHUMFW4G0sYWeZpy8g,4921
|
157
173
|
validmind/tests/model_validation/ClusterSizeDistribution.py,sha256=URML_uRs7KIaubLz49X2i_Dv5yCDOJ4hD8ADJWxV9dA,3795
|
158
|
-
validmind/tests/model_validation/ContextualRecall.py,sha256=
|
174
|
+
validmind/tests/model_validation/ContextualRecall.py,sha256=5X8BerhosRRY-K_MqLs15forokWDA3he-teQTufGGVs,5113
|
159
175
|
validmind/tests/model_validation/FeaturesAUC.py,sha256=NrL4aw8IvmkHxjMqrQ3mvued994ze41N1iCvU4RHI1U,4733
|
160
176
|
validmind/tests/model_validation/MeteorScore.py,sha256=YhX2hBpT32QGkSrpidv-H-4HkQEwRMeU5Il6cMuCSwY,5114
|
161
177
|
validmind/tests/model_validation/ModelMetadata.py,sha256=UiDANMTqAy0DURnnTzImYNS-3Z8sE4yFjg1c2S5YFS8,2521
|
@@ -184,14 +200,16 @@ validmind/tests/model_validation/embeddings/StabilityAnalysisRandomNoise.py,sha2
|
|
184
200
|
validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py,sha256=BzQeWSjhfP3qZ_sk9WHc3v-m_mH61oJBoWNNVnj9PoY,4181
|
185
201
|
validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py,sha256=bJspUwA6PyIpmLAQ_o5E_CE6t6QhvpU6qzIdk8qZWEQ,4620
|
186
202
|
validmind/tests/model_validation/embeddings/TSNEComponentsPairwisePlots.py,sha256=7b-VONVp8yu5lG_U-h7VKb2k9edXbVai9W7TkiozQPc,4578
|
187
|
-
validmind/tests/model_validation/ragas/AnswerCorrectness.py,sha256=
|
188
|
-
validmind/tests/model_validation/ragas/AnswerRelevance.py,sha256=
|
189
|
-
validmind/tests/model_validation/ragas/AnswerSimilarity.py,sha256=
|
190
|
-
validmind/tests/model_validation/ragas/AspectCritique.py,sha256=
|
191
|
-
validmind/tests/model_validation/ragas/ContextEntityRecall.py,sha256=-
|
192
|
-
validmind/tests/model_validation/ragas/ContextPrecision.py,sha256=
|
193
|
-
validmind/tests/model_validation/ragas/ContextRecall.py,sha256=
|
194
|
-
validmind/tests/model_validation/ragas/
|
203
|
+
validmind/tests/model_validation/ragas/AnswerCorrectness.py,sha256=D9g-h6YLOsAB8E22_HLr579hYZzRETVJkky9GhkH0Rg,5350
|
204
|
+
validmind/tests/model_validation/ragas/AnswerRelevance.py,sha256=UN2HlQ9Hm-NPOrPqb8FpLyYmp2oMBsFzv6bwBjKSufQ,5206
|
205
|
+
validmind/tests/model_validation/ragas/AnswerSimilarity.py,sha256=sMwIYQjxhlYa6M9SuwxYZe_-72Y_B2EupStQ6f4MTmk,4667
|
206
|
+
validmind/tests/model_validation/ragas/AspectCritique.py,sha256=XasimDgkhSeiPur1N7_AOAlBzQmFCwGhtDvGBvWom2A,6630
|
207
|
+
validmind/tests/model_validation/ragas/ContextEntityRecall.py,sha256=-lGAMQ0aF6UP9ga26-Rdj0NOesPyH8tFCGO6tsvxYWc,5125
|
208
|
+
validmind/tests/model_validation/ragas/ContextPrecision.py,sha256=k4X21H3_n9w_Z7uGSyRTrWa0QLJoQ43S_ntrFZeKue0,4840
|
209
|
+
validmind/tests/model_validation/ragas/ContextRecall.py,sha256=MmqG7GEqxxTXNw5MjuIERsVayZB9vwx2AAGJIwLpR6g,4774
|
210
|
+
validmind/tests/model_validation/ragas/ContextUtilization.py,sha256=3hxjRTNND3bGJPlGLrEGd36w-_YtK-Wj4v3NRKOmxnc,6156
|
211
|
+
validmind/tests/model_validation/ragas/Faithfulness.py,sha256=6_PZfJXhelG7B6uYJ14DmqOveXclK3KRckajhF2Cbwg,4731
|
212
|
+
validmind/tests/model_validation/ragas/NoiseSensitivity.py,sha256=CqRaB1DEfaEz5QNCAJxyfn0sC9C9_o0-fPWggppHsCA,5738
|
195
213
|
validmind/tests/model_validation/ragas/utils.py,sha256=VCc3NcNLIwrYQ7RvuJ1ev4XhI86TKDVNzI8o12aHFHc,3363
|
196
214
|
validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py,sha256=ayGZ2IVJxSFVhR_Vnb2xp8dHpMXzvAg8fK_uuBUgOLU,2832
|
197
215
|
validmind/tests/model_validation/sklearn/AdjustedRandIndex.py,sha256=bvXwgLQFQy7LvgXV5pL8vq5uizPFT5fmewLF0bQrwIE,2679
|
@@ -201,7 +219,7 @@ validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=UOLfJkOHYB
|
|
201
219
|
validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py,sha256=lh_AnIR2VELVlFlkok-fW0BEOIId1JZMdX0rF6flaMc,8383
|
202
220
|
validmind/tests/model_validation/sklearn/CompletenessScore.py,sha256=mhLcmE309u5mbwppa7PBegeH9_SK-1zvXrsR2SS3K4w,2510
|
203
221
|
validmind/tests/model_validation/sklearn/ConfusionMatrix.py,sha256=CMfMVWXnlHnzjaBpEzrMrDI1W-xmUhIfUi1SPMaXGm0,5873
|
204
|
-
validmind/tests/model_validation/sklearn/FeatureImportance.py,sha256=
|
222
|
+
validmind/tests/model_validation/sklearn/FeatureImportance.py,sha256=krS-Lnw3yh0XaPVKqjf7dy65y3GE-BGZ8sUcVP2ln_o,3480
|
205
223
|
validmind/tests/model_validation/sklearn/FowlkesMallowsScore.py,sha256=rMijOpZ8LqugWNFzD-aMcX26TShqyG-L9xC_H2SmokE,2991
|
206
224
|
validmind/tests/model_validation/sklearn/HomogeneityScore.py,sha256=Okkn1OJom4MK9vkMOQS2PsdgQ8bKunXnw5xSjVIWhB4,2712
|
207
225
|
validmind/tests/model_validation/sklearn/HyperParametersTuning.py,sha256=COdHaNXlkQI3YL1ZFtwx65I9bp4PZEdJ1RcgbJGRX1I,4404
|
@@ -211,42 +229,37 @@ validmind/tests/model_validation/sklearn/MinimumF1Score.py,sha256=4UKyrT-Bwn6aS-
|
|
211
229
|
validmind/tests/model_validation/sklearn/MinimumROCAUCScore.py,sha256=WNr5Pfc61st9mE1089sPmtfnXmJjXBEldocyzwIu4Lw,5071
|
212
230
|
validmind/tests/model_validation/sklearn/ModelsPerformanceComparison.py,sha256=WziKMHh-HrOuo7ARb-tVGy94fkXmjIJpAGq5wT60Mn0,6142
|
213
231
|
validmind/tests/model_validation/sklearn/OverfitDiagnosis.py,sha256=xU6tO8cdJKf9Rg-_kvtbZpBeV6z7ZEM9jY2TX338MTk,13542
|
214
|
-
validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py,sha256=
|
232
|
+
validmind/tests/model_validation/sklearn/PermutationFeatureImportance.py,sha256=l5R8UVaR04NktuY2rwAwGs9Fbqe73U8BEq75pPnU8hw,4839
|
215
233
|
validmind/tests/model_validation/sklearn/PopulationStabilityIndex.py,sha256=v_7PT72-TplO1IeUZ84tfapzVdfvLMbopATUOm1RxQI,10068
|
216
234
|
validmind/tests/model_validation/sklearn/PrecisionRecallCurve.py,sha256=o568TQtOzyxT0-B25tMhLnnxCekwXrzIGnAzch9igyI,4373
|
217
235
|
validmind/tests/model_validation/sklearn/ROCCurve.py,sha256=1KKqEJpNBLuPEWafS37Rsgj8azYOkeudMgfOgNwneEc,5825
|
218
236
|
validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=qj6l5RQGG7E6aOcaFxO8WReEEdJKfXrNp7wecWuCSaI,3713
|
219
237
|
validmind/tests/model_validation/sklearn/RegressionErrorsComparison.py,sha256=em0NPWZVKq-nqdbFiiifQcsONGd8xek0_kwdtx6HXjE,3609
|
220
238
|
validmind/tests/model_validation/sklearn/RegressionPerformance.py,sha256=BoK3PTQNbJBtV-nHnlf7pc39Jhf_nV7AGE3FaO0w7L8,5610
|
221
|
-
validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=
|
239
|
+
validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=jttavnKU1LqmTeTBbmGFH5qxP5Ag_TERYHoAb7ggeBQ,3100
|
222
240
|
validmind/tests/model_validation/sklearn/RegressionR2SquareComparison.py,sha256=TfBL_Mnk4hWWkXXB8OHzboWYuGk0e_gHmIDscKzLx9M,3377
|
223
241
|
validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py,sha256=nS_vDWqcJfb0wrr5lhIAUHOiJUNLtJE8bmZ-T8aRjuo,14326
|
224
|
-
validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=
|
242
|
+
validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=1ea14RM8pUgNiRv_N1AjOYglvqZi-sGnNkvhH1Nhcns,11322
|
225
243
|
validmind/tests/model_validation/sklearn/SilhouettePlot.py,sha256=-5tm21WpvjryeEli1TnWzAhM_eG5tfpsTPAm-J8Af-Q,6191
|
226
244
|
validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=t8o6KRytwX_e8nlsZYXgX0xBAi8BO5wbuNystcNwDrE,7166
|
227
245
|
validmind/tests/model_validation/sklearn/VMeasure.py,sha256=MH7sN5UZ4VqK3YCL_xTK_VcXRg6_ae5Srm_1lFmgxiE,2729
|
228
246
|
validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py,sha256=rR8uyOrjCtwevvSHM5mASfOKkwpYkOPKIbythv4UOdg,14127
|
229
247
|
validmind/tests/model_validation/sklearn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
230
248
|
validmind/tests/model_validation/statsmodels/AutoARIMA.py,sha256=G13cl2WHLJH4d_3DY4mKTkY5UHtyE3gKg9zHwFTFooE,5136
|
231
|
-
validmind/tests/model_validation/statsmodels/BoxPierce.py,sha256=m86fAy6c6QFbpDp7hMqb6O60a2t1p3_dN7dkpefDS3U,3537
|
232
249
|
validmind/tests/model_validation/statsmodels/CumulativePredictionProbabilities.py,sha256=hXn0vBL-tvMR28sao1wnrnMEPl8gbl7eBYO6uW1WA-s,4625
|
233
|
-
validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py,sha256=
|
250
|
+
validmind/tests/model_validation/statsmodels/DurbinWatsonTest.py,sha256=wY36j1-bzEUyXwmymQILXHLiI-tIKze0gI8dOMkYyyI,3632
|
234
251
|
validmind/tests/model_validation/statsmodels/GINITable.py,sha256=voBMdMDMxfzEsolBCKDJIXUC64DV3CR5xtw35uudjT0,4276
|
235
|
-
validmind/tests/model_validation/statsmodels/JarqueBera.py,sha256=FLaLQhQZyrN75v5wvdnwxgK8PnOgrOpoR0xAUYp6kB8,3294
|
236
252
|
validmind/tests/model_validation/statsmodels/KolmogorovSmirnov.py,sha256=cHelOkjkZDUgffEl9Nz-uD_TFzJhc0ojNO0MexvQqjk,3804
|
237
|
-
validmind/tests/model_validation/statsmodels/LJungBox.py,sha256=vj7Q1DLiIATcony-gy0A4i5i5V9uhYPWdo9b4OZKH0c,3024
|
238
253
|
validmind/tests/model_validation/statsmodels/Lilliefors.py,sha256=1vOHrdmFg6IRZX5ysv5f4yaqQbYv_dQGjgiUSSqW_ag,3950
|
239
|
-
validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py,sha256
|
240
|
-
validmind/tests/model_validation/statsmodels/RegressionCoeffs.py,sha256=
|
254
|
+
validmind/tests/model_validation/statsmodels/PredictionProbabilitiesHistogram.py,sha256=-c-FBs0QgXipWV-YQymXem9HdPx8-Fr-Yjwr4LAOm9k,4109
|
255
|
+
validmind/tests/model_validation/statsmodels/RegressionCoeffs.py,sha256=NH6Qi-1fFxIO2kzma6NhVm8U7JWkYA_gKAXsasgZIX0,4175
|
241
256
|
validmind/tests/model_validation/statsmodels/RegressionFeatureSignificance.py,sha256=GZpmDfIguYBDT5pXK6JfAqDvWmO0ADhOjNQ4EW7oin4,5572
|
242
257
|
validmind/tests/model_validation/statsmodels/RegressionModelForecastPlot.py,sha256=w5HVx6wIFBIFjNXR0J6qWOrqVGyGwMY6ZW5vvfIql6k,6538
|
243
258
|
validmind/tests/model_validation/statsmodels/RegressionModelForecastPlotLevels.py,sha256=F20DQaotT_SafEbcvR9FxvRkkY4kImthJYwXnzR4EIg,7725
|
244
259
|
validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py,sha256=T6xqo3AW3b4aF7uPhuhkoOoq3jJIJ6p4L9Thk_4PS2g,6964
|
245
260
|
validmind/tests/model_validation/statsmodels/RegressionModelSummary.py,sha256=s3Of1qvLa8Ct1XcPEYGBEh0fqhAYaVJR-QONktwslaU,3656
|
246
261
|
validmind/tests/model_validation/statsmodels/RegressionPermutationFeatureImportance.py,sha256=rU6L4198YCJiulWSNYdbbPaIwVVb48AuD5GJ0l_zWhc,4822
|
247
|
-
validmind/tests/model_validation/statsmodels/RunsTest.py,sha256=1mYYQsYfJLvZTJX7sKL5obGtye5nkG-9o_lpavskuvo,3562
|
248
262
|
validmind/tests/model_validation/statsmodels/ScorecardHistogram.py,sha256=0hnB6icasRKT_Cl0YxMEpIuaUKgi5scXHmV_nP9RmkI,4650
|
249
|
-
validmind/tests/model_validation/statsmodels/ShapiroWilk.py,sha256=RJbSqdlE0MLo2-bc1XkB1q29I7ih_Rd0rEkcHtE9qwQ,3256
|
250
263
|
validmind/tests/model_validation/statsmodels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
251
264
|
validmind/tests/model_validation/statsmodels/statsutils.py,sha256=s1J7lHJ4kAcp_gGI0LAsaIFxbSqPrqXanxgtDI_Kig0,495
|
252
265
|
validmind/tests/ongoing_monitoring/FeatureDrift.py,sha256=qsBoolRGgW6sdUa8F-c4gsf6liFTyO4hCY-2lJv7YNY,6234
|
@@ -283,7 +296,7 @@ validmind/unit_metrics/regression/MeanSquaredError.py,sha256=e_4pE33pR_dCSUOfUHV
|
|
283
296
|
validmind/unit_metrics/regression/QuantileLoss.py,sha256=TYyulr5_zSdheH5LDDs6YY9tgnheFlqTySFgAzhTOqw,455
|
284
297
|
validmind/unit_metrics/regression/RSquaredScore.py,sha256=TJNHFGUoykFxywsnpBysl0qRkOPeKXhm5Az6C3eHrag,394
|
285
298
|
validmind/unit_metrics/regression/RootMeanSquaredError.py,sha256=0r60JaoQIzIE5u99io2G89hWvyrjOmXGmUjLnt61w9g,530
|
286
|
-
validmind/utils.py,sha256=
|
299
|
+
validmind/utils.py,sha256=U8gZ_tqkTlqWoqdoyvhhRq0Q8c97W293wPrHNBvpAC4,15999
|
287
300
|
validmind/vm_models/__init__.py,sha256=V5DH-E1Rkvl-HQEkilppVCHBag9MQXkzyoORLW3LSGQ,1210
|
288
301
|
validmind/vm_models/dataset/__init__.py,sha256=U4CxZjdoc0dd9u2AqBl5PJh1UVbzXWNrmundmjLF-qE,346
|
289
302
|
validmind/vm_models/dataset/dataset.py,sha256=idgALhpMdBAl-VlgcxtBXw4QRG48LJ5I8jwnoO9lYHI,25765
|
@@ -291,21 +304,21 @@ validmind/vm_models/dataset/utils.py,sha256=VMcPEgwW9oW5D0MCa_MqXCq_sEzzsLLRmS4R
|
|
291
304
|
validmind/vm_models/figure.py,sha256=YEbb9-BOpQvJRnf-gN8tgo40-UPRC552-nCVnNZi4qY,6817
|
292
305
|
validmind/vm_models/input.py,sha256=qLdqz_bktr4v0YcPha2vFdDvmkC-btT1pH9zBIkt1OY,1046
|
293
306
|
validmind/vm_models/model.py,sha256=Dewux_jTgUAXPgHW6ZtJTa8WvH0WkWsryO43DI9HkMU,6409
|
294
|
-
validmind/vm_models/test/metric.py,sha256=
|
307
|
+
validmind/vm_models/test/metric.py,sha256=2aUXipqkCqzlh7kKk-rkB0yqtWQMzgjYn8-cBOd_TUs,3408
|
295
308
|
validmind/vm_models/test/metric_result.py,sha256=Bak4GDrMlNq5NtgP5exwlPsKZgz3tWgtC6jZqtHjvqM,1987
|
296
309
|
validmind/vm_models/test/output_template.py,sha256=njqCAMyLxwadkCWhACVskyL9-psTgmUysaeeirTVAX4,1500
|
297
310
|
validmind/vm_models/test/result_summary.py,sha256=QJcIKJUeBf5wW3lyue6ctsi1jKSyoiAIfmjudGJiJtc,2028
|
298
|
-
validmind/vm_models/test/result_wrapper.py,sha256=
|
311
|
+
validmind/vm_models/test/result_wrapper.py,sha256=4oKVLa3WRtxopnT0G7xjLvgT9agOPXSq6EPvKfZe9ak,17336
|
299
312
|
validmind/vm_models/test/test.py,sha256=2Wbte09E4l7fUXwfQije0LQbPeSuh2Wpbyt4ddwyVks,3419
|
300
|
-
validmind/vm_models/test/threshold_test.py,sha256=
|
313
|
+
validmind/vm_models/test/threshold_test.py,sha256=LeGCcEc0PZk9uNhe7ykZETLwQdeuVfvR-XH4LKfWAI8,3791
|
301
314
|
validmind/vm_models/test/threshold_test_result.py,sha256=EXP-g_e3NsnpkvNgYew030qVUoY6ZTHyuuFUXaq-BuM,1954
|
302
315
|
validmind/vm_models/test_context.py,sha256=SGqoF_OeFC7Fj1jg5CPO1LOpfB7mA1FPwm61SYP8f2o,9475
|
303
316
|
validmind/vm_models/test_suite/runner.py,sha256=aewxadRfoOPH48jes2Gtb3Ju_FWFfVM_9ARIAJHD4wA,6982
|
304
317
|
validmind/vm_models/test_suite/summary.py,sha256=GQRNe2ZvvqjQN0yKmaN7ohAUjRFQIN4YYUYxfOuWN6M,4682
|
305
318
|
validmind/vm_models/test_suite/test.py,sha256=_GfbK36l98SjzgVcucmp0OKBJKqMW3neO7SqJ3EWeps,5049
|
306
319
|
validmind/vm_models/test_suite/test_suite.py,sha256=Cns2wL54v0T5Mv5_HJb3kMeaa4rtycdqT8KxK9_rWEU,6279
|
307
|
-
validmind-2.5.
|
308
|
-
validmind-2.5.
|
309
|
-
validmind-2.5.
|
310
|
-
validmind-2.5.
|
311
|
-
validmind-2.5.
|
320
|
+
validmind-2.5.19.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
|
321
|
+
validmind-2.5.19.dist-info/METADATA,sha256=K72IHQi3hLGuQHDMkvi90X5VY5ULsPyRYMQfpieOKPs,4291
|
322
|
+
validmind-2.5.19.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
323
|
+
validmind-2.5.19.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
|
324
|
+
validmind-2.5.19.dist-info/RECORD,,
|
File without changes
|
File without changes
|