python实现模糊逻辑_基于Python的大数据集模糊逻辑

我的团队一直致力于在两个大数据集上运行模糊逻辑算法。

第一个(子集)大约是180K行,包含我们需要在第二个(超集)中匹配的人的姓名、地址和电子邮件。超集包含250万条记录。两者都具有相同的结构,并且数据已经被清理,即地址解析、名称规范化等ContactID int,

FullName varchar(150),

Address varchar(100),

Email varchar(100)

目标是将一行子集中的值与超集中的相应值相匹配,这样输出将结合子集和超集以及每个字段(标记)对应的相似性百分比。在ContactID,

LookupContactID,

FullName,

LookupFullName,

FullName_Similarity,

Address,

LookupAddress,

Address_Similarity,

Email,

LookupEmail,

Email_Similarity

为了简化和测试代码,我们首先连接了字符串,我们知道代码可以在非常小的超集上工作;但是,一旦我们增加记录的数量,它就会卡住。我们尝试过不同的算法,Levenshtein,fuzzyfuzzy等,但都没有结果。在我看来,问题是Python一行一行地执行它;但是,我不确定。我们甚至尝试过在Hadoop集群上使用流媒体来运行它;但是,它没有产生任何积极的结果。在#!/usr/bin/env python

import sys

from fuzzywuzzy import fuzz

import datetime

import time

import Levenshtein

#init for comparison

with open('normalized_set_record_set.csv') as normalized_records_ALL_file:

# with open('delete_this/xab') as normalized_records_ALL_file:

normalized_records_ALL_dict = {}

for line in normalized_records_ALL_file:

key, value = line.strip('\n').split(':', 1)

你可能感兴趣的:(python实现模糊逻辑)