Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into gaugup/ReleaseRAIUtils0.4.0
Browse files Browse the repository at this point in the history
gaugup authored Feb 22, 2023
2 parents 08e1846 + 727786d commit 73497a4
Showing 3 changed files with 34 additions and 1 deletion.
1 change: 1 addition & 0 deletions responsibleai/responsibleai/_internal/constants.py
Original file line number Diff line number Diff line change
@@ -32,6 +32,7 @@ class Metadata(object):
CATEGORY_DICTIONARY = 'category_dictionary'
CATEGORICAL_INDEXES = 'categorical_indexes'
STRING_IND_DATA = 'string_ind_data'
NUMBER_LARGE_TEST_SAMPLES = 'number_large_test_samples'


class ListProperties(object):
7 changes: 6 additions & 1 deletion responsibleai/responsibleai/rai_insights/rai_insights.py
Original file line number Diff line number Diff line change
@@ -896,14 +896,19 @@ def _save_metadata(self, path):
feature_metadata_dict = None
if self._feature_metadata is not None:
feature_metadata_dict = self._feature_metadata.to_dict()
if self._large_test is not None:
number_large_test_samples = len(self._large_test)
else:
number_large_test_samples = len(self.test)
meta = {
Metadata.TARGET_COLUMN: self.target_column,
Metadata.TASK_TYPE: self.task_type,
Metadata.CATEGORICAL_FEATURES: self.categorical_features,
Metadata.CLASSES: classes,
Metadata.FEATURE_COLUMNS: self._feature_columns,
Metadata.FEATURE_RANGES: self._feature_ranges,
Metadata.FEATURE_METADATA: feature_metadata_dict
Metadata.FEATURE_METADATA: feature_metadata_dict,
Metadata.NUMBER_LARGE_TEST_SAMPLES: number_large_test_samples
}
with open(top_dir / Metadata.META_JSON, 'w') as file:
json.dump(meta, file)
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright (c) Microsoft Corporation
# Licensed under the MIT License.

import json
from pathlib import Path
from tempfile import TemporaryDirectory

@@ -43,6 +44,16 @@ def do_large_data_validations(self, rai_insights):
[], [], use_entire_test_data=True)
assert len(filtered_large_data) == len(rai_insights.test) + 1

def validate_number_of_large_test_samples_on_save(
self, rai_insights, path):
top_dir = Path(path)
with open(top_dir / 'meta.json', 'r') as meta_file:
meta = meta_file.read()
meta = json.loads(meta)
assert 'number_large_test_samples' in meta
assert meta['number_large_test_samples'] == \
len(rai_insights._large_test)

def validate_rai_insights_for_large_data(
self, model, train_data, test_data,
target_column,
@@ -68,6 +79,9 @@ def validate_rai_insights_for_large_data(
# save the rai_insights
rai_insights.save(path)

self.validate_number_of_large_test_samples_on_save(
rai_insights, path)

# load the rai_insights
rai_insights = RAIInsights.load(path)

@@ -115,6 +129,16 @@ def do_non_large_data_validations(self, rai_insights):
[], [], use_entire_test_data=True)
assert len(filtered_large_data) == len(rai_insights.test)

def validate_number_of_large_test_samples_on_save(
self, rai_insights, path):
top_dir = Path(path)
with open(top_dir / 'meta.json', 'r') as meta_file:
meta = meta_file.read()
meta = json.loads(meta)
assert 'number_large_test_samples' in meta
assert meta['number_large_test_samples'] == \
len(rai_insights.test)

def validate_rai_insights_for_non_large_data(
self, model, train_data, test_data,
target_column,
@@ -133,6 +157,9 @@ def validate_rai_insights_for_non_large_data(
# save the rai_insights
rai_insights.save(path)

self.validate_number_of_large_test_samples_on_save(
rai_insights, path)

# load the rai_insights
rai_insights = RAIInsights.load(path)

0 comments on commit 73497a4

Please sign in to comment.