class_docstr: Inference rule that checks for string columns with low cardinality to count ratio.
  
  The ratio is calculated as `distinct_count/(count - null_count)`.
docstr: Initialize the rule.
  
  cardinality_count_ratio_threshold: rations below this threshold will match.
docstr_tok: ["Initialize","the","rule",".","cardinality_count_ratio_threshold",":","rations","below","this","threshold","will","match","."]
code: def __init__(self, cardinality_count_ratio_threshold: float) -> None:
      """Initialize the rule.
  
      cardinality_count_ratio_threshold: rations below this threshold will match.
      """
      assert (
          cardinality_count_ratio_threshold >= 0
          and cardinality_count_ratio_threshold <= 1
      )
      self.threshold = cardinality_count_ratio_threshold
      super().__init__()
  
file_path: metricflow/metricflow/inference/rule/rules.py
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Callable, List, TypeVar
  from metricflow.inference.context.data_warehouse import ColumnProperties, DataWarehouseInferenceContext
  from metricflow.inference.models import InferenceSignal, InferenceSignalConfidence, InferenceSignalNode
  from metricflow.inference.rule.base import InferenceRule
label_desc: Use image node_id 1 to create a new LowCardinalityRatioRule object from inherited base classes: ColumnMatcherRule with example: obj = LowCardinalityRatioRule(cardinality_count_ratio_threshold)