Difference between revisions of "Matchcode Optimization:Dice's Coefficient"

From Melissa Data Wiki
Jump to navigation Jump to search
(Created page with "{{MatchcodeOptimizationNav |AlgorithmsCollapse= }} ==Dice’S Coefficient== ===Specifics=== *https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient ===Summary=...")
 
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
}}
 
}}
  
==Dice’S Coefficient==
+
==Dice’s Coefficient==
 
===Specifics===
 
===Specifics===
*https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient
+
:*https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient
  
 
===Summary===
 
===Summary===
Like Jaro, Dice counts matching n-Grams (discarding duplicate NGRAMs).
+
:Like Jaro, Dice counts matching n-Grams (discarding duplicate NGRAMs).
  
 
===Returns===
 
===Returns===
Percentage of similarity
+
:Percentage of similarity
  
2 * (commonDiceGrams) / (dicegrams1 + dicegrams2)
+
:2 * (commonDiceGrams) / (dicegrams1 + dicegrams2)
  
NGRAM is defined as the length of common strings this algorithm looks for.  Matchup’s default is NGRAM = 2. For “ABCD” vs “GABCE”, Matching NGRAMS would be “AB” and “BC”.
+
:NGRAM is defined as the length of common strings this algorithm looks for.  Matchup’s default is NGRAM = 2. For “ABCD” vs “GABCE”, Matching NGRAMS would be “AB” and “BC”.
  
dicegramsX is defined as the number of unique NGRAMS found in stringX.
+
:dicegramsX is defined as the number of unique NGRAMS found in stringX.
  
commonDiceGrams is defined as the number of common NGRAMS between the two strings.
+
:commonDiceGrams is defined as the number of common NGRAMS between the two strings.
  
 
===Example Matchcode Component===
 
===Example Matchcode Component===
Line 27: Line 27:
 
{{ExampleDataTableV1|STRING1|STRING2|RESULT
 
{{ExampleDataTableV1|STRING1|STRING2|RESULT
 
|AdditionalRows=
 
|AdditionalRows=
{{EDTRow|White|Johnson|Jhnsn|Unique
+
{{EDTRow|White|Johnson|Jhnsn|Unique}}
{{EDTRow|White|Maguire|Mcguire|Match Found
+
{{EDTRow|Green|Maguire|Mcguire|Match Found}}
{{EDTRow|Green|Beaumarchais|Bumarchay|Unique
+
{{EDTRow|White|Beaumarchais|Bumarchay|Unique}}
{{EDTRow|Green|Apco Oil Lube 170|Apco Oil Lube 342|Match Found
+
{{EDTRow|Green|Apco Oil Lube 170|Apco Oil Lube 342|Match Found}}
 +
}}
  
  
Line 41: Line 42:
  
 
===Recommended Usage===
 
===Recommended Usage===
Hybrid deduper, where a single incoming record can quickly be evaluated independently against each record in an existing large master database.  Databases created with abbreviations or similar word substitutions.
+
:Hybrid deduper, where a single incoming record can quickly be evaluated independently against each record in an existing large master database.  Databases created with abbreviations or similar word substitutions.
  
 
===Not Recommended For===
 
===Not Recommended For===
Large or Enterprise level batch runs.  Since the algorithm must be evaluated for each record comparison, throughput will be very slow.
+
:Large or Enterprise level batch runs.  Since the algorithm must be evaluated for each record comparison, throughput will be very slow.
  
Databases created via real-time data entry where audio likeness errors are introduced.
+
:Databases created via real-time data entry where audio likeness errors are introduced.
  
 
===Do Not Use With===
 
===Do Not Use With===
UTF-8 data. This algorithm was ported to MatchUp with the assumption that a character equals one byte, and therefore results may not be accurate if the data contains multi-byte characters.
+
:UTF-8 data. This algorithm was ported to MatchUp with the assumption that a character equals one byte, and therefore results may not be accurate if the data contains multi-byte characters.
  
  
 
[[Category:MatchUp Hub]]
 
[[Category:MatchUp Hub]]
 
[[Category:Matchcode Optimization]]
 
[[Category:Matchcode Optimization]]

Latest revision as of 23:04, 26 September 2018

← MatchUp Hub

Matchcode Optimization Navigation
Matchcode Optimization
First Component
Fuzzy Algorithms
Swap Matching
Blank Matching
Advanced Component Types
Algorithms
Accunear
Alphas
Consonants
Containment
Dice's Coefficient
Double Metaphone
Exact
Fast Near
Frequency
Frequency Near
Jaccard Similarity Coefficient
Jaro
Jaro-Winkler
Longest Common Substring (LCS)
MD Keyboard
Needleman-Wunsch
N-Gram
Numeric
Overlap Coefficient
Phonetex
Smith-Waterman-Gotoh
Soundex
UTF8 Near
Vowels


Dice’s Coefficient

Specifics

Summary

Like Jaro, Dice counts matching n-Grams (discarding duplicate NGRAMs).

Returns

Percentage of similarity
2 * (commonDiceGrams) / (dicegrams1 + dicegrams2)
NGRAM is defined as the length of common strings this algorithm looks for. Matchup’s default is NGRAM = 2. For “ABCD” vs “GABCE”, Matching NGRAMS would be “AB” and “BC”.
dicegramsX is defined as the number of unique NGRAMS found in stringX.
commonDiceGrams is defined as the number of common NGRAMS between the two strings.

Example Matchcode Component

MCO Algorithm DicesCoefficient.png

Example Data

STRING1 STRING2 RESULT
Johnson Jhnsn Unique
Maguire Mcguire Match Found
Beaumarchais Bumarchay Unique
Apco Oil Lube 170 Apco Oil Lube 342 Match Found



Performance
Slower Faster
Matches
More Matches Greater Accuracy


Recommended Usage

Hybrid deduper, where a single incoming record can quickly be evaluated independently against each record in an existing large master database. Databases created with abbreviations or similar word substitutions.

Not Recommended For

Large or Enterprise level batch runs. Since the algorithm must be evaluated for each record comparison, throughput will be very slow.
Databases created via real-time data entry where audio likeness errors are introduced.

Do Not Use With

UTF-8 data. This algorithm was ported to MatchUp with the assumption that a character equals one byte, and therefore results may not be accurate if the data contains multi-byte characters.