Comments (1)
At least you get an error if you use it as a Comparison
but that wouldn't be guaranteed if using as a ComparisonLevel
example
from splink.datasets import splink_datasets
from splink.duckdb.comparison_library import (
exact_match,
)
from splink.duckdb.linker import DuckDBLinker
exact_match("surname", term_frequency_adjustments=True, set_to_lowercase=True).as_dict()
df = splink_datasets.fake_1000
settings = {
"probability_two_random_records_match": 0.01,
"link_type": "dedupe_only",
"blocking_rules_to_generate_predictions": ["l.dob = r.dob"],
"comparisons": [
{
"output_column_name": "first_name",
"comparison_levels": [
{
"sql_condition": '"first_name_l" IS NULL OR "first_name_r" IS NULL',
"label_for_charts": "Null",
"is_null_level": True,
},
{
"sql_condition": 'lower("first_name_l") = lower("first_name_r")',
"label_for_charts": "Exact match",
"tf_adjustment_column": "first_name",
"tf_adjustment_weight": 1.0,
},
{"sql_condition": "ELSE", "label_for_charts": "All other comparisons"},
],
"comparison_description": "Exact match vs. anything else",
},
exact_match("surname"),
exact_match("dob"),
],
"retain_intermediate_calculation_columns": True,
"additional_columns_to_retain": ["cluster"],
"max_iterations": 10,
"em_convergence": 0.01,
}
linker = DuckDBLinker(df, settings)
linker.profile_columns(
["first_name", "surname", "first_name || surname", "concat(city, first_name)"]
)
linker.estimate_u_using_random_sampling(target_rows=1e6)
blocking_rule = "l.dob = r.dob"
linker.estimate_parameters_using_expectation_maximisation(blocking_rule)
linker.predict()
ValueError: Could not find an exact match level for first_name.
An exact match level is required to make a term frequency adjustment on a comparison level that is not an exact match.
Although that's for a different reason than the true error
from splink.
Related Issues (20)
- Unable to retrieve m and u Estimates from the Saved Model
- [Splink 4] Find new matches can be simplified by creating a new linker
- [FEAT] Add GitHub action to sort/update custom dictionary HOT 3
- [FEAT] Split out system installs from spellchecker bash script HOT 2
- [MAINT] Ensure consistent capitalisation when referencing functions named after people
- [FEAT] Scala 2.13 support? HOT 4
- Can't train for M values on Databricks HOT 4
- [FEAT] Rename cols in graph metric tables
- [FEAT] Add cluster metrics to cluster studio
- Allow `__splink__df_concat` to be computed without `linker` HOT 2
- M values aren't trained for a column HOT 3
- `linker.estimate_u_using_random_sampling` fails with default arguments, with no clear indication why HOT 3
- [FEAT] Allow training m without a blocking rule with a sample of the input records
- Notebook test sometimes fails HOT 4
- CI tests are not caching environment HOT 1
- [FEAT] Seed for comparison_viewer_dashboard?
- threshold_selection_tool_from_labels_table does not work using spark HOT 2
- [FEAT] Cluster evaluation - summary statistics
- [FEAT] Cluster evaluation - with ground truth data
- Sql syntax error: HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from splink.