validmind 2.0.1__py3-none-any.whl → 2.0.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- validmind/__init__.py +4 -1
- validmind/__version__.py +1 -1
- validmind/ai.py +197 -0
- validmind/api_client.py +16 -4
- validmind/client.py +23 -3
- validmind/datasets/classification/customer_churn.py +2 -2
- validmind/datasets/nlp/__init__.py +5 -0
- validmind/datasets/nlp/cnn_dailymail.py +98 -0
- validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv +255 -0
- validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv +1277 -0
- validmind/datasets/nlp/datasets/sentiments_with_predictions.csv +4847 -0
- validmind/errors.py +11 -1
- validmind/models/huggingface.py +2 -2
- validmind/models/pytorch.py +3 -3
- validmind/models/sklearn.py +4 -4
- validmind/tests/__init__.py +47 -9
- validmind/tests/data_validation/DatasetDescription.py +0 -1
- validmind/tests/data_validation/nlp/StopWords.py +1 -6
- validmind/tests/data_validation/nlp/TextDescription.py +20 -9
- validmind/tests/decorator.py +189 -0
- validmind/tests/model_validation/MeteorScore.py +92 -0
- validmind/tests/model_validation/RegardHistogram.py +5 -6
- validmind/tests/model_validation/RegardScore.py +3 -5
- validmind/tests/model_validation/RougeMetrics.py +6 -4
- validmind/tests/model_validation/SelfCheckNLIScore.py +112 -0
- validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py +17 -22
- validmind/tests/model_validation/sklearn/ClassifierPerformance.py +3 -1
- validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py +30 -4
- validmind/tests/model_validation/sklearn/TrainingTestDegradation.py +9 -3
- validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py +1 -1
- validmind/tests/prompt_validation/ai_powered_test.py +2 -0
- validmind/unit_metrics/__init__.py +0 -2
- validmind/unit_metrics/composite.py +275 -0
- validmind/unit_metrics/regression/GiniCoefficient.py +39 -0
- validmind/unit_metrics/regression/HuberLoss.py +27 -0
- validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py +36 -0
- validmind/unit_metrics/regression/MeanAbsolutePercentageError.py +22 -0
- validmind/unit_metrics/regression/MeanBiasDeviation.py +22 -0
- validmind/unit_metrics/regression/QuantileLoss.py +25 -0
- validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py +27 -0
- validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py +22 -0
- validmind/unit_metrics/regression/sklearn/MeanSquaredError.py +22 -0
- validmind/unit_metrics/regression/sklearn/RSquaredScore.py +22 -0
- validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py +23 -0
- validmind/unit_metrics/sklearn/classification/Accuracy.py +2 -0
- validmind/unit_metrics/sklearn/classification/F1.py +2 -0
- validmind/unit_metrics/sklearn/classification/Precision.py +2 -0
- validmind/unit_metrics/sklearn/classification/ROC_AUC.py +2 -0
- validmind/unit_metrics/sklearn/classification/Recall.py +2 -0
- validmind/utils.py +17 -1
- validmind/vm_models/dataset.py +376 -21
- validmind/vm_models/figure.py +52 -17
- validmind/vm_models/test/metric.py +33 -30
- validmind/vm_models/test/output_template.py +0 -27
- validmind/vm_models/test/result_wrapper.py +57 -24
- validmind/vm_models/test/test.py +2 -1
- validmind/vm_models/test/threshold_test.py +24 -13
- validmind/vm_models/test_context.py +7 -0
- validmind/vm_models/test_suite/runner.py +1 -1
- validmind/vm_models/test_suite/test.py +1 -1
- {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/METADATA +9 -13
- {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/RECORD +65 -44
- validmind-2.0.7.dist-info/entry_points.txt +3 -0
- {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/LICENSE +0 -0
- {validmind-2.0.1.dist-info → validmind-2.0.7.dist-info}/WHEEL +0 -0
@@ -4,7 +4,6 @@
|
|
4
4
|
|
5
5
|
from datetime import datetime
|
6
6
|
|
7
|
-
from bs4 import BeautifulSoup
|
8
7
|
from dateutil import parser
|
9
8
|
from jinja2 import Environment
|
10
9
|
|
@@ -54,29 +53,3 @@ class OutputTemplate:
|
|
54
53
|
value=value,
|
55
54
|
metric_history=values_history,
|
56
55
|
)
|
57
|
-
|
58
|
-
def parse_summary_from_html(rendered_template_html):
|
59
|
-
soup = BeautifulSoup(rendered_template_html, "html.parser")
|
60
|
-
|
61
|
-
# find all `<table>` elements
|
62
|
-
tables = soup.find_all("table")
|
63
|
-
tables_data = []
|
64
|
-
|
65
|
-
for table in tables:
|
66
|
-
headers = [cell.text for cell in table.find_all("th")]
|
67
|
-
|
68
|
-
tables_data.append(
|
69
|
-
{
|
70
|
-
"type": "table",
|
71
|
-
"data": [
|
72
|
-
{
|
73
|
-
headers[i]: cell.text
|
74
|
-
for i, cell in enumerate(row.find_all("td"))
|
75
|
-
}
|
76
|
-
for row in table.find("tbody").find_all("tr")
|
77
|
-
],
|
78
|
-
"metadata": {"title": ""}, # TODO: add title
|
79
|
-
}
|
80
|
-
)
|
81
|
-
|
82
|
-
return tables_data
|
@@ -10,7 +10,7 @@ import json
|
|
10
10
|
import os
|
11
11
|
from abc import ABC, abstractmethod
|
12
12
|
from dataclasses import dataclass
|
13
|
-
from typing import List, Optional
|
13
|
+
from typing import Dict, List, Optional, Union
|
14
14
|
|
15
15
|
import ipywidgets as widgets
|
16
16
|
import markdown
|
@@ -18,6 +18,7 @@ import pandas as pd
|
|
18
18
|
from IPython.display import display
|
19
19
|
|
20
20
|
from ... import api_client
|
21
|
+
from ...ai import DescriptionFuture
|
21
22
|
from ...utils import NumpyEncoder, run_async, test_id_to_name
|
22
23
|
from ..figure import Figure
|
23
24
|
from .metric_result import MetricResult
|
@@ -26,24 +27,33 @@ from .result_summary import ResultSummary
|
|
26
27
|
from .threshold_test_result import ThresholdTestResults
|
27
28
|
|
28
29
|
|
29
|
-
async def update_metadata(content_id: str, text: str
|
30
|
+
async def update_metadata(content_id: str, text: str, _json: Union[Dict, List] = None):
|
30
31
|
"""
|
31
32
|
Update the metadata of a content item. By default we don't
|
32
33
|
override the existing metadata, but we can override it by
|
33
34
|
setting the VM_OVERRIDE_METADATA environment variable to True
|
34
35
|
"""
|
35
|
-
|
36
|
-
try:
|
37
|
-
existing_metadata = await api_client.get_metadata(content_id)
|
38
|
-
except Exception:
|
39
|
-
existing_metadata = None # TODO: handle this better
|
36
|
+
should_update = False
|
40
37
|
|
41
|
-
if
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
38
|
+
# check if the env variable is set to force overwriting metadata
|
39
|
+
if os.environ.get("VM_OVERRIDE_METADATA", "false").lower() == "true":
|
40
|
+
should_update = True
|
41
|
+
|
42
|
+
# if not set, check if the content_id is a composite metric def
|
43
|
+
if not should_update and content_id.startswith("composite_metric_def:"):
|
44
|
+
# we always want composite metric definitions to be updated
|
45
|
+
should_update = True
|
46
|
+
|
47
|
+
# if not set, lets check if the metadata already exists
|
48
|
+
if not should_update:
|
49
|
+
try:
|
50
|
+
await api_client.get_metadata(content_id)
|
51
|
+
except Exception: # TODO: this shouldn't be a catch-all
|
52
|
+
# if the metadata doesn't exist, we should create (update) it
|
53
|
+
should_update = True
|
54
|
+
|
55
|
+
if should_update:
|
56
|
+
await api_client.log_metadata(content_id, text, _json)
|
47
57
|
|
48
58
|
|
49
59
|
def plot_figures(figures: List[Figure]) -> None:
|
@@ -93,7 +103,6 @@ class ResultWrapper(ABC):
|
|
93
103
|
"""
|
94
104
|
Convert a markdown string to html
|
95
105
|
"""
|
96
|
-
|
97
106
|
return markdown.markdown(description, extensions=["markdown.extensions.tables"])
|
98
107
|
|
99
108
|
def _summary_tables_to_widget(self, summary: ResultSummary):
|
@@ -155,7 +164,7 @@ class ResultWrapper(ABC):
|
|
155
164
|
|
156
165
|
def log(self):
|
157
166
|
"""Log the result... May be overridden by subclasses"""
|
158
|
-
|
167
|
+
run_async(self.log_async)
|
159
168
|
|
160
169
|
|
161
170
|
@dataclass
|
@@ -207,15 +216,19 @@ class MetricResultWrapper(ResultWrapper):
|
|
207
216
|
if self.metric and self.metric.key == "dataset_description":
|
208
217
|
return ""
|
209
218
|
|
210
|
-
vbox_children = [
|
219
|
+
vbox_children = [
|
220
|
+
widgets.HTML(value=f"<h1>{test_id_to_name(self.result_id)}</h1>")
|
221
|
+
]
|
211
222
|
|
212
223
|
if self.result_metadata:
|
213
|
-
metric_description = self.result_metadata[0]
|
224
|
+
metric_description = self.result_metadata[0].get("text", "")
|
225
|
+
if isinstance(metric_description, DescriptionFuture):
|
226
|
+
metric_description = metric_description.get_description()
|
227
|
+
self.result_metadata[0]["text"] = metric_description
|
228
|
+
|
214
229
|
vbox_children.append(
|
215
230
|
widgets.HTML(
|
216
|
-
value=self._markdown_description_to_html(
|
217
|
-
metric_description.get("text", "")
|
218
|
-
)
|
231
|
+
value=self._markdown_description_to_html(metric_description)
|
219
232
|
)
|
220
233
|
)
|
221
234
|
|
@@ -297,8 +310,19 @@ class MetricResultWrapper(ResultWrapper):
|
|
297
310
|
if self.figures:
|
298
311
|
tasks.append(api_client.log_figures(self.figures))
|
299
312
|
if hasattr(self, "result_metadata") and self.result_metadata:
|
313
|
+
description = self.result_metadata[0].get("text", "")
|
314
|
+
if isinstance(description, DescriptionFuture):
|
315
|
+
description = description.get_description()
|
316
|
+
self.result_metadata[0]["text"] = description
|
317
|
+
|
300
318
|
for metadata in self.result_metadata:
|
301
|
-
tasks.append(
|
319
|
+
tasks.append(
|
320
|
+
update_metadata(
|
321
|
+
content_id=metadata["content_id"],
|
322
|
+
text=metadata.get("text", ""),
|
323
|
+
_json=metadata.get("json"),
|
324
|
+
)
|
325
|
+
)
|
302
326
|
|
303
327
|
await asyncio.gather(*tasks)
|
304
328
|
|
@@ -339,14 +363,18 @@ class ThresholdTestResultWrapper(ResultWrapper):
|
|
339
363
|
test_title = test_id_to_name(self.test_results.test_name)
|
340
364
|
description_html.append(
|
341
365
|
f"""
|
342
|
-
<
|
366
|
+
<h1>{test_title} {"✅" if self.test_results.passed else "❌"}</h1>
|
343
367
|
"""
|
344
368
|
)
|
345
369
|
|
346
370
|
if self.result_metadata:
|
347
|
-
metric_description = self.result_metadata[0]
|
371
|
+
metric_description = self.result_metadata[0].get("text", "")
|
372
|
+
if isinstance(metric_description, DescriptionFuture):
|
373
|
+
metric_description = metric_description.get_description()
|
374
|
+
self.result_metadata[0]["text"] = metric_description
|
375
|
+
|
348
376
|
description_html.append(
|
349
|
-
self._markdown_description_to_html(metric_description
|
377
|
+
self._markdown_description_to_html(metric_description)
|
350
378
|
)
|
351
379
|
|
352
380
|
description_html.append(
|
@@ -375,6 +403,11 @@ class ThresholdTestResultWrapper(ResultWrapper):
|
|
375
403
|
if self.figures:
|
376
404
|
tasks.append(api_client.log_figures(self.figures))
|
377
405
|
if hasattr(self, "result_metadata") and self.result_metadata:
|
406
|
+
description = self.result_metadata[0].get("text", "")
|
407
|
+
if isinstance(description, DescriptionFuture):
|
408
|
+
description = description.get_description()
|
409
|
+
self.result_metadata[0]["text"] = description
|
410
|
+
|
378
411
|
for metadata in self.result_metadata:
|
379
412
|
tasks.append(update_metadata(metadata["content_id"], metadata["text"]))
|
380
413
|
|
validmind/vm_models/test/test.py
CHANGED
@@ -10,6 +10,7 @@ from typing import ClassVar, List, TypedDict
|
|
10
10
|
from uuid import uuid4
|
11
11
|
|
12
12
|
from ..test_context import TestUtils
|
13
|
+
from .result_wrapper import ResultWrapper
|
13
14
|
|
14
15
|
|
15
16
|
class TestMetadata(TypedDict):
|
@@ -35,7 +36,7 @@ class Test(TestUtils):
|
|
35
36
|
_ref_id: str = None # unique identifier (populated at init)
|
36
37
|
_section_id: str = None # which section of template this test belongs to
|
37
38
|
test_id: str = None # populated when loading tests from suites
|
38
|
-
result:
|
39
|
+
result: ResultWrapper = None # type should be overridden by parent classes
|
39
40
|
|
40
41
|
params: dict = None # populated by test suite from user-passed config
|
41
42
|
|
@@ -8,9 +8,11 @@ Test (as test_results) but we'll refer to it as a ThresholdTest to
|
|
8
8
|
avoid confusion with the "tests" in the general data science/modeling sense.
|
9
9
|
"""
|
10
10
|
|
11
|
+
import os
|
11
12
|
from dataclasses import dataclass
|
12
13
|
from typing import ClassVar, List, Optional
|
13
14
|
|
15
|
+
from ...ai import generate_description
|
14
16
|
from ...utils import clean_docstring
|
15
17
|
from ..figure import Figure
|
16
18
|
from .result_summary import ResultSummary, ResultTable
|
@@ -76,25 +78,34 @@ class ThresholdTest(Test):
|
|
76
78
|
Returns:
|
77
79
|
TestSuiteResult: The test suite result object
|
78
80
|
"""
|
79
|
-
# Rename to self.result
|
80
|
-
# At a minimum, send the test description
|
81
|
-
result_metadata = [
|
82
|
-
{
|
83
|
-
"content_id": f"test_description:{self.test_id}",
|
84
|
-
"text": clean_docstring(self.description()),
|
85
|
-
}
|
86
|
-
]
|
87
|
-
|
88
81
|
result_summary = self.summary(test_results_list, passed)
|
89
82
|
|
83
|
+
if (
|
84
|
+
os.environ.get("VALIDMIND_LLM_DESCRIPTIONS_ENABLED", "false").lower()
|
85
|
+
== "true"
|
86
|
+
):
|
87
|
+
revision_name = "Generated by ValidMind AI"
|
88
|
+
description = generate_description(
|
89
|
+
test_name=self.test_id,
|
90
|
+
test_description=self.description().splitlines()[0],
|
91
|
+
test_results=[result.serialize() for result in test_results_list],
|
92
|
+
test_summary=result_summary.serialize(),
|
93
|
+
figures=figures,
|
94
|
+
)
|
95
|
+
else:
|
96
|
+
revision_name = "Default Description"
|
97
|
+
description = clean_docstring(self.description())
|
98
|
+
|
99
|
+
description_metadata = {
|
100
|
+
"content_id": f"test_description:{self.test_id}::{revision_name}",
|
101
|
+
"text": description,
|
102
|
+
}
|
103
|
+
|
90
104
|
self.result = ThresholdTestResultWrapper(
|
91
105
|
result_id=self.test_id,
|
92
|
-
result_metadata=
|
106
|
+
result_metadata=[description_metadata],
|
93
107
|
inputs=self.get_accessed_inputs(),
|
94
108
|
test_results=ThresholdTestResults(
|
95
|
-
# test_name=self.name,
|
96
|
-
# Now using the fully qualified test ID as `test_name`.
|
97
|
-
# Ideally the backend is updated to use `test_id` instead of `test_name`.
|
98
109
|
test_name=self.test_id,
|
99
110
|
ref_id=self._ref_id,
|
100
111
|
params=self.params,
|
@@ -165,6 +165,13 @@ class TestUtils:
|
|
165
165
|
|
166
166
|
return []
|
167
167
|
|
168
|
+
def _get_input_dict(self):
|
169
|
+
"""Return a dictionary of all inputs"""
|
170
|
+
if isinstance(self.inputs, InputAccessTrackerProxy):
|
171
|
+
return self.inputs._inputs.__dict__
|
172
|
+
|
173
|
+
return self.inputs.__dict__
|
174
|
+
|
168
175
|
def _get_legacy_input(self, key):
|
169
176
|
"""Retrieve an input from the Test Input or, for backwards compatibility,
|
170
177
|
the Test Context
|
@@ -151,7 +151,7 @@ class TestSuiteTest:
|
|
151
151
|
|
152
152
|
self.result = self._test_instance.result
|
153
153
|
|
154
|
-
async def
|
154
|
+
async def log_async(self):
|
155
155
|
"""Log the result for this test to ValidMind"""
|
156
156
|
if not self.result:
|
157
157
|
raise ValueError("Cannot log test result before running the test")
|
@@ -1,16 +1,17 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: validmind
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.7
|
4
4
|
Summary: ValidMind Developer Framework
|
5
5
|
License: Commercial License
|
6
6
|
Author: Andres Rodriguez
|
7
7
|
Author-email: andres@validmind.ai
|
8
|
-
Requires-Python: >=3.8,<3.
|
8
|
+
Requires-Python: >=3.8,<3.12
|
9
9
|
Classifier: License :: Other/Proprietary License
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
11
11
|
Classifier: Programming Language :: Python :: 3.8
|
12
12
|
Classifier: Programming Language :: Python :: 3.9
|
13
13
|
Classifier: Programming Language :: Python :: 3.10
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
14
15
|
Provides-Extra: all
|
15
16
|
Provides-Extra: llm
|
16
17
|
Provides-Extra: pytorch
|
@@ -21,27 +22,22 @@ Requires-Dist: arch (>=5.4.0,<6.0.0)
|
|
21
22
|
Requires-Dist: bert-score (>=0.3.13,<0.4.0)
|
22
23
|
Requires-Dist: catboost (>=1.2,<2.0)
|
23
24
|
Requires-Dist: click (>=8.0.4,<9.0.0)
|
24
|
-
Requires-Dist: datasets (>=2.14.5,<3.0.0) ; extra == "all" or extra == "llm"
|
25
|
-
Requires-Dist: dython (>=0.7.1,<0.8.0)
|
26
25
|
Requires-Dist: evaluate (>=0.4.0,<0.5.0)
|
27
|
-
Requires-Dist: ipython (==7.34.0)
|
28
26
|
Requires-Dist: ipywidgets (>=8.0.6,<9.0.0)
|
29
|
-
Requires-Dist:
|
30
|
-
Requires-Dist: kaleido (==0.2.1)
|
27
|
+
Requires-Dist: kaleido (>=0.2.1,<0.3.0,!=0.2.1.post1)
|
31
28
|
Requires-Dist: langdetect (>=1.0.9,<2.0.0)
|
32
29
|
Requires-Dist: levenshtein (>=0.21.1,<0.22.0) ; extra == "all" or extra == "llm"
|
33
30
|
Requires-Dist: markdown (>=3.4.3,<4.0.0)
|
34
|
-
Requires-Dist: matplotlib (<3.8)
|
31
|
+
Requires-Dist: matplotlib (<3.8.3)
|
35
32
|
Requires-Dist: nltk (>=3.8.1,<4.0.0)
|
33
|
+
Requires-Dist: numba (<0.59.0)
|
36
34
|
Requires-Dist: numpy (>=1.23.3,<2.0.0)
|
37
35
|
Requires-Dist: openai (>=1.3.7,<2.0.0) ; extra == "all" or extra == "llm"
|
38
36
|
Requires-Dist: pandas (==1.5.3)
|
39
|
-
Requires-Dist: pandas-profiling (>=3.6.6,<4.0.0)
|
40
|
-
Requires-Dist: pdoc (>=13.1.1,<14.0.0)
|
41
37
|
Requires-Dist: plotly (>=5.14.1,<6.0.0)
|
42
38
|
Requires-Dist: plotly-express (>=0.4.1,<0.5.0)
|
39
|
+
Requires-Dist: polars (>=0.20.15,<0.21.0)
|
43
40
|
Requires-Dist: pycocoevalcap (>=1.2,<2.0) ; extra == "all" or extra == "llm"
|
44
|
-
Requires-Dist: pydantic (>=1.9.1,<2.0.0)
|
45
41
|
Requires-Dist: pypmml (>=0.9.17,<0.10.0)
|
46
42
|
Requires-Dist: python-dotenv (>=0.20.0,<0.21.0)
|
47
43
|
Requires-Dist: requests (>=2.27.1,<3.0.0)
|
@@ -50,7 +46,7 @@ Requires-Dist: rpy2 (>=3.5.10,<4.0.0) ; extra == "all" or extra == "r-support"
|
|
50
46
|
Requires-Dist: scikit-learn (>=1.0.2,<2.0.0)
|
51
47
|
Requires-Dist: scorecardpy (>=0.1.9.6,<0.2.0.0)
|
52
48
|
Requires-Dist: seaborn (>=0.11.2,<0.12.0)
|
53
|
-
Requires-Dist:
|
49
|
+
Requires-Dist: selfcheckgpt (>=0.1.7,<0.2.0)
|
54
50
|
Requires-Dist: sentry-sdk (>=1.24.0,<2.0.0)
|
55
51
|
Requires-Dist: shap (>=0.42.0,<0.43.0)
|
56
52
|
Requires-Dist: statsmodels (>=0.13.5,<0.14.0)
|
@@ -60,8 +56,8 @@ Requires-Dist: torch (>=1.10.0) ; extra == "all" or extra == "llm" or extra == "
|
|
60
56
|
Requires-Dist: torchmetrics (>=1.1.1,<2.0.0) ; extra == "all" or extra == "llm"
|
61
57
|
Requires-Dist: tqdm (>=4.64.0,<5.0.0)
|
62
58
|
Requires-Dist: transformers (>=4.32.0,<5.0.0) ; extra == "all" or extra == "llm" or extra == "transformers"
|
63
|
-
Requires-Dist: wget (>=3.2,<4.0)
|
64
59
|
Requires-Dist: xgboost (>=1.5.2,<2.0.0)
|
60
|
+
Requires-Dist: ydata-profiling (>=4.7.0,<5.0.0)
|
65
61
|
Description-Content-Type: text/markdown
|
66
62
|
|
67
63
|
# ValidMind Developer Framework
|
@@ -1,17 +1,22 @@
|
|
1
|
-
validmind/__init__.py,sha256=
|
2
|
-
validmind/__version__.py,sha256=
|
3
|
-
validmind/
|
4
|
-
validmind/
|
1
|
+
validmind/__init__.py,sha256=tHKHxeW-0EFUWVEvGyo8fG1rBU_n6TtMyaJnRY0yEAU,3699
|
2
|
+
validmind/__version__.py,sha256=L4aOgvDE9n_eqL_mM_j5bO3bQ73q6ulNpnVuG8OmqWE,22
|
3
|
+
validmind/ai.py,sha256=P19-4b00yOrgigJ7mN7bj0IxGsqbgORyIlTtICytKWQ,6544
|
4
|
+
validmind/api_client.py,sha256=9OxHxjLe3h-oG0nx-Vm-iLGSbrPrfInwj3I2d4wpAmM,15290
|
5
|
+
validmind/client.py,sha256=H7Eg_eBcAFwDQ4uuicWI7nPZdbMtIjBzb724LZ816ow,16618
|
5
6
|
validmind/client_config.py,sha256=58L6s6-9vFWC9vkSs_98CjV1YWmlksdhblJtPQxQsAk,1611
|
6
7
|
validmind/datasets/__init__.py,sha256=oYfcvW7BAyUgpghBOnTeGbQF6tpFAWg38rRirdLr8m8,262
|
7
8
|
validmind/datasets/classification/__init__.py,sha256=HlTOBLyb6IorRYmAhP3AIyX-l-NyemyDjV8BBOdrCrY,1787
|
8
|
-
validmind/datasets/classification/customer_churn.py,sha256=
|
9
|
+
validmind/datasets/classification/customer_churn.py,sha256=pqw6wjMF7KIDgUKX2KLm3IcIV7QdS2mmRAV_EhWwKLM,3802
|
9
10
|
validmind/datasets/classification/datasets/bank_customer_churn.csv,sha256=b0muNg38DpowgKjhBCSti7k_j1tDJMy2tydz3tAEAL4,545707
|
10
11
|
validmind/datasets/classification/datasets/taiwan_credit.csv,sha256=fe19VfV30li7rdydnXpbqC372JCdf_HvDc3mMlWNbXE,2897191
|
11
12
|
validmind/datasets/classification/taiwan_credit.py,sha256=nj6JyfcyAfaYgh60T3LdBZsCpzRBsMf0RjYMvedHzuQ,1469
|
12
13
|
validmind/datasets/cluster/digits.py,sha256=E600pX6QPrqndfr73kwZ1sTNk0hC5kNj4Fhs8zz8bQo,2097
|
13
|
-
validmind/datasets/nlp/__init__.py,sha256=
|
14
|
+
validmind/datasets/nlp/__init__.py,sha256=lu2-SGOSECgrxhDtHdlh_FsbpsFtuZ4DbLSL1sww5nc,323
|
15
|
+
validmind/datasets/nlp/cnn_dailymail.py,sha256=9gAHFWQhSJJ2JF_zarc2oLErZwPtRyfvXV4molhVzXM,3471
|
14
16
|
validmind/datasets/nlp/datasets/Covid_19.csv,sha256=cwAJHgek3JWUhtZQIiC9-wRWycxbiod6nyZikf09iKE,11545066
|
17
|
+
validmind/datasets/nlp/datasets/cnn_dailymail_100_with_predictions.csv,sha256=MSaj0RJ1lbgePDTfpmgganzit64FQ846J1qjm8PJtfI,426676
|
18
|
+
validmind/datasets/nlp/datasets/cnn_dailymail_500_with_predictions.csv,sha256=bR8Z-m43lngaFW983ECJwSKea3GlfhZDYfPC0MDJMec,2246787
|
19
|
+
validmind/datasets/nlp/datasets/sentiments_with_predictions.csv,sha256=zwYI-XjUy72XqD0om-cMVYMrEUsL36u4rPAwsicoQtg,754686
|
15
20
|
validmind/datasets/nlp/twitter_covid_19.py,sha256=PtBOh6pri6pVQKpR0ivQfXy4Wcom40G9-dyYgcv0jFI,878
|
16
21
|
validmind/datasets/regression/__init__.py,sha256=wBcJyMyX4U6XjY6Y-aLozHdbjQlXbeFgB2YqFTk2kVU,1653
|
17
22
|
validmind/datasets/regression/california_housing.py,sha256=dZHVZ7ufR5ZVfsBlaIlQtEgBUNGuXjEuZm1OrwRl4KY,1046
|
@@ -40,17 +45,17 @@ validmind/datasets/regression/models/fred_loan_rates_model_2.pkl,sha256=J1ukMdeF
|
|
40
45
|
validmind/datasets/regression/models/fred_loan_rates_model_3.pkl,sha256=IogZPcUQc1F_v11fR6KWT-nRt5JzvK5f7p4Hrw7vLps,40063
|
41
46
|
validmind/datasets/regression/models/fred_loan_rates_model_4.pkl,sha256=cSxhpcrI4hCbxCwZwE2-nr7KObbWpDii3NzpECoXmmM,48292
|
42
47
|
validmind/datasets/regression/models/fred_loan_rates_model_5.pkl,sha256=FkNLHq9xkPMbYks_vyMjFL371mw9SQYbP1iX9lY4Ljo,60343
|
43
|
-
validmind/errors.py,sha256=
|
48
|
+
validmind/errors.py,sha256=jHj__AKOMiwIb7qSs2mxu3LSi0lyzFwSAt1gy2lpDaE,7993
|
44
49
|
validmind/html_templates/content_blocks.py,sha256=M5BGGXT90kqUrxynkB4DPC4BQziLWglB2oK2En6KP9s,1607
|
45
50
|
validmind/input_registry.py,sha256=zexO3x-vncaoWvQ6VfkvgDLn6x72e2BNel_jCbrVHSE,793
|
46
51
|
validmind/logging.py,sha256=AnCOUd6VyCl-5iJCJxXoNfGKyxSxHLRN8nOAMs4WBCU,4808
|
47
52
|
validmind/models/__init__.py,sha256=SWfy_JTnifVCbl04SZg3vwSJpRX_kWtb5wQlSIhJ9T8,623
|
48
53
|
validmind/models/catboost.py,sha256=xw3m2iE4k4TL8FLi-hQy5ylIGG7ta4Q58bcQ_04BJbw,1036
|
49
54
|
validmind/models/foundation.py,sha256=pZVmIC1lpszQLluEOtnuvdVRoOf-j6XsjRfBZQXVITc,2269
|
50
|
-
validmind/models/huggingface.py,sha256=
|
51
|
-
validmind/models/pytorch.py,sha256=
|
55
|
+
validmind/models/huggingface.py,sha256=MjHVm4X8_9_5Qos4UyNyLokN9xi3I4Ebl4ML90Fi_YE,2881
|
56
|
+
validmind/models/pytorch.py,sha256=sFcfH92nLe0WVBEUuovZxuGIy_PTp1t0fWMpBrej_6U,2602
|
52
57
|
validmind/models/r_model.py,sha256=GzlVeJgPNwtzcbyThjGyZ4T3vBJFOYDSh0aqRMsIDOQ,8344
|
53
|
-
validmind/models/sklearn.py,sha256=
|
58
|
+
validmind/models/sklearn.py,sha256=pSg3eSQovxSD2cqcUDwQOXGseg0Bicsn_FXa9_URekE,2405
|
54
59
|
validmind/models/statsmodels.py,sha256=_8GYhO21-rs3QUE_YOFi1eGMMBIr-weJmxmCrw1HZxQ,1455
|
55
60
|
validmind/models/xgboost.py,sha256=joL0uyhE4bJfINHh-dMtPhQ5d1MfWfRMVD77XWmAUnY,951
|
56
61
|
validmind/template.py,sha256=X6Hl6JHaUll7yVcC_VNu66YaCXAAsPPiDhBqTSeOtm4,7918
|
@@ -67,7 +72,7 @@ validmind/test_suites/summarization.py,sha256=unEpfk8_etLMuYAtSmBzlqrUpo0kd9Vc3S
|
|
67
72
|
validmind/test_suites/tabular_datasets.py,sha256=WE4eLzRCfiqAxRqXnZFRR3Lo_u-TI6KM6hmTbR8rg5o,1798
|
68
73
|
validmind/test_suites/text_data.py,sha256=YGVGBB05356jN9Gzcy5CHShRzo1fm5mKsZY7YBq0cYU,739
|
69
74
|
validmind/test_suites/time_series.py,sha256=msUyYySAe5VHJJp6z0k0cNt2ekMB8-XkxGER75Zs1hs,6724
|
70
|
-
validmind/tests/__init__.py,sha256=
|
75
|
+
validmind/tests/__init__.py,sha256=LEzglKuapj8Az6dvMcfm_xD5yoYGGivHCgwtrBtN7fk,13854
|
71
76
|
validmind/tests/__types__.py,sha256=qpviIvN-OGmgd9Kmw0kZ6HVjYe-IuaSCygXgZyNv1-8,1603
|
72
77
|
validmind/tests/data_validation/ACFandPACFPlot.py,sha256=__JowNXtc511g_g8VXc0IX7j6qBE5J_v7IoWUKmj_E8,4745
|
73
78
|
validmind/tests/data_validation/ANOVAOneWayTable.py,sha256=PEHFVJnFAK6Oy5RW1wJThEzri92THRgwQ45f6RXMGMI,6026
|
@@ -80,7 +85,7 @@ validmind/tests/data_validation/BivariateHistograms.py,sha256=2GWca2OynF1FVYkDE8
|
|
80
85
|
validmind/tests/data_validation/BivariateScatterPlots.py,sha256=5JuSs7I1JZaUpXwhGV9u_biMq4xJEUr3CHfh2JXv9JQ,5208
|
81
86
|
validmind/tests/data_validation/ChiSquaredFeaturesTable.py,sha256=ss6Ewgigch0Ck25Bn-cwNviWup9OOGH8KgDpfT8DiL4,6048
|
82
87
|
validmind/tests/data_validation/ClassImbalance.py,sha256=TkI67YUu1DdnRxup-sTo3h6aNS-2ww3LPFxMHnOwAHA,6922
|
83
|
-
validmind/tests/data_validation/DatasetDescription.py,sha256=
|
88
|
+
validmind/tests/data_validation/DatasetDescription.py,sha256=2ez3MyPhkgvJVXDctADQAayltZzfJAiP5Psv6XgxVuU,11401
|
84
89
|
validmind/tests/data_validation/DatasetSplit.py,sha256=JwhIIkxbTwsHAGyJfe1frVYybnd4290DoL6TXO_1Bbs,5127
|
85
90
|
validmind/tests/data_validation/DefaultRatesbyRiskBandPlot.py,sha256=lrVeFrw4rRND7sO2kpv0RHxks9xHQBqkNfz-IN0xw_0,4861
|
86
91
|
validmind/tests/data_validation/DescriptiveStatistics.py,sha256=oVjFO-mR5sMQwzGFrjN5UP9jugNy0nSRtNwPbcGthGk,6411
|
@@ -124,26 +129,29 @@ validmind/tests/data_validation/nlp/CommonWords.py,sha256=vrURXSTcfuPKDmcUJoCBuD
|
|
124
129
|
validmind/tests/data_validation/nlp/Hashtags.py,sha256=CVFvv6hTrB4Mb-b9WqHK1w1GUVs8J8gIrYP2v5OqPOo,4368
|
125
130
|
validmind/tests/data_validation/nlp/Mentions.py,sha256=4nhJQhZoOEPPjw00tmTmEzUP1lSGL6lHdyVwISBkujA,4673
|
126
131
|
validmind/tests/data_validation/nlp/Punctuations.py,sha256=5WI3Uu9EpdJ2FWBY2qBXRn6Nf4sldis0huq9QVbDaJ4,3867
|
127
|
-
validmind/tests/data_validation/nlp/StopWords.py,sha256=
|
128
|
-
validmind/tests/data_validation/nlp/TextDescription.py,sha256=
|
132
|
+
validmind/tests/data_validation/nlp/StopWords.py,sha256=YAwXyfoCLR8jLm7dlXknSpgUoN4JoBK3750hNByJ5FA,6131
|
133
|
+
validmind/tests/data_validation/nlp/TextDescription.py,sha256=27u4xpFX-FYuMcDVRkw3p1ajcCzd5TgaVkPIqOi8GJc,8718
|
129
134
|
validmind/tests/data_validation/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
135
|
+
validmind/tests/decorator.py,sha256=v9PevVM08FtKKHoXHRRrGt9OAKyWhzd3tBxsLSxX5ik,5611
|
130
136
|
validmind/tests/model_validation/BertScore.py,sha256=1BSgPQkxy2XhmOjlON6tAY_Lq8PQzfqXlFVqRX6Ad6o,4560
|
131
137
|
validmind/tests/model_validation/BertScoreAggregate.py,sha256=up6gqYCYM-RrSN9L4E32qR_obTwHms_VN49MHZYMhH0,3781
|
132
138
|
validmind/tests/model_validation/BleuScore.py,sha256=_WJv510lB2HEdBbdITMJnOZLx_lb5NBEK6h-39cixyk,3848
|
133
139
|
validmind/tests/model_validation/ClusterSizeDistribution.py,sha256=ev5_9VjH1DxMfMquijkTYuinZ9uFT0753emk-PbWo6g,4164
|
134
140
|
validmind/tests/model_validation/ContextualRecall.py,sha256=AEIJKkRT1SiR-Y9Pkl4VrgsjEKboJcttsjjY_RFeGOY,4801
|
141
|
+
validmind/tests/model_validation/MeteorScore.py,sha256=qcGo1xGDP9QOPb3MiyL5GWvStKHaC4EvPEZ7QS9G6us,4396
|
135
142
|
validmind/tests/model_validation/ModelMetadata.py,sha256=F9ctmlIxngkHgOlggRl0WFLilh46SlM3vYfY9zkhtYk,3733
|
136
|
-
validmind/tests/model_validation/RegardHistogram.py,sha256=
|
137
|
-
validmind/tests/model_validation/RegardScore.py,sha256=
|
138
|
-
validmind/tests/model_validation/RougeMetrics.py,sha256=
|
143
|
+
validmind/tests/model_validation/RegardHistogram.py,sha256=BdXTNPQIahNnYuCTSHd8Jqj0dUNtpGtCQuXFEDnUtVE,6160
|
144
|
+
validmind/tests/model_validation/RegardScore.py,sha256=5MqNjyX9y8OJWmEwKZuRt0IzZao27q4GVC9noxeCYDs,6181
|
145
|
+
validmind/tests/model_validation/RougeMetrics.py,sha256=AM7Foqhu52j0UD8ULQrUB9NnFdkWcGtF8YW-K_qMQmM,5802
|
139
146
|
validmind/tests/model_validation/RougeMetricsAggregate.py,sha256=mqTauD_joTSghAp3f6kB8WdgdDAv2M49UJsM4ICymiA,5213
|
147
|
+
validmind/tests/model_validation/SelfCheckNLIScore.py,sha256=Bp44I5ZNVutQ7iAPXyI3xB1vLt3nXoadCinae1ARPlc,5486
|
140
148
|
validmind/tests/model_validation/TokenDisparity.py,sha256=Fi-ut8imGEydcmtIv4eCjgqlV88POcE3BIMU10-UIqw,5465
|
141
149
|
validmind/tests/model_validation/ToxicityHistogram.py,sha256=t8ONPo5Uugp7Kg1LB_kkVeSaC51ok2wKuVpKW7w1BTE,5108
|
142
150
|
validmind/tests/model_validation/ToxicityScore.py,sha256=w4WdNgnxizlZ5ND2CghDA6A3M670TQNdy8SSWEAn6G8,5571
|
143
151
|
validmind/tests/model_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
144
152
|
validmind/tests/model_validation/embeddings/ClusterDistribution.py,sha256=PtS59NO2aTkBYvdCtH3rW28LnNtLY0IjdNhej8th5bs,3561
|
145
153
|
validmind/tests/model_validation/embeddings/CosineSimilarityDistribution.py,sha256=PZ0_mfowMZjJKTYOkQpY344x3LhgsAxIgGSgtfyxu40,3490
|
146
|
-
validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=
|
154
|
+
validmind/tests/model_validation/embeddings/DescriptiveAnalytics.py,sha256=6GRBbuSvKZZk3Tu0pnrvuAkNyNAA65HDxfadq34zShg,4256
|
147
155
|
validmind/tests/model_validation/embeddings/EmbeddingsVisualization2D.py,sha256=ZJperoku3tQzjWTtAdPFA8Dj6B1T5nAGVbdjw3CyWT8,4351
|
148
156
|
validmind/tests/model_validation/embeddings/StabilityAnalysis.py,sha256=L8nx-ihORWr9sAPLXcUwzgek9wfauQLaQkO4fCEtAMc,4185
|
149
157
|
validmind/tests/model_validation/embeddings/StabilityAnalysisKeyword.py,sha256=qXqGaK8OVcP6h_iEZOf_-5XtbOGpiU00RyI535deAm0,3907
|
@@ -152,7 +160,7 @@ validmind/tests/model_validation/embeddings/StabilityAnalysisSynonyms.py,sha256=
|
|
152
160
|
validmind/tests/model_validation/embeddings/StabilityAnalysisTranslation.py,sha256=mvAmv3PcysITo48GbMS-F_tHUAX_wmS173jrBhBB6mc,4573
|
153
161
|
validmind/tests/model_validation/sklearn/AdjustedMutualInformation.py,sha256=iUt8PJd7Q-nhfDkU0siZY5Gip_uzSCqwOjpd_WBuv2I,2892
|
154
162
|
validmind/tests/model_validation/sklearn/AdjustedRandIndex.py,sha256=Mb03a6R37GagRuy269TE8ZgaMaF3vngcH3-Um6SZYmg,2767
|
155
|
-
validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=
|
163
|
+
validmind/tests/model_validation/sklearn/ClassifierPerformance.py,sha256=Yhthf5DDlKjq-sy-yhLO2dL4ZoE0QTw8VSg7m8odrhE,5992
|
156
164
|
validmind/tests/model_validation/sklearn/ClusterCosineSimilarity.py,sha256=i0XyfOUnw-HrntRN9Si2sFdzszvVUQFB7nVp1AOD9fQ,5494
|
157
165
|
validmind/tests/model_validation/sklearn/ClusterPerformance.py,sha256=OTR7_JudQFkC5HnnuMKZOsEd-jRXYTtXUwQaLbSKGZM,5387
|
158
166
|
validmind/tests/model_validation/sklearn/ClusterPerformanceMetrics.py,sha256=iFbLvZkiYUDa9Lul1jX85TfrkwUAIkOhGTUrRlV3U4Y,8604
|
@@ -175,9 +183,9 @@ validmind/tests/model_validation/sklearn/RegressionErrors.py,sha256=Oo1ywVHv1hxi
|
|
175
183
|
validmind/tests/model_validation/sklearn/RegressionModelsPerformanceComparison.py,sha256=JUnmMb44YBdEcgjN4IOaYTkhP3GjaLW_w2pruyBbDvY,5522
|
176
184
|
validmind/tests/model_validation/sklearn/RegressionR2Square.py,sha256=4bvErRBYJqrMVDNCAzIPt9fgQVfdBAYOBY7L-1fgBjQ,4987
|
177
185
|
validmind/tests/model_validation/sklearn/RobustnessDiagnosis.py,sha256=JQTWfdocIHYYv69nzbC0M0GAh6ldUMfQ4TKK9jUnhCI,13780
|
178
|
-
validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=
|
186
|
+
validmind/tests/model_validation/sklearn/SHAPGlobalImportance.py,sha256=AbijM6XBmHj_YSvrbUaAOQ_73oS52EbhFVk8RcF8qPk,7655
|
179
187
|
validmind/tests/model_validation/sklearn/SilhouettePlot.py,sha256=FifZA2aL8SPgnD6T_mEDwCFgMjpce5cB8WO-WwvrFr8,6246
|
180
|
-
validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=
|
188
|
+
validmind/tests/model_validation/sklearn/TrainingTestDegradation.py,sha256=Z8C7JEwgCyODhsXimGeBckWuFJjboT9HlOqnqglJRV0,7291
|
181
189
|
validmind/tests/model_validation/sklearn/VMeasure.py,sha256=x2cdcN_Wh_hnfAsF715QgWBPbhZMi533PO-No84iEJ4,2772
|
182
190
|
validmind/tests/model_validation/sklearn/WeakspotsDiagnosis.py,sha256=5kprqZWReOZm14cYvxA0_DmFP9Kus1L82ha_yVVpu88,14245
|
183
191
|
validmind/tests/model_validation/sklearn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -208,7 +216,7 @@ validmind/tests/model_validation/statsmodels/RegressionModelOutsampleComparison.
|
|
208
216
|
validmind/tests/model_validation/statsmodels/RegressionModelSensitivityPlot.py,sha256=q30wFH7QRZKriVMXBmZVE2K30kjcb6zX4IVl1NHT2kA,7320
|
209
217
|
validmind/tests/model_validation/statsmodels/RegressionModelSummary.py,sha256=JsIvZDmZssB5EEzs_-dlYknmrybPqQOjQOOzmRMAZ_I,4359
|
210
218
|
validmind/tests/model_validation/statsmodels/RegressionModelsCoeffs.py,sha256=XTirM2uYbl-Idf1MooaTPZcrN1s5g-nibHUz5SdYfBg,4592
|
211
|
-
validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py,sha256=
|
219
|
+
validmind/tests/model_validation/statsmodels/RegressionModelsPerformance.py,sha256=8ZDm2_Mxms1o_RE_7pubJSY8fC_FEpG26LXYcm_555A,5452
|
212
220
|
validmind/tests/model_validation/statsmodels/ResidualsVisualInspection.py,sha256=ROF3y_akn0cxo6sA38aWElkleg0bcvQfttPc1pjJaHc,5771
|
213
221
|
validmind/tests/model_validation/statsmodels/RunsTest.py,sha256=TJdixri2vrrA4HUUpTYveoVzr7V9lcH6CJnPTLxSqms,3684
|
214
222
|
validmind/tests/model_validation/statsmodels/ScorecardBucketHistogram.py,sha256=pYMuUkIf5vHNC_EjTYBlmsA_SdfsXvHPVrLQOdcM5VU,6901
|
@@ -226,34 +234,47 @@ validmind/tests/prompt_validation/NegativeInstruction.py,sha256=1aqNV_vB5oM2_8UX
|
|
226
234
|
validmind/tests/prompt_validation/Robustness.py,sha256=VIQotugWQ32Q1kr1kacBuqk-q1EPTRi9NZAIYrTDsY0,6826
|
227
235
|
validmind/tests/prompt_validation/Specificity.py,sha256=v823rZAr9a810Q_RlgH7FqPPxXZ00hDJApkFaJJ8mgk,6116
|
228
236
|
validmind/tests/prompt_validation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
229
|
-
validmind/tests/prompt_validation/ai_powered_test.py,sha256=
|
237
|
+
validmind/tests/prompt_validation/ai_powered_test.py,sha256=pogmrOR2fTY34Tx5TXIs5Smjz09mdh5Kp4NifrmPrFY,2975
|
230
238
|
validmind/tests/test_providers.py,sha256=00H3loloGi2aw6yn2e8a072mcb7KNcplkA7LBP4NEDQ,8280
|
231
|
-
validmind/unit_metrics/__init__.py,sha256=
|
232
|
-
validmind/unit_metrics/
|
233
|
-
validmind/unit_metrics/
|
234
|
-
validmind/unit_metrics/
|
235
|
-
validmind/unit_metrics/
|
236
|
-
validmind/unit_metrics/
|
237
|
-
validmind/
|
239
|
+
validmind/unit_metrics/__init__.py,sha256=tzQ80uG1MR9F9b2rlMCkh-gAut09kmdG4hTClQGLk48,8192
|
240
|
+
validmind/unit_metrics/composite.py,sha256=VKgZQkr9YOEGt9ovdgzufQwjSS2kC1kCG3J5-bgv15k,9013
|
241
|
+
validmind/unit_metrics/regression/GiniCoefficient.py,sha256=FuHdtLefQZ4S2hQmONvw3g2plYvMT5PdJefK9yzOvgM,1228
|
242
|
+
validmind/unit_metrics/regression/HuberLoss.py,sha256=r5L7ICMXp_y65ewAT8yJsArRLrvZLhIWlTgvd2EYwL8,880
|
243
|
+
validmind/unit_metrics/regression/KolmogorovSmirnovStatistic.py,sha256=9-DnK2caPAntooU1R4L7vCA9yJFOWYzWRZKHAI-_kso,1221
|
244
|
+
validmind/unit_metrics/regression/MeanAbsolutePercentageError.py,sha256=rsPiBkAzQqgooai8Qvf4r_3wBUWhySUBDS537FNLbrQ,653
|
245
|
+
validmind/unit_metrics/regression/MeanBiasDeviation.py,sha256=a5fAVipVRvnyy_526bpV1WAeUQuVD8Vz9EJKaIPEFKE,618
|
246
|
+
validmind/unit_metrics/regression/QuantileLoss.py,sha256=XV_eNgeZPQGWgtgXC971fWrePnkvuJypBk1yCuqdAT4,749
|
247
|
+
validmind/unit_metrics/regression/sklearn/AdjustedRSquaredScore.py,sha256=3mOhYCeGNeCpnurHrngXs0vJd3BPx3xTV7vG_pUKieA,859
|
248
|
+
validmind/unit_metrics/regression/sklearn/MeanAbsoluteError.py,sha256=PksSI_a7Hw_ntLXzmBwSMV1HwEFYtG_O8oP0IlpIOY4,673
|
249
|
+
validmind/unit_metrics/regression/sklearn/MeanSquaredError.py,sha256=BLM24lUh_IuA6ygjhxGpCEsQ-WXBG44-VBf7n0f5p0k,670
|
250
|
+
validmind/unit_metrics/regression/sklearn/RSquaredScore.py,sha256=5EAjZN6unLeyXlZV4dr3b5exQImKiu86lUAnW890xlM,637
|
251
|
+
validmind/unit_metrics/regression/sklearn/RootMeanSquaredError.py,sha256=1MMO90-Dy3DehS5suPt2ajKKdwMu92GCNx0Xf4xX32E,702
|
252
|
+
validmind/unit_metrics/sklearn/classification/Accuracy.py,sha256=9Og0SQ2sryrkzl4GEv_0XY8hblBMjCFDDe2Padall4A,654
|
253
|
+
validmind/unit_metrics/sklearn/classification/F1.py,sha256=dq716DnpvuePv5svS2nFB_yPJQ-gYcuOinogP7Mn-QQ,659
|
254
|
+
validmind/unit_metrics/sklearn/classification/Precision.py,sha256=IglJT_vY979rZQQol1MZQXW3_dkknyjRi-2wv4_KrBI,680
|
255
|
+
validmind/unit_metrics/sklearn/classification/ROC_AUC.py,sha256=wyKqBSDtqiH-rO1_hA6rreKjWM4lbobSbHalvnk4G1E,651
|
256
|
+
validmind/unit_metrics/sklearn/classification/Recall.py,sha256=n-5yGenSAdtD1k59TFtYvlZZXfFbDuow-pcqv3m8bOg,648
|
257
|
+
validmind/utils.py,sha256=PechYJae9u_LjafOF5E88M641Re2nDu5L3SqeNlhH84,13757
|
238
258
|
validmind/vm_models/__init__.py,sha256=uOV4bUElAryj_d6gWZkdokY6JXWCXyYiemzrhbZ3H_U,1219
|
239
|
-
validmind/vm_models/dataset.py,sha256=
|
240
|
-
validmind/vm_models/figure.py,sha256=
|
259
|
+
validmind/vm_models/dataset.py,sha256=nhDNF54ydLXh3hs6bwwd9uU-Uzuwquj_YnOVau9zzjM,33717
|
260
|
+
validmind/vm_models/figure.py,sha256=iSrvPcCG5sQrMkX1Fh6c5utRzaroh3bc6IlnGDOK_Eg,6651
|
241
261
|
validmind/vm_models/model.py,sha256=f6hAy1J-UfVxLsSCu4VjpGyL-UnJWMivqkBB2Uhd2uU,4823
|
242
|
-
validmind/vm_models/test/metric.py,sha256=
|
262
|
+
validmind/vm_models/test/metric.py,sha256=diz1DD3i_XtppkeuYxFSPkj6kuUnpDXtnkptGWrWVUw,3965
|
243
263
|
validmind/vm_models/test/metric_result.py,sha256=Bak4GDrMlNq5NtgP5exwlPsKZgz3tWgtC6jZqtHjvqM,1987
|
244
|
-
validmind/vm_models/test/output_template.py,sha256=
|
264
|
+
validmind/vm_models/test/output_template.py,sha256=njqCAMyLxwadkCWhACVskyL9-psTgmUysaeeirTVAX4,1500
|
245
265
|
validmind/vm_models/test/result_summary.py,sha256=QJcIKJUeBf5wW3lyue6ctsi1jKSyoiAIfmjudGJiJtc,2028
|
246
|
-
validmind/vm_models/test/result_wrapper.py,sha256=
|
247
|
-
validmind/vm_models/test/test.py,sha256=
|
248
|
-
validmind/vm_models/test/threshold_test.py,sha256=
|
266
|
+
validmind/vm_models/test/result_wrapper.py,sha256=FU-P2GMpOxj0lFi0J5OzuGcRs1ayY5xT4F_RUtI99h8,13970
|
267
|
+
validmind/vm_models/test/test.py,sha256=kXx6XtO-9M_lhdipMxNKHIaseUaC_L-qo4rOM1XUd5w,3077
|
268
|
+
validmind/vm_models/test/threshold_test.py,sha256=fFpzsm0rUPdH1FTmyaRRvrvBDhbi5TE98a41AiY3HeY,4324
|
249
269
|
validmind/vm_models/test/threshold_test_result.py,sha256=EXP-g_e3NsnpkvNgYew030qVUoY6ZTHyuuFUXaq-BuM,1954
|
250
270
|
validmind/vm_models/test/unit_metric.py,sha256=w25r8ls-91z8gLA1wmSJN13z5DVMOdpk9cNJnBeIs3k,2556
|
251
|
-
validmind/vm_models/test_context.py,sha256=
|
252
|
-
validmind/vm_models/test_suite/runner.py,sha256=
|
271
|
+
validmind/vm_models/test_context.py,sha256=URm6YvK6ReRevngIIVSPmV2tdc4rRZaWbB6hlRKsOj4,9027
|
272
|
+
validmind/vm_models/test_suite/runner.py,sha256=U93TauwLNEbAgJIzBZ9k9ip9NnlTt0gACHVgfO7J9BI,6754
|
253
273
|
validmind/vm_models/test_suite/summary.py,sha256=h_r-gXsyTihCUdU4S5fzca832cI6FTMOVf1BZvcSPVU,4583
|
254
|
-
validmind/vm_models/test_suite/test.py,sha256=
|
274
|
+
validmind/vm_models/test_suite/test.py,sha256=cIa-6_YkFp7Io4wBkr09aFNmljmUFSagV4JreLd1Q6Y,5285
|
255
275
|
validmind/vm_models/test_suite/test_suite.py,sha256=X6bal6m_8l-cKnXKlz_CJAUY_FKdJ1B3zLqYLlOncwE,6244
|
256
|
-
validmind-2.0.
|
257
|
-
validmind-2.0.
|
258
|
-
validmind-2.0.
|
259
|
-
validmind-2.0.
|
276
|
+
validmind-2.0.7.dist-info/LICENSE,sha256=XonPUfwjvrC5Ombl3y-ko0Wubb1xdG_7nzvIbkZRKHw,35772
|
277
|
+
validmind-2.0.7.dist-info/METADATA,sha256=sC6gORZX37LPNc4PQvl6-YmEdlLa0TLwJ1ySm_OI2qE,3463
|
278
|
+
validmind-2.0.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
279
|
+
validmind-2.0.7.dist-info/entry_points.txt,sha256=HuW7YyOv9u_OEWpViQXtv0nfoI67uieJHawKWA4Hv9A,76
|
280
|
+
validmind-2.0.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|