def METHOD_NAME(config="../../config.yaml", namespace=""):
    # obtain config
    if isinstance(config, str):
        config = load_job_config(config)
    parties = config.parties
    guest = parties.guest[0]
    host = parties.host[0]
    arbiter = parties.arbiter[0]
    guest_train_data = {"name": "dvisits_hetero_guest", "namespace": f"experiment{namespace}"}
    host_train_data = {"name": "dvisits_hetero_host", "namespace": f"experiment{namespace}"}
    pipeline = PipeLine().set_initiator(role='guest', party_id=guest).set_roles(guest=guest, host=host, arbiter=arbiter)
    reader_0 = Reader(name="reader_0")
    reader_0.get_party_instance(role='guest', party_id=guest).component_param(table=guest_train_data)
    reader_0.get_party_instance(role='host', party_id=host).component_param(table=host_train_data)
    data_transform_0 = DataTransform(name="data_transform_0")
    data_transform_0.get_party_instance(
        role='guest',
        party_id=guest).component_param(
        with_label=True,
        label_name="doctorco",
        label_type="float",
        output_format="dense")
    data_transform_0.get_party_instance(role='host', party_id=host).component_param(with_label=False)
    intersection_0 = Intersection(name="intersection_0")
    hetero_poisson_0 = HeteroPoisson(name="hetero_poisson_0", early_stop="weight_diff", max_iter=3,
                                     alpha=100.0, batch_size=-1, learning_rate=0.01, optimizer="rmsprop",
                                     exposure_colname="exposure", decay_sqrt=False, tol=0.001,
                                     callback_param={"callbacks": ["ModelCheckpoint"]},
                                     init_param={"init_method": "zeros"}, penalty="L2")
    hetero_poisson_1 = HeteroPoisson(name="hetero_poisson_1", early_stop="weight_diff", max_iter=10,
                                     alpha=100.0, batch_size=-1, learning_rate=0.01, optimizer="rmsprop",
                                     exposure_colname="exposure", decay_sqrt=False, tol=0.001, penalty="L2")
    evaluation_0 = Evaluation(name="evaluation_0", eval_type="regression", pos_label=1)
    evaluation_0.get_party_instance(role='host', party_id=host).component_param(need_run=False)
    pipeline.add_component(reader_0)
    pipeline.add_component(data_transform_0, data=Data(data=reader_0.output.data))
    pipeline.add_component(intersection_0, data=Data(data=data_transform_0.output.data))
    pipeline.add_component(hetero_poisson_0, data=Data(train_data=intersection_0.output.data))
    pipeline.add_component(hetero_poisson_1, data=Data(train_data=intersection_0.output.data),
                           model=Model(model=hetero_poisson_0.output.model))
    pipeline.add_component(evaluation_0, data=Data(data=hetero_poisson_1.output.data))
    pipeline.compile()
    pipeline.fit()