class_docstr: Iterative process to estimate target quantile of a univariate distribution.
  
  Unlike the base class, this uses a NoPrivacyQuery to estimate the fraction
  below estimate with an exact denominator, so there are no privacy guarantees.
docstr: Initializes the NoPrivacyQuantileEstimatorQuery.
  
  Args:
    initial_estimate: The initial estimate of the quantile.
    target_quantile: The target quantile. I.e., a value of 0.8 means a value
      should be found for which approximately 80% of updates are less than the
      estimate each round.
    learning_rate: The learning rate. A rate of r means that the estimate will
      change by a maximum of r at each step (for arithmetic updating) or by a
      maximum factor of exp(r) (for geometric updating). Andrew et al.
      recommends that this be set to 0.2 for geometric updating.
    geometric_update: If True, use geometric updating of estimate. Geometric
      updating is preferred for non-negative records like vector norms that
      could potentially be very large or very close to zero.
docstr_tok: ["Initializes","the","NoPrivacyQuantileEstimatorQuery",".","Args",":","initial_estimate",":","The","initial","estimate","of","the","quantile",".","target_quantile",":","The","target","quantile",".","I.e.",",","a","value","of","0.8","means","a","value","should","be","found","for","which","approximately","80","%","of","updates","are","less","than","the","estimate","each","round",".","learning_rate",":","The","learning","rate",".","A","rate","of","r","means","that","the","estimate","will","change","by","a","maximum","of","r","at","each","step","(","for","arithmetic","updating",")","or","by","a","maximum","factor","of","exp","(","r",")","(","for","geometric","updating",")",".","Andrew","et","al",".","recommends","that","this","be","set","to","0.2","for","geometric","updating",".","geometric_update",":","If","True",",","use","geometric","updating","of","estimate",".","Geometric","updating","is","preferred","for","non-negative","records","like","vector","norms","that","could","potentially","be","very","large","or","very","close","to","zero","."]
code: def __init__(
      self,
      initial_estimate,
      target_quantile,
      learning_rate,
      geometric_update=False,
  ):
      """Initializes the NoPrivacyQuantileEstimatorQuery.
  
      Args:
        initial_estimate: The initial estimate of the quantile.
        target_quantile: The target quantile. I.e., a value of 0.8 means a value
          should be found for which approximately 80% of updates are less than the
          estimate each round.
        learning_rate: The learning rate. A rate of r means that the estimate will
          change by a maximum of r at each step (for arithmetic updating) or by a
          maximum factor of exp(r) (for geometric updating). Andrew et al.
          recommends that this be set to 0.2 for geometric updating.
        geometric_update: If True, use geometric updating of estimate. Geometric
          updating is preferred for non-negative records like vector norms that
          could potentially be very large or very close to zero.
      """
      super().__init__(
          initial_estimate,
          target_quantile,
          learning_rate,
          below_estimate_stddev=None,
          expected_num_records=None,
          geometric_update=geometric_update,
      )
  
imports: import collections
  import tensorflow
  from tensorflow_privacy.privacy.dp_query import dp_query
  from tensorflow_privacy.privacy.dp_query import gaussian_query
  from tensorflow_privacy.privacy.dp_query import no_privacy_query
  from tensorflow_privacy.privacy.dp_query import normalized_query
  from tensorflow_privacy.privacy.dp_query import tree_aggregation_query
label_desc: Use image node_id 1 to create a new NoPrivacyQuantileEstimatorQuery object from inherited base classes: QuantileEstimatorQuery with example: obj = NoPrivacyQuantileEstimatorQuery(initial_estimate, target_quantile, learning_rate, geometric_update)