code: def test_integration():
      X = np.array(
          [
              [1, 99, 43, 34],
              [1, 76, 22, 10],
              [0, 83, 11, 0],
              [0, 99, 74, 33],
              [0, 53, 40, 34],
          ]
      )
      y = np.array([1, 0, 1, 1, 0])
  
      rfr = RuleFitRegressor(
          exp_rand_tree_size=False,
          n_estimators=500,
          random_state=1,
          include_linear=False,
          max_rules=None,
          alpha=0.1,
      )
      rfr.fit(X, y)
      print(len(rfr._get_rules()))
      expected = np.array(
          [0.83333333, 0.25, 0.83333333, 0.83333333, 0.25]
      )
      assert np.allclose(rfr.predict(X), expected, atol=1.0e-04)
  
      rfr = RuleFitRegressor(
          exp_rand_tree_size=False,
          n_estimators=5,
          random_state=0,
          max_rules=None,
          alpha=0.01,
      )
      rfr.fit(X, y)
      expected = np.array(
          [0.89630491, 0.15375469, 0.89624531, 1.05000033, 0.00369476]
      )
      assert np.allclose(rfr.predict(X), expected)
  
      rfr = RuleFitRegressor(
          exp_rand_tree_size=False,
          n_estimators=5,
          random_state=0,
          max_rules=None,
          alpha=0.01,
          tree_generator=RandomForestClassifier(),
      )
      rfr.fit(X, y)
  
file_path: imodels/tests/rulefit_test.py
imports: import numpy
  from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier
  from sklearn.exceptions import ConvergenceWarning
  from sklearn.utils._testing import ignore_warnings
  from imodels.rule_set.rule_fit import RuleFitRegressor
  from imodels.util.transforms import FriedScale
label_desc: Use image node_id 2 for calling a global function with example usage: test_integration() without return types