docstr: Calculate MSE between actual and target action distribution.
docstr_tok: ["Calculate","MSE","between","actual","and","target","action","distribution","."]
code: def get_target_distribution_error(
      self, actions, target_distribution, actual_distribution
  ):
      """Calculate MSE between actual and target action distribution."""
      if not target_distribution:
          return None
      error = 0
      for i, action in enumerate(actions):
          error += (
              target_distribution[i] - actual_distribution[action]
          ) ** 2
      return error / len(actions)
  
file_path: ReAgent/reagent/evaluation/evaluator.py
imports: import logging
  from collections import Counter
  from typing import Dict, List, Optional
  import torch
  import torch.nn.functional
  from reagent.core.tracker import observable
  from reagent.evaluation.cpe import CpeDetails, CpeEstimateSet
  from reagent.evaluation.doubly_robust_estimator import DoublyRobustEstimator
  from reagent.evaluation.evaluation_data_page import EvaluationDataPage
  from reagent.evaluation.sequential_doubly_robust_estimator import SequentialDoublyRobustEstimator
  from reagent.evaluation.weighted_sequential_doubly_robust_estimator import WeightedSequentialDoublyRobustEstimator
label_desc: Use image node_id 5 for calling the Evaluator obj's underlying member method code with example usage: obj.get_target_distribution_error(actions, target_distribution, actual_distribution) and returns: unknown, None