code: def data_with_weights():
      """Training data with weights"""
      n = 10000
      np.random.seed(666)
      x1 = np.random.normal(loc=0.0, scale=1.0, size=n)
      x2 = np.random.normal(loc=0.0, scale=1.0, size=n)
      x1 = x1 / np.std(x1)
      x2 = x2 / np.std(x2)
      y = 10 + (5 * x1) + (20 * x2)
      y[(n // 2) :] = 20 + (-20 * x2[(n // 2) :])
      w = np.array([0] * (n // 2) + [1] * (n // 2))
      df = pd.DataFrame({"y": y, "x1": x1, "x2": x2, "w": w})
      model_formula_str = "y ~ -1 + x1 + x2"
      return {
          "design_mat_info": design_mat_from_formula(
              df=df,
              model_formula_str=model_formula_str,
              pred_cols=None,
              y_col=None,
          ),
          "df": df,
          "model_formula_str": model_formula_str,
      }
  
imports: import warnings
  import numpy
  import pandas
  import pytest
  import scipy
  from pandas.testing import assert_frame_equal
  from patsy import dmatrices
  from greykite.algo.common.ml_models import breakdown_regression_based_prediction
  from greykite.algo.common.ml_models import design_mat_from_formula
  from greykite.algo.common.ml_models import fit_ml_model
  from greykite.algo.common.ml_models import fit_ml_model_with_evaluation
  from greykite.algo.common.ml_models import fit_model_via_design_matrix
  from greykite.algo.common.ml_models import get_h_mat
  from greykite.algo.common.ml_models import get_intercept_col_from_design_mat
  from greykite.algo.common.ml_models import predict_ml
  from greykite.algo.common.ml_models import predict_ml_with_uncertainty
  from greykite.algo.uncertainty.conditional.conf_interval import predict_ci
  from greykite.common.constants import ERR_STD_COL
  from greykite.common.constants import QUANTILE_SUMMARY_COL
  from greykite.common.constants import TimeFeaturesEnum
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.evaluation import calc_pred_err
  from greykite.common.features.timeseries_features import build_time_features_df
  from greykite.common.features.timeseries_features import fourier_series_multi_fcn
  from greykite.common.features.timeseries_features import get_fourier_col_name
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import gen_sliced_df
label_desc: Use image node_id 2 for calling a global function with example usage: data_with_weights() and returns: dict