def METHOD_NAME():
    data = get_data()
    city_comparison = get_city_comparison()
    city_comparison["comparison_levels"][1]["tf_adjustment_weight"] = 0.5
    settings = {
        "link_type": "dedupe_only",
        "comparisons": [city_comparison],
        "blocking_rules_to_generate_predictions": ["l.city = r.city"],
        "retain_matching_columns": True,
        "retain_intermediate_calculation_columns": True,
    }
    linker = DuckDBLinker(data, settings, connection=":memory:")
    df_predict = linker.predict()
    results = filter_results(df_predict)
    bf_no_adj = results["London"]["bf_city"]
    bf_adj = results["London"]["bf_tf_adj_city"]
    bf = bf_no_adj * bf_adj
    # Expected value is 5.0 for no adjust
    # With no weighting, target value is 1.25
    # Adjustment would be 5.0/1.25 = 0.25 if no weighting was applied
    assert pytest.approx(bf) == bf_no_adj * 0.25**0.5
    bf_no_adj = results["Birmingham"]["bf_city"]
    bf_adj = results["Birmingham"]["bf_tf_adj_city"]
    bf = bf_no_adj * bf_adj
    # With no weighting, target value is 6.25
    # Adjustment would be 6.25/5.0 = 1.25 if no weighting was applied
    assert pytest.approx(bf) == bf_no_adj * 1.25**0.5
    bf_no_adj = results["Truro"]["bf_city"]
    bf_adj = results["Truro"]["bf_tf_adj_city"]
    bf = bf_no_adj * bf_adj
    # With no weighting, target value is 4.0
    # Adjustment would be 25/5.0 = 5 if no weighting was applied
    assert pytest.approx(bf) == bf_no_adj * 5**0.5