class_docstr: Convert evaluate result json to DataFrame for report generator,
  and analysis model robustness according to linguistic classification.
  
  Example::
  
      {
          "model_name": "BERT",
          "dataset_name": "medical data",
          "transformation": {
              "Case": {
                  "ori_precision": 0.70,
                  "trans_precision": 0.65,
                  "ori_f1": 0.63,
                  "trans_f1": 0.60,
                  "size": 5000,
              },
              "Ocr": {
                  "ori_precision": 0.72,
                  "trans_precision": 0.43,
                  "ori_f1": 0.62,
                  "trans_f1": 0.41,
                  "size": 5000,
              }
          },
          "subpopulation": {
              "LengthLengthSubPopulation-0.0-0.1": {
                  "trans_precision": 0.68,
                  "trans_f1": 0.63,
                  "size": 500
              }
          },
          "attack": {
              "Bert-Attack": {
                  "ori_precision": 0.72,
                  "trans_precision": 0.43,
                  "ori_f1": 0.62,
                  "trans_f1": 0.41,
                  "size": 400,
              }
          }
      }
docstr: Get radar score by calculate average metric decreasing ratio.
  
  :param dict trans_json: evaluation result of specific
      transformation.
  :return: pandas.DataFrame
docstr_tok: ["Get","radar","score","by","calculate","average","metric","decreasing","ratio",".",":","param","dict","trans_json",":","evaluation","result","of","specific","transformation",".",":","return",":","pandas.DataFrame"]
code: def radar_score(trans_json):
      """
      Get radar score by calculate average metric decreasing ratio.
  
      :param dict trans_json: evaluation result of specific
          transformation.
      :return: pandas.DataFrame
  
      """
      assert isinstance(trans_json, dict), (
          f"transformation evaluation should be dict type, "
          f"given {type(trans_json)}"
      )
  
      original_result, transform_result = Analyzer.get_metrics(
          trans_json
      )
      decreasing_ratio = []
  
      for metric in original_result:
          ori_score = float(original_result[metric])
          trans_score = float(transform_result[metric])
          decreasing_ratio.append(
              max(0, (ori_score - trans_score) / ori_score)
          )
  
      return reduce(lambda x, y: x + y, decreasing_ratio) / len(
          decreasing_ratio
      )
  
imports: import pandas
  import numpy
  from functools import reduce
  from copy import deepcopy
  from collections import OrderedDict
  from ...common.utils import logger
label_desc: Use image node_id 6 for calling the Analyzer obj's underlying member method code with example usage: obj.radar_score(trans_json) and returns: unknown