code: def setUp(self):
      self.rand_data = pd.DataFrame(
          np.random.randint(0, 5, size=(int(1e4), 2)),
          columns=list("AB"),
      )
      self.rand_data["C"] = self.rand_data["B"]
      self.est_rand = HillClimbSearch(self.rand_data)
      k2score = K2Score(self.rand_data)
      self.score_rand = k2score.local_score
      self.score_structure_prior = k2score.structure_prior_ratio
  
      self.model1 = BayesianNetwork()
      self.model1.add_nodes_from(["A", "B", "C"])
      self.model1_possible_edges = set(
          [
              (u, v)
              for u in self.model1.nodes()
              for v in self.model1.nodes()
          ]
      )
  
      self.model2 = self.model1.copy()
      self.model2.add_edge("A", "B")
      self.model2_possible_edges = set(
          [
              (u, v)
              for u in self.model2.nodes()
              for v in self.model2.nodes()
          ]
      )
  
      # link to dataset: "https://www.kaggle.com/c/titanic/download/train.csv"
      self.titanic_data = pd.read_csv(
          "pgmpy/tests/test_estimators/testdata/titanic_train.csv"
      )
      self.titanic_data1 = self.titanic_data[
          ["Survived", "Sex", "Pclass", "Age", "Embarked"]
      ]
      self.est_titanic1 = HillClimbSearch(self.titanic_data1)
      self.score_titanic1 = K2Score(self.titanic_data1).local_score
  
      self.titanic_data2 = self.titanic_data[
          ["Survived", "Sex", "Pclass"]
      ]
      self.est_titanic2 = HillClimbSearch(self.titanic_data2)
      self.score_titanic2 = K2Score(self.titanic_data2).local_score
  
file_path: pgmpy/pgmpy/tests/test_estimators/test_HillClimbSearch.py
imports: import unittest
  import numpy
  import pandas
  from pgmpy.estimators import HillClimbSearch, K2Score
  from pgmpy.models import BayesianNetwork
label_desc: Use image node_id 1 for calling the TestHillClimbEstimator obj's underlying member method code with example usage: obj.setUp() without return types