def test_get_numeric_features_to_observed_range(self): example = test_utils.make_fake_example(single_int_val=2) data = inference_utils.get_numeric_features_to_observed_range( [example]) # Returns a sorted list by feature_name. self.assertDictEqual( { 'repeated_float': { 'observedMin': 1., 'observedMax': 4., }, 'repeated_int': { 'observedMin': 10, 'observedMax': 20, }, 'single_float': { 'observedMin': 24.5, 'observedMax': 24.5, }, 'single_int': { 'observedMin': 2., 'observedMax': 2., }, }, data)
def test_get_numeric_features_to_observed_range(self): example = test_utils.make_fake_example(single_int_val=2) data = inference_utils.get_numeric_features_to_observed_range( [example]) # Returns a sorted list by feature_name. self.assertDictEqual( { "repeated_float": { "observedMin": 1.0, "observedMax": 4.0, }, "repeated_int": { "observedMin": 10, "observedMax": 20, }, "single_float": { "observedMin": 24.5, "observedMax": 24.5, }, "single_int": { "observedMin": 2.0, "observedMax": 2.0, }, }, data, )
def _eligible_features_from_example_handler(self, request): """Returns a list of JSON objects for each feature in the example. Args: request: A request for features. Returns: A list with a JSON object for each feature. Numeric features are represented as {name: observedMin: observedMax:}. Categorical features are repesented as {name: samples:[]}. """ features_dict = ( inference_utils.get_numeric_features_to_observed_range( self.examples[0:NUM_EXAMPLES_TO_SCAN])) features_dict.update( inference_utils.get_categorical_features_to_sampling( self.examples[0:NUM_EXAMPLES_TO_SCAN], NUM_MUTANTS)) # Massage the features_dict into a sorted list before returning because # Polymer dom-repeat needs a list. features_list = [] for k, v in sorted(features_dict.items()): v['name'] = k features_list.append(v) return http_util.Respond(request, features_list, 'application/json')
def _eligible_features_from_example_handler(self, request): """Returns a list of JSON objects for each feature in the example. Args: request: A request for features. Returns: A list with a JSON object for each feature. Numeric features are represented as {name: observedMin: observedMax:}. Categorical features are repesented as {name: samples:[]}. """ features_dict = ( inference_utils.get_numeric_features_to_observed_range( self.examples[0: NUM_EXAMPLES_TO_SCAN])) features_dict.update( inference_utils.get_categorical_features_to_sampling( self.examples[0: NUM_EXAMPLES_TO_SCAN], NUM_MUTANTS)) # Massage the features_dict into a sorted list before returning because # Polymer dom-repeat needs a list. features_list = [] for k, v in sorted(features_dict.items()): v['name'] = k features_list.append(v) return http_util.Respond(request, features_list, 'application/json')